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 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.
Sitefinity Migration Analyzer does not require authentication to access 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's performance.

Procedure

To install the Sitefinity Migration Analyzer, perform the following:

  1. Navigate to the Sitefinity Migration Analyzer’s source code repository in GitHub.
  2. Download the following files: PageAnalysis.aspx, PageAnalysis.aspx.cs, and PageAnalysis.aspx.designer.cs.
  3. Copy the downloaded files into your Sitefinity project structure.
  4. Open the source code of your Sitefinity project in Visual Studio.
  5. Right-click on your project and choose Add » Existing item…, then add the three files you’ve downloaded.
  6. 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>
  7. Build and run your project.
  8. 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, you learn a procedure to perform site analysis successfully.

You use this information to create a migration strategy. We recommend the following:

  1. 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.
  2. Analyze page templates.
    You start your analysis with the page templates used on your sites. To do this, click Templates tab on the left.
  3. 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.
  4. 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.
  5. For each custom widget, take a business decision – do you need to use it? Can you remove this widget?
  6. If you need the widget, estimate the resources needed to re-implement it in the new framework.
  7. Choose a page to evaluate.
    If the page has a small number of custom widgets, consider it easy to migrate.
  8. Continue until you analyze all the pages in this template, then move on to the next template.
  9. Sum up all the resources for re-creating custom widgets, and migrating pages and templates.
    NOTE: An upcoming version of Sitefinity CLI will offer an automated way to migrate page templates and pages.

Want to learn more?

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?