Best practices for Add-on development


  • You should develop add-ons on an empty Sitefinity CMS project. 
    This will limit any external factors that are part of the development of a particular website and that might interfere with the exported add-on.

    IMPORTANT: If you want to export an add-on from an already developed website, you must make sure that the produced NuGet contains only the required content and assemblies.

  • You should do custom development, for example custom widgets and modules, in separate projects in order to enable the packaging of the add-on. Separate projects containing custom code can be easily referenced in the add-on .nuspec file.
  • We recommend to develop the add-on in a Continuous delivery process, where you can produce and test the add-on properly.
    For more information, see Create add-ons.
  • We recommend to install and activate an add-on in a Continuous delivery process, where you can ensure that the add-on works properly and does not break the project.
    For more information, see Install and activate add-ons.

Types of development

The different aspects of development fall in two categories:

  • Server-side development
    Usually consists of development of custom CMS widgets, services, modules, etc. It does not include the styling of HTML, creating and using CSS, creating widget or page templates.
  • Client-side development 
    Usually consists of development related to the visual representation of the produced markup - creating and using CSS, creating and editing widget and page templates.

Server-side and client-side development can be done separately, having highly specialized experts working on each, or could be spread across people with roles that have a broader skillset. Following the guidelines listed below will facilitate the use of either approach.

Was this article helpful?