Johan Petersson
May 17, 2022
  973
(4 votes)

Content development improvements May '22

Lately we have had a slew of notable releases that we would like to highlight. The work of migrating packages to .NET Core continues and more packages are now cross-compiled to .NET5 and .NET6. Note that you can target .NET6 even though not all packages are cross-compiled yet. You can follow our work here https://world.optimizely.com/resources/net5/add-ons/. Clicking on an add-on will take you to the NuGet package details page where you can subscribe to and get notified when it’s updated.

Updated Templates

This work is now reflected in our templates. Latest version (1.2) is now targeting .NET6 and uses the latest dependencies. You should be presented with the following message if you have an outdated version installed when trying to apply a template:

An update for template package 'EPiServer.Templates::1.1.0' is available.
To update the package use:
   dotnet new --install EPiServer.Templates::1.2.0

You can also do a manual check for updated versions:

dotnet new --update-check

If you want to stay on top of what happens in our templates, we recommend staring the GitHub repository at https://github.com/episerver/content-templates. We recommend doing this even though you do not use the templates, since we will continue to update them with the latest syntax and configuration that you also might want to use in your own templates or projects.

Note that we do not support the new host configuration model yet. This means you still need to have a separate startup class and cannot use WebApplication and WebApplicationBuilder.

Content Delivery Search

Search and Navigation (formerly known as Find) is now supported in Content Delivery again. See https://docs.developers.optimizely.com/content-cloud/v1.5.0-content-delivery-api/docs/content-search-api for documentation.

OpenID Connect UI

Last year we released support for OpenID Connect, see https://docs.developers.optimizely.com/content-cloud/v1.5.0-content-delivery-api/docs/api-authentication for the documentation. The initial release also included a small UI for managing refresh tokens. This UI is now updated to include the possibility to manage applications without the need to deploy code. Applications that are defined in code, or via configuration, are also displayed but only as read-only.

New sample site in JS SDK

The old sample site has been updated to .NET6 and we have also made a new sample available, see https://github.com/episerver/content-delivery-js-sdk/tree/master/samples/music-festival-vue-coupled. This sample is hosting the client app, built with Vue CLI, in the same dotnet process. But during development the front-end app is hosted in a separate Node.js process and the backend is proxied to the dotnet process using the new ASP.NET SPA Proxy. This means you get all the nice Node.js tooling, such as webpack’s hot reload, during development.

May 17, 2022

Comments

Vincent
Vincent May 19, 2022 01:52 AM

Thanks for the update.  Good to know that minimal hosting is not yet supported.

Petri Isola
Petri Isola May 21, 2022 10:05 PM

You must mean May '22.

Wallmark
Wallmark May 31, 2022 03:48 PM

Could you not use WbApplication and add the ConfigureCmsDefaults to the host to allow skipping the startup class or am I missing something?

var builder = WebApplication.CreateBuilder();
builder.Host.ConfigureCmsDefaults();
builder.Services.AddCms();
...
app.UseEndpoints(endpoints =>
{
    endpoints.MapContent();
});
...
app.Run();

Johan Petersson
Johan Petersson Jun 1, 2022 08:13 AM

@Wallmark, there's no syntax issues with the new model, but our initialization doesn't work with the new model. Your code will compile and the application will sort of work, but the shell UI won't work.

Please login to comment.
Latest blogs
How to use CacheTagHelper with content areas in Optimizely CMS 12

I might be going out on a limb here - if you have a better solution, feel very free to share it!  Upgrading your Optimizely web application from .N...

Andreas J | Dec 2, 2022

The 1001st Piece in your 1000 Piece Puzzle: .NET Default Interface Functions

I was recently working with a client who wanted a reasonably large subsystem added to Optimizely that would add automated management to their...

Greg J | Nov 28, 2022 | Syndicated blog

Video Demonstration, creating a CMS12 Alloy Sample Site

Hey All Below you will find a quick video demonstration on how to install a local version of Alloy Sample based on CMS12 / .Net 6. As you will see ...

Minesh Shah (Netcel) | Nov 28, 2022

How to create an admin user I Optimizely CMS – with Episerver CLI

In this blog post I’ll show how to create an admin user for Optimizely CMS in a new environment where you don’t have access to the admin interface.

Ove Lartelius | Nov 28, 2022 | Syndicated blog