Extend forms connectors definitions

If you have custom connector and you want it to have settings in the forms detail dialogs. You can achieve this using FormsConnectorDefinitionsExtender.

Add custom controls to forms section separated for the connectors, by performing the following:

  1. Create your own class and implement the abstract FormsConnectorDefinitionsExtender.
  2. Use the AddConnectorsSettings method to attach your custom controls to the form dialogs. Use the following sample:

    NOTE: Sitefinity CMS supports only the following definition elements as section fields: TextFieldDefinitionElement, ChoiceFieldElement, and TaxonFieldDefinitionElement.

    NOTE: FormsConnectorDefinitionsExtender.ConnectorName and IModuleConnectionStatus.ModuleName must be equal.

  3. Implement the IModuleConnectionStatus interface

    Sitefinity CMS displays the warning Connection to [Connector Title] is not set or lost. Check your connector settings and try again when the following conditions are met:

    • Your connector does not implement the IModuleConnectionStatus interface.
    • The action callback of the IModuleConnectionStatus.ExecuteIfConfigured method was not executed.

    To prevent showing this warning to the Sitefinity CMS user, implement the interface as the following example:

  4. Register your classes in the following way:

    The Ordinal property is used to sort the connectors settings.

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?