Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more
Jun 29, 2018
Oct 12, 2018
Closed, Acceptance tests pass
Provide Forms support for multiple MAI connector.
1. Developers can create an instance of IExternalSystem and register it with the Forms.
var efmService = ServiceLocator.Current.GetInstance<ExternalSystemService>(); var custom1 = new CustomExternalSystem("Custom_1"); custom1.Datasources = GetSomeDatasources(custom1); var custom2 = new CustomExternalSystem("Custom_2"); custom2.Datasources = GetSomeDatasources(custom2); efmService.RegisterExternalSystem(custom1); efmService.RegisterExternalSystem(custom2);
2. Forms also automatically activate ExternalSystem with the default constructor and register with Forms. Developers can override to change this default behavior.
3. Allow the display name of the ExternalSystem by ID. Will get DisplayName localization resource from xml path:
/episerver/forms/externalsystems/{system.Id}/displayname
If that resource does not exist, fallback to the default one (like previous version):
/episerver/forms/externalsystems/{system.GetType().FullName}/displayname
IMPLEMENT: API changes
1. Introduce a new service, ExternalSystemService, for working with external systems:
2. Obsolete the property IPostSubmissionActor.ActiveExternalFieldMappingTable, since the Actors should NOT know about the mappings. If you want to have a mapping table in Actors, use IExternalFieldMappingService.GetActiveFieldMappingTables to retrieve them.