Take the community feedback survey now.
                AI OnAI Off
            
        Take the community feedback survey now.
Found a way by implementing a custom IMetaDataProvider
Seems to work fine.
 public class CustomEpiserverMetadataProvider : IMetadataProvider
 {
     private IMetadataProvider _defaultMetadataProvider;
     public CustomEpiserverMetadataProvider (IMetadataProvider metadataProvider)
     {
         _defaultMetadataProvider = metadataProvider;
     }
     public ExtendedMetadata CreateMetadata(IEnumerable attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
     {
         return _defaultMetadataProvider.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
     }
     public IEnumerable GetMetadataForProperties(object container, Type containerType)
     {
         var metadataForProperties = _defaultMetadataProvider.GetMetadataForProperties(container, containerType).ToList();
         if (container is PromotionData)
         {
             foreach (var propertyMetadata in metadataForProperties)
             {
                 if (propertyMetadata.PropertyName == nameof(PromotionData.Description))
                 {
                     propertyMetadata.UIHint = "my-custom-ui-hint"; // Replace the default UIHint "textarea" with our custom editor
                 }
             }
         }
         return metadataForProperties;
     }
 }
Registering it using a InitializationModule
  [InitializableModule]
  [ModuleDependency(typeof(InitializableModule))]
  public class CustomEpiserverMetadataProviderRegistration : IInitializableModule
  {
      public void Initialize(InitializationEngine context)
      {
          var registry = context.Locate.Advanced.GetInstance();
          var metadataHandlers = registry.GetMetadataHandlers(typeof(ContentData));
          IMetadataProvider defaultMetadataProvider = (IMetadataProvider)metadataHandlers.FirstOrDefault(i => i is IMetadataProvider);
          registry.RegisterMetadataHandler(typeof(ContentData),new CustomEpiserverMetadataProvider(defaultMetadataProvider));
      }
      public void Preload(string[] parameters) { }
      public void Uninitialize(InitializationEngine context) { }
  }
                        
    
    
    
Is it possible to switch the editor for
PromotionData.Descriptionto a custom one instead of "textarea"?I have tried this to see if I can modify the metadata, but no success.
Decompiled PromotionData class