For the upcoming Sitefinity 9.0 release we plan improvements which will ease the deployment process and will allow the effortless inclusion of Sitefinity projects in a Continuous Delivery setup.
Please, review and let us know what you think! Is there anything important we are missing?
Sitefinity 9.0 Deployment Improvements:
Enabled Deployment of Sitefinity Data Structures
(Dynamic Modules, Custom Fields, Custom Taxonomies, etc.)
Certain user actions in Sitefinity result in data structure updates. These include creating dynamic modules and content types, adding/removing custom fields, etc. Currently, you need to repeat those actions on each environment where you want to apply such updates.
To illustrate with Dynamic Modules:
1) First, you need to create it on the local machine.
2) Then, you need to manually recreate it on each next environment (Stating, Live, etc)
In Sitefinity 9.0 it will be possible to export Sitefinity Data Structures (Dynamic Modules, Custom fields, Custom Taxonomies) to a files in App_Data, and then deploy these files to other environments. The files will contain the module structure and custom fields. On the receiving environment the Sitefinity database will be updated to contain the dynamic structures specified in the file.
This will enable the deployments of Dynamic modules, custom fields. and custom taxomies.
Simplified Deployment of Upgraded Configurations
Currently, you need to upgrade Sitefinity configs on the local machine and then on each environment separately. This adds unnecessary steps to the deployment process, such as:
1) Excluding upgraded configs from the check-ins to source control, and
2) Merging upgraded configs from live environment to source control.
In Sitefinity 9.0 it will be possible to upgrade configs on the local machine and deploy the updated files to other environments. This will eliminate the need for the steps above and will simplify the upgrade process.
Simplified Dynamic Modules Config
Currently, creating or updating Dynamic Modules stores all default configurations of the module in a DynamicModulesConfig file. With the addition of new Dynamic modules, the DynamicModulesConfig file becomes very big and hard to maintain and merge.
In Sitefinity 9.0 we’ll simplify the storage of Dynamic Modules configurations. The default module configurations will no longer be stored in the DynamicModulesConfig file. Only updates made by developers will be exported as separate config files split per type and per view.
To illustrate, if the backend list view of Album content type from Knowledge base dynamic module is updated, the following config files will be generated: KnwldgBse.AlbumBackendList.config.
This will reduce greatly the size of DynamicModulesConfig. Also, it will ease the tracking of updates made to the default Dynamic Modules.
We are planning to release a Beta in a month,and you can test the improvements above.
In the meanwhile, any feedback is appreciated!