More in this section
Blogs RSS feed

Sitefinity 4.0 CTP – 1 Click Upgrades

by Gabe Sumner

As of this writing, there is one public release of Sitefinity 4.0.  However, we are planning several additional releases (CTP2, CTP3, BETA, etc) in the coming weeks.  Our goal with Sitefinity 4.0 is to make installation effortless.  However, we also want to make Sitefinity upgrades effortless.

Sitefinity 4.0’s Project Manager contains an Upgrade button.  This button, when clicked, upgrades the selected web site to the current version.  One click and it’s done.  Period.

 Upgrading projects using the Sitefinity 4.0 CTP Project Manager

However, the devil is in the details and this blog post contains information about how we’re making Sitefinity upgrades safe & easy.

Highly Customizable and Easy to Upgrade.  How is this possible?

We encourage developers to extend and customize Sitefinity.  However, one of the challenges with Sitefinity 3.x was migrating those customizations to newer versions.  During upgrades it was easy to accidently overwrite customizations.  In other cases, minor incompatibilities might cause customizations to break.

To overcome these challenges, we’ve implemented several safeguards to ensure upgrades are painless and that your customizations are protected.  For example:

99% of Sitefinity’s files are embedded in Sitefinity’s assemblies

This is a practice we started with Sitefinity 3.6, and are now fully implementing in Sitefinity 4.0.  Everything that can be embedded is embedded in Sitefinity 4.0.  This practice vastly reduces the number of files included in Sitefinity:

Graph of the number of files in Sitefinity

During upgrades the Project Manager updates Sitefinity’s assemblies (DLL files).  Everything outside these core assemblies is considered your stuff and will not be overwritten.  Fewer files, fewer conflicts, fewer problems.  In addition, Sitefinity 4.0 will include a user-friendly web-based tool for extracting and customizing embedded templates.  This will eliminate the need to manually map to an external template.

Reduced reliance on the web.config

Sitefinity configuration settings are now stored in Sitefinity-specific XML files (~/App_Data/Sitefinity/Configuration), not the web.config. 

The web.config file in Visual Studio

Because Sitefinity 4.0 minimizes its reliance on the web.config it becomes very unlikely that the web.config file will become an issue during upgrades.

Testing, testing and more testing

Ivan Osmak recently announced on Twitter that Sitefinity 4.0 contains over 4,000 (and counting) unit tests.  In addition, we have dedicated testers who are adept at finding issues that might not be covered by our unit tests.   This heavy emphasis on testing will inform us of most compatibility issues long before these issues surface in customer projects. 

Try it for yourself

We’ve done a lot planning and work to create an environment that is easy to customize and easy to upgrade.  However, we want to hear your own experiences!  If you haven’t already, please download the Sitefinity 4.0 CTP

In the coming weeks, we plan to distribute an updated release.  This new release will give you an opportunity to see these 1-click upgrades in action.  As always, we welcome your feedback in the Sitefinity 4.0 Forums.

Leave a comment