This topic lists Optimizely updates, delivered as NuGet packages and services. You decide which updates apply to your project; see Installing Optimizely updates (CMS 11 and Commerce 13).
To upgrade to Content Cloud (CMS 12), see Upgrading to Content Cloud.
Select a product, package, or service in the left menu, and then select one of the following filters from Item type and click Filter.
Note: NuGet packages listed here may not be immediately available in the Optimizely NuGet feed.
Latest changes
Changed the registration to register DefaultContentRepository as a Singelton. Then Forward registers both IContentRepository and ContentRepoisory separately to DefaultContentRepository.
Fixed a bug in the Validation job that was introduced in .NET 6 support where WebRequest was made obsolete and replaced with HttpRequest instead. When validating a relative external link, e.g. /a/working/relative/link, it threw a NullReferenceException.
Currently, CMS pages with a simple URL have two page URLs: the full page URL and the simple URL. If simple URL format is preferred (RoutingOptions.PreferredUrlFormat = PreferredUrlFormat.Simple), then generated URLs will be in simple format. However, the full page URL is still accessible.
Ideally a request to the full page URL will result in a temporary redirect (HTTP 302 Found) to the simple URL, and this redirection behavior could be configurable.
Configuration
In Startup.cs
public void ConfigureServices(IServiceCollection services) { // omitted for brevity services.Configure<RoutingOptions>(o => o.PreferredUrlFormatRedirection = HttpRedirect.Permanent); }
There are three possible values for HttpRedirect:
You also can set through appsettings.json.
Fixed an issue so that you can control the trailing slash on a URL from the event handler.
Fixed an issue where parsing the InitialTime property to a TimeSpan did not assume UTC as timezone but instead converted it to UTC after parsing.
Fixed an issue where ValidationService did not show the full path of the PropertyName in error messages for nested properties. (For example, it showed ButtonText when is should have showed Button.ButtonText.)
Fixed an issue where Clear Thumbnail and Automatic Emptying of Trash did not delete data from the trash.
Improved the error message for the ZipArchiveVirtualPathProvider.FileDataLoader method to include diagnostic details.
You can use simple addresses as outgoing URLs (when simple URLs are available). The following example shows how to set PreferredUrlFormat to Simple or Hierarchical (default) in startup.cs (or in appsettings.json).
public void ConfigureServices(IServiceCollection services) { // omitted for brevity services.Configure<RoutingOptions>(o => o.PreferredUrlFormat = PreferredUrlFormat.Simple); }
You can have friendly media URLs (like https://www.something.se/en/research/research-support/contentassets/some-document.pdf) that are based on the content owner by entering the following configuration code:
public void ConfigureServices(IServiceCollection services) { services.Configure<RoutingOptions>(o => { o.ContentAssetsBasePath = ContentAssetsBasePath.ContentOwner; }); }