Work with decoupled modules

Overview

By default, a Sitefinity CMS installation comes in two packages:

  • The Full package, containing all modules
  • The Light package, containing only core modules.

Depending on your use case, you may be utilizing only some Sitefinity CMS modules. In such cases, you may choose to use one of the two packages. In addition, you can disable the modules that are not used or add only modules that you want to use. This way, the precompiled logic of the disabled modules remains in the project /bin folder and gets loaded by the IIS application pool process, but the modules’ initialization logic is not executed every time Sitefinity CMS application starts.

By decoupling the system modules, Sitefinity CMS offers you an advanced mechanism for handling such scenarios. This way, you can selectively install only the required modules and optimize your website startup time and the IIS application pool memory consumption.

PREREQUISITES: To be able to use decoupled modules and select between the Full-modules package and the Light package, you must install Sitefinity CMS using NuGet packages. For more information, see Install Sitefinity CMS.

If you are not using all Sitefinity CMS modules, you might consider installing the light package. Then, add on top of it the modules you need. When creating projects via NuGet packages, you have two options:

Full package

You install all modules of Sitefinity CMS by installing the Telerik.Sitefinity.All NuGet package in your application.

This package contains the full set of Sitefinity CMS modules.

Light package

You can install only Sitefinity CMS core modules by installing the Progress.Sitefinity NuGet package in your application.

This package contains a light version of Sitefinity CMS with a core set of modules.

Add modules to the Light package

The following list of modules is not included in the Light package. If you want to use the Light package, but need some of the modules that are not included, you can selectively add the desired modules, by installing the following NuGet packages:

    • Progress.Sitefinity.ABTesting
    • Telerik.Sitefinity.Analytics
    • Telerik.Sitefinity.AuditTrail
    • Telerik.Sitefinity.Diagnostics
    • Telerik.Sitefinity.DigitalExperienceCloudConnector
    • Progress.Sitefinity.Forums
    • Progress.Sitefinity.MobileFormats
    • Telerik.Sitefinity.Packaging
    • Telerik.Sitefinity.RecycleBin
    • Telerik.Sitefinity.SitemapGenerator
    • Telerik.Sitefinity.SiteSync
    • Progress.Sitefinity.WebSecurity
    • Telerik.Sitefinity.AmazonCloudSearch
    • Telerik.Sitefinity.Amazon
    • Telerik.Sitefinity.Azure
    • Telerik.Sitefinity.Audit.Elasticsearch
    • Telerik.Sitefinity.SharepointConnector
    • Telerik.Sitefinity.MarketoConnector
    • Telerik.Sitefinity.SalesForceConnector
    • Progress.Sitefinity.EloquaConnector
    • Progress.Sitefinity.HubSpotConnector
    • Progress.Sitefinity.NativeChatConnector
    • Telerik.Sitefinity.Translations

Remove unused modules

You can remove unused modules from existing projects, by performing in one of the following ways:

  • Using the backend UI
    In Sitefinity CMS backend, navigate to Administration » Modules & Services.
    Expand the Actions menu of the module and click Uninstall.
    For more information, see Activate and deactivate modules.
  • If your project is using NuGet packages, uninstall the package.
  • If your project is not using NuGet packages, remove the references to the module assembly from your project references.
    Then delete the module assembly from the project /bin folder.

Build the project.

When you uninstall a module, Sitefinity CMS removes it from its configuration files. If, in addition, you remove the module from the project references and the project /bin folder, the IIS application pool no longer loads the module assembly, thus, decreasing your website memory consumption.

Performance benefits of Progress.Sitefinity package

When you install the Light package of Sitefinity CMS, you are loading fewer modules on startup, which improves the memory consumption and lowers startup time by up to 30%. The following table demonstrates the metrics comparison between a blank project running with the full set of modules and a blank project running with the light version of Sitefinity CMS:

Metric

Progress.Sitefinity

Telerik.Sitefinity.All

Size

393 MB

484 MB

Project setup time

110 sec

138 sec

Startup time

9.6 sec

15.6 sec

DB size (initial schema)

73 MB

73 MB

w3wp memory

(395 – 445) MB

(440 – 512) MB

NOTE: The above metrics are provided for demonstration purposes only. They illustrate the effect of running the Light Sitefinity CMS package. The results vary depending on your setup and hosting configuration.

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

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. 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?