Subscribe to our blog!

Subscribe
upgrade

Q & A: All that you need to know about Sitefinity Upgrades

  • security vulnerability
  • verification
  • Best Practices
  • Upgrade
By on

Argo have found numerous cases where clients come to us with questions about upgrading Sitefinity applications. Some are stuck at the beginning wondering where to start from, while others have tried and failed during the process.

Upgrades does not have to be painful, time-consuming and stressful! In fact, even roller-skating is fun if you know how to do it or have the right guidance, right?

We will try to reply to the most common questions and look through common mistakes in a Q&A session as part of this blog plus providing tips and best practices during the process.

Let’s begin!

Why upgrading?


As any product, Sitefinity CMS is relying on major and minor releases to introduce new functionality, resolve existing issues (yes, those bugs that we know for years!) and improve performance. In the recent years, Sitefinity is also investing quite a lot into optimizing the user journey in the backend of the system. From minimal UI to faster page load – all is in plan or already done.

There is one more important reason!

In the past two years Sitefinity team is heavily testing the system for any security vulnerabilities that might pop up and is regularly posting updates and informing community through Knowledge Base articles. It is good to pay attention and make sure you follow advices.

Example:

https://knowledgebase.progress.com/articles/Article/Security-Advisory-for-Resolving-Security-vulnerabilities-November-2019

When to upgrade?

The reasons could be from the trivial “get latest and greatest” to get resolution or workaround to some of  the “feature requests” that you are longing to be done for a long time.

For common cases, it is recommended to not wait more than 2 major releases to upgrade since the longer you wait, more API changes might come up and the upgrade might take more time.

Sitefinity team is now performing 2 to 3 major releases annually and numerous hotfixes and patches.

Tip: We know how exciting it is but wait 1-2 weeks before upgrading to the very latest official release. Sometimes hotfixes appear to resolve issues that have not been caught during regression testing from Sitefinity team.

What is a feature request?

Got new idea? Lacking a functionality in Sitefinity? You may follow the procedure explained in details here: https://knowledgebase.progress.com/articles/Article/How-to-submit-a-Sitefinity-feature-request and submit a so called “feature request”.

Feature requests submissions are closely monitored by the Product Management team and reviewed on the planning phase of each new release. Once a Feature request is submitted the Sitefinity Community will have the opportunity to comment and vote on it.

The more votes you get, the higher the chance to get a resolution in the upcoming releases.

What is included with the latest version?


Official release notes for major releases and hotfixes can be found here: https://www.progress.com/sitefinity-cms/release-notes.

Keep in mind that the release notes are regularly referring to specific documentation articles, so that you may dig deeper into the “new kid on the block”.

Tip: If a release number ends with “00”, e.g. 12.2.7200 it is normally a major release. Any other digit could mean a hotfix or a patch.

In addition, Sitefinity team is posting information about patches that you may find here: https://community.progress.com/community_groups/sitefinity/patch-notificationsandrelease-notes/f/294/t/60304

Do I need a new license for my upgrade?


If you are upgrading to another major Sitefinity version (e.g. 12.1 to 12.2), then you will need a new license. You do not have to necessarily download a new .lic file if you perform an upgrade for a minor version or hotfix except if this is explicitly stated by the Sitefinity team.

Check this Knowledge Base article from Sitefinity team for instructions: https://knowledgebase.progress.com/articles/Article/Download-Sitefinity-license

Once downloaded, you need to place the license in ~/AppData/Sitefinity folder in order to browse the upgraded site.

How to perform an upgrade?


1. Smoke test your current Sitefinity application before anything else!

Clients tend to perform an upgrade and then identify that a logic was not working correctly even before the upgrade. To not wonder whether this is a regression, make sure to go through the backend and frontend of your application and verify all is working and behaving correctly.

2. Backup your project and database before you start upgrading!

3. Follow Sitefinity’s documentation article for upgrade procedure according to your source version: https://www.progress.com/documentation/sitefinity-cms/upgrade

Pay special attention to the .NET framework versions.  

Is changing my license edition an upgrade?


You may have to choose to go from Professional to Enterprise edition for example for the same Sitefinity version. Want to know the differences? Check here for more details: https://www.progress.com/sitefinity-cms/editions

This is still an upgrade but no coding is needed 😊 So, you only need to obtain a new license file and enable the new features by Activating corresponding modules in the Sitefinity backend through Administration -> Modules & Services section. Check here for details from the Sitefinity documentation: https://www.progress.com/documentation/sitefinity-cms/activate-and-deactivate-modules

My project does not use NuGet packages. What now?


It’s alright! Everyone has their own reasons. In good old Sitefinity days before 7.3 we were not using NuGet packages too – the Sitefinity Project Manager comes to help 😊 Check this documentation article or drop us a line and let’s see how to help.

My project is on an old Sitefinity version. Should I upgrade version by version?


No need! Just install the target Sitefinity NuGet package through the Package Manager Console. E.g.

Install-Package Telerik.Sitefinity.All –Version X.X.XXXX.0 

I am receiving errors after installing new NuGet packages. What to do now?

Well, there could be many reasons why this is happening. Make sure to check in the Sitefinity’s Knowledge Base articles – your issue might be there. If help is still needed, feel free to reach out to us!

My project compiles successfully but I am receiving runtime error: Could not load file or assembly …

You can encounter this type of error after upgrading Sitefinity CMS to a higher version or after adding new NuGet package to it.  The solution is to add a binding redirect in your web.config file. Check official Sitefinity documentation article for more details: https://www.progress.com/documentation/sitefinity-cms/problem-could-not-load-file-or-assembly

I am using a class library with utilities logic that uses Sitefinity API. Do I have to still install Telerik.Sitefinity.All package?


No. Telerik.Sitefinity.All contains dependencies to a numerous other Sitefinity features which most probably you are not using. Instead, install Telerik.Sitefinity.Core as it contains the minimum possible assemblies to work with the API.

 

My project contains API changes that are listed as breaking changes in Sitefinity’s documentation. What now?


This immediately means that you need to allocate more time to investigate, fix and test properly the new changes. There could be small fixes but, in some cases, even rewrites on existing website functionality. In any case, better to do it with a trusted vendor. Check how Argo differs from other vendors.

How to verify my upgrade?

 

Thorough testing is key for assuring that all existing and new features and functionality are working correctly. We normally check a couple of things after we see "Successful upgrade":

a) Check references and assembly versions

Make sure that all references in the project are found and that the Sitefinity assemblies are showing the correct target Sitefinity version and are coming from the NuGet packages folder.

b) Check UpgradeTrace.log

Sitefinity’s upgrade scripts module by module are ran and Sitefinity is logging information whether success or failed via Microsoft Enterprise Library in a special .log file in ~/AppData/Sitefinity/Logs, named UpgradeTrace.log. Make sure to quickly run through it and check if all messages say PASSED.

b) Check Modules & Services

Through the Sitefinity’s backend, navigate to Administration -> Modules and Services and go through the list to see if any of the modules are with status failed. You may find more information about the fail in the Error.log, located in ~/AppData/Sitefinity/Logs folder.

c) Smoke testing

Go through the site’s backend and frontend and confirm that all logic is working correctly. Check for JavaScript errors, try to create new content from the backend, e.g. News item and make sure it is published correctly and visible on the frontend.

Tip: Sitefinity is upgrading only modules that are Active during the time of the upgrade. Make sure that your desired modules are not Deactivated in Administration -> Modules & Services section or they will not be upgraded. To make sure whether a specific module is upgraded, got to the sf_module_vrsn database table and verify that the version against the module name match the target version of Sitefinity. You can still trigger an upgrade of this module if you Activate it through the backend and soft restart the Sitefinity application.

d) Verify all custom logic

Go through your 3rd party integration logic (if you have any) and make sure the pages display information correctly. If you receive any errors, check if they are due to API breaking changes.

How Argo differs from other vendors?

Many vendors and customers fall into the trap to look at things from a closed perspective asking the trivial questions – e.g. what the existing version is, any 3rd party integrations, technology – WebForms vs MVC and prepare a quote.

The devil is in the details!

We start with an assessment prior to the upgrade.

The assessment’s main goal is to get more information about specific project integrations, good or bad practices during development that might impact maintainability and upgradability of the project, potential risks due to customizations and API that have changed with latest versions plus many more.
Our clients receive detailed information on what features exactly they will benefit from when going to a specific target Sitefinity version with or without extra cost so that they can make an informed decision.

Experience shows that a badly written project on older Sitefinity versions will not improve drastically with latest Sitefinity versions!

Even more – clients need the right strategy to have a minimal downtime when deploying the upgraded solution to Production. There are various approaches to upgrade in load balancing, use continuous delivery, etc.

Argo Ventures Digital is an award-winning agency with “from the kitchen” experience on various projects in insurance, banking and governmental organizations. We love challenges and have a proven record of trusted clients who became our long-term partners.

There is no tough problem, just not enough coffee 😊

Want to try us?


Write us at hello@argoventuresdigital.com and we are happy to start this journey together.

Anything to add to this list?

We are planning to update the list and most probably have missed bits and bobs. Feel free to write us in comments and let's discuss.

Back To List

By continuing to use this website you are agreeing to its use of cookies. To find out more, please see our cookie policy.