Upgrade Sitefinity ASP.NET Core Renderer

Overview

Sitefinity ASP.NET Core Renderer and Sitefinity CMS are two decoupled applications that communicate via REST API calls. The communication is one-way, only the Renderer recognizes that there is an Sitefinity CMS instance and stores its URL in the appsettings.json file.

When you have two applications working together, it is important to upgrade them in a way that you avoid downtime. Therefore, Sitefinity CMS is backward compatible with older versions of Sitefinity ASP.NET Core Renderer. This way, you can first upgrade the CMS application an afterwards – the Renderer. The newly upgraded CMS will continue running with the old Renderer, while you are upgrading it. This ensures that there is no downtime during the upgrade process.

IMPORTANT: Sitefinity CMS 14.4 is backward compatible with Sitefinity ASP.NET Core Renderer 14.0, 14.1. 14.2 and 14.3.

Scope

Only the built-in features of Sitefinity CMS are backward compatible. If you have any custom widgets or endpoints, you must ensure that they will continue to work with the old Sitefinity ASP.NET Core Renderer versions.

Recommended upgrade flow

We recommended first upgrading Sitefinity CMS, and then the Sitefinity ASP.NET Core Renderer. When you start your upgrade process with the CMS and the Renderer running the same version, you should perform the following general steps:

  1. Upgrade Sitefinity CMS
  2. Connect Sitefinity ASP.NET Core Renderer to the new Sitefinity CMS.
  3. Shut down the old Sitefinity CMS version.
  4. Upgrade Sitefinity ASP.NET Core Renderer.
  5. Connect the upgraded Renderer to the upgraded CMS.
  6. Shut down the old Sitefinity ASP.NET Core Renderer.

.NET Core Renderer breaking changes

Changed namespaces

With the 14.4 release, for the Renderer the following interfaces and classes are moved from Progress.Sitefinity.AspNetCore.Widgets.Models.Common to Progress.Sitefinity.AspNetCore.Models.Common namespace:

  • IHasMargins
  • IHasPaddings
  • OffsetSize
  • OffsetStyleBase

If your project is created on a version prior to 14.4 and you are referring any of them, you must change namespace Progress.Sitefinity.AspNetCore.Widgets.Models.Common to Progress.Sitefinity.AspNetCore.Models.Common.

Changes in Program.cs

With Program.cs file style entry point, the following line of code is no longer required:
app.UseEndpoints(endpoints =>
{ endpoints.MapSitefinityEndpoints(); });

Changes in output cache configuration

Output cache is no longer configured via Startup.cs

For more information, see Configure cache.

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?