In 2016 a brand new Sitefinity version was introduced - 9.0. As usual the release provided several fixes to outstanding bugs and new functionality. However, what makes Sitefinity 9.0 a must-have is the support of top-wanted features that the CMS was lacking before.
Here are our top 9 reasons why you should upgrade to Sitefinity 9.0:
1) Support for continuous delivery of content structures and data
In previous versions of Sitefinity different approaches were used to migrate different components of the CMS:
- Code changes – migrated between environments via source control and usage of publishing packages.
- Configurations – migrated the same way as the source code with the help of configuration transformations so that, for example, connection strings for different environments are used according to the environments.
- Content structure – imagine you have a Dynamic module on both your Dev and UAT environments but the Dev process requires a creation of a new field. Normally you can create the field in the Dev environment and then use Sitefinity staging and syncing module to transfer to UAT. Another approach is to use schema comparison and potential SQL scripts to replicate the same structure.
Sitefinity 9.0 features major improvements in the migration of content and structures between environments. Instead of the manually intensive processes listed above, all structure and data changes can be exported in a specific Sitefinity folder on the File system. After you transfer the folder to the next environment, upon initialization, Sitefinity automatically applies all the changes.
2) Transfer configurations during upgrade
Previously all modules and services information were stored in the SystemConfig.config file, giving details about which modules were enabled/disabled, errors, (if any) during the activation of a module and what the versions of the modules were. For example:
<add startupType=“Disabled“ name=“Multisite“ />
<add version=“7.3.5610.0“ name=“Scheduling“ />
<add version=“7.3.5610.0“ name=“Search“ />
<add version=“7.3.5610.0“ name=“News“ />
<add version=“7.3.5610.0“ name=“Blogs“ />
<add version=“7.3.5610.0“ name=“Events“ />
<add version=“7.3.5610.0“ name=“Libraries“ />
<add version=“7.3.5610.0“ name=“Forms“ />
<add version=“7.3.5610.0“ name=“Lists“ />
This previously required manual upgrades or merge of changes on the SystemConfig.config file across environments.
With Sitefinity 9, versions and error data of modules are no longer kept in configurations but in the database in a specific dedicated table with the name sfmodulevrsns. Similar as in previous upgrades, modules that are deactivated during the upgrade process will not be upgraded. The upgrade scripts for them will run once after they are activated. You will still be able to see error messages for upgrades in the UpgradeTrace.config file.
3) Simplified Dynamic Modules configurations
Currently right after the creation of the first dynamic module with the Module Builder, a specific DynamicModulesConfig.config file was created on the file system. This module was used as a reference for what is inside the backend definitions – properties, controls, etc.
With Sitefinity9.0 the DynamicModulesConfig.config file is no longer created right after the activation of the first module. Instead, all module configurations are kept in the database. Config file is created only if there is a change in the DynamicModule configurations from the Advanced settings of Sitefinity. This no longer pushes you to create config transformations when working with different environments. Most importantly - the file size of the config files is reduced.
4) MVC Multi-page forms
Up to now you were able to use Sitefinity forms for different questionnaires on your web applications, however, it was not possible to have them in more than one page. It is now possible to create longer questionnaires across more than one page. Two new widgets were introduced by Sitefinity Feather to help you in the journey – Page break and Form Navigation widgets. Page break widget displays Next or Submit button, depending on your preferences. Form Navigation widget helps you in the navigation between pages.
5) Precompilation of Feather widget templates
Normally for every Sitefinity module Feather generates view templates automatically and stores them in the database. Templates are compiled when they are rendered which gives a small latency due to the time that the template is retrieved from the database.
In order to optimize the performance of your application, you can now enable precompilation of the widget templates so that they can be ready to be rendered once a widget is requested.
6) Brand new backend theme
Take the backend editing experience to a new level by applying the new “Light” theme.
You can enable the theme from Sitefinity’s backend as shown in the picture below:
The new theme appears after a soft restart and it looks similar to the pictures below:
7) Multilingual media support
All your media files; images, documents and videos can have different alternative text, titles, tags, etc translated according to your current culture. This is extremely helpful for projects supporting multilingual environments.
It is possible to translate image properties from EN (default language) to FR (additional frontend language) the same way as you would translate Pages in Sitefinity – by clicking on the language icon:
As a result French pages will display only French versions of images with their properties translated.
In the database, again similar as for other content items, additional rows are added for the additional languages.
8) Content-as-a-Service support
No need to think about a way to overcome Sitefinity authentication to use Sitefinity’s News service any more. From now on Sitefinity 9.0 provides a new easier capability to integrate 3-rd party systems. You can easily create your own services from Sitefinity’s backend that can manipulate Sitefinity’s content items and give them different access permissions:
Each registered service has an automatically created reference by Sitefinity API for better understanding on the CRUD operation on items:
9) DEC improvements: 360 degrees view of Contact Profiles and Contact data import from files
Digital Experience Cloud is improved with a brand new CSV File Upload connector that allows upload of offline data about contacts. You must only keep the required input format for the connector. Contact Profiles are extended so that now instead of the demographic list, they support 360 degrees view. The view gives the ability to see a full list of Conversions, Touchpoints and full interactions log per contact.