Sitefinity Migration Analyzer
Overview
You use the Sitefinity Migration Analyzer to assess the state of your Sitefinity CMS project, gain visibility on which front-end frameworks (Web Forms, MVC, ASP.NET Core, or Next.js) are used in your project, and what part you need to migrate to a supported front-end rendering technology. Thus, you plan the time and resources needed to perform the migration.
When you run the Sitefinity Migration Analyzer, it collects information about the used page templates, pages, and widgets, and displays interactive reports. You use these reports to gain insight into your project's current usage of front-end frameworks and estimate the resources (people and time) you need to migrate to a modern rendering technology. You also use this tool to keep track of the progress of your migration effort and the current state of the migrated assets.
Installation
The Sitefinity Migration Analyzer is an open-source code you integrate into your Sitefinity CMS code base.
PREREQUISITES: The Sitefinity Migration Analyzer is tested and supported on Sitefinity CMS 13.3 and newer.
IMPORTANT: We recommend that you integrate and use the Sitefinity Migration Analyzer only on a copy of your website or using a development or staging environment, accessible only internally to your organization.
The Sitefinity Migration Analyzer does not require user authentication and is accessible to every site visitor. Also, the tool performs multiple heavy operations with your site's backing database and thus can negatively impact your site performance.
Procedure
To install the Sitefinity Migration Analyzer, perform the following:
- Navigate to the Sitefinity Migration Analyzer’s source code repository in GitHub.
- Download the following files:
PageAnalysis.aspx
, PageAnalysis.aspx.cs
, and PageAnalysis.aspx.designer.cs
. - Copy the downloaded files into your Sitefinity project structure.
- Open the source code of your Sitefinity project in Visual Studio.
- Right-click on your project and choose Add » Existing item…, then add the three files you have downloaded.
- Optionally, to avoid timeouts when invoking the tool, increase two timeout parameters:
- Modify the
web.config
file to increase the value of the executionTimeout
parameter.
For example, use the following value:
<system.web>
<httpRuntime enableVersionHeader="false" executionTimeout="99999999" maxRequestLength="102400" maxUrlLength="102400" maxQueryStringLength="10000" requestValidationType="Telerik.Sitefinity.Security.Claims.CustomRequestValidator, Telerik.Sitefinity" targetFramework="4.8" />
</system.web>
- Modify the
DataConfig.config
file to increase the value of the Connection Timeout
parameter.
For example, use the following value:
</connectionStrings>
<add connectionString="data source=YourSiteDB.;Integrated Security=SSPI;initial catalog=SitefinitySandbox;Connection Timeout=300" name="Sitefinity" />
</connectionStrings>
- Build and run your project.
- In the browser, manually navigate to the
PageAnalysis.aspx
page.
For example, enter http://localhost:57968/PageAnalysis.aspx
The Sitefinity Migration Analyzer may require some time to analyze your project. Until the analysis is complete, the browser shows an empty page and a loading indicator. Allow some time for the process to complete. Once the analysis is complete, you can start browsing the information provided.
Recommendations about performing site analysis
In this section, we recommend a procedure to perform site analysis successfully.
You use this information to create a migration strategy. We recommend the following:
- Select which site to evaluate using the Select site dropdown at the top right corner.
We recommend analyzing and migrating site by site, depending on your business needs.
For example, starting with the most visited one. - Analyze page templates.
You start your analysis with the page templates used on your sites. To do this, click Templates tab on the left. - Check if you have templates not used on any page and site.
Consider your business goals, and if possible – delete these page templates.
Consider deleting the templates if you don’t have plans to use them anymore, or you can modify your publishing strategy to avoid the need for using them. - For each template you analyze, evaluate the pages using it and the widgets used on the template and on the depending pages.
If a template and its depending pages have a small number of custom widgets, consider it easy to migrate. - For each custom widget, take a business decision – do you need to use it? Can you remove this widget?
- If you need the widget, estimate the resources needed to re-implement it in the new framework.
- Choose a page to evaluate.
If the page has a small number of custom widgets, consider it easy to migrate. - Continue until you analyze all the pages in this template, then move on to the next template.
- Sum up all the resources for re-creating custom widgets, and migrating pages and page templates.
NOTE: Sitefinity CLI version 1.1.0.69 or later offers an automated way to migrate Web Forms and MVC page templates and pages.