Work with decoupled modules
By default, a Sitefinity CMS installation comes with all modules included. Depending on your use case scenario you might be utilizing only certain Sitefinity modules.
Sitefinity CMS offers you an advanced mechanism for handling such scenarios, by decoupling the system modules. This way you can selectively install only the necessary modules and optimize your website startup time and ApplicationPool memory consumption.
Installing the all modules package vs. the light package
NOTE: To be able to select between the all modules package and 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 instead of the full package and then add on top of it the modules you need. Since Sitefinity CMS 12.0, when creating projects via NuGet packages, you have two options:
- You can install the Telerik.Sitefinity.All package – this package contains the full set of Sitefinity CMS modules
- You can install the Progress.Sitefinity package – this package contains a light version of Sitefinity CMS with a core set of modules. You can then selectively add the desired modules via the following NuGet packages:
- Progress.Sitefinity.ABTesting
- Telerik.Sitefinity.AuditTrail
- Telerik.Sitefinity.Dashboard
- Telerik.Sitefinity.Diagnostics
- Telerik.Sitefinity.DigitalExperienceCloudConnector
- Progress.Sitefinity.Ecommerce
- 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
- Telerik.Sitefinity.Translations
Performance benefits when running the Progress.Sitefinity package
When you install the light version of Sitefinity CMS, you are loading less modules on startup and this results in improved memory consumption and up to 30% faster startup time. 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:
Package name / 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, to better illustrate the effect of running the light Sitefinity CMS package. Some of the results may vary depending on your setup and hosting configuration.
Removing unused modules from existing projects
You can remove unused modules from existing projects. The removal process consists of deactivating and uninstalling the module, and then cleaning up the module reference and assembly files. When you uninstall a module, Sitefinity CMS takes care of removing it from its configuration files. Removing it from the project references and /bin
folder ensures the module assembly is no longer loaded by the IIS ApplicationPool, thus decreasing your website memory consumption. To remove an unused module, follow these steps:
- From your website administrative backend navigate to Administration » Modules & Services
- Using the Actions context menu, delete the module you wish to remove. For more information see Activate and deactivate modules.
- If your project is using NuGet packages, remove 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