.NET 5 Preview Breakdown – Admin Area
Overview
The .NET 5 preview is a major update to the Optimizely CMS platform. The public preview was released on July 1st as announced by Martin Ottosen here https://world.episerver.com/blogs/martin-ottosen/dates/2021/6/-net-5-public-preview/ and with it comes a number of features.
In this series of blog posts, I’m going to give an overview of what to expect in this version based upon my own exploration and usage. I will compare what we had to what we have to give developers an easier understanding of where the platform has changed. In this first post I am going to give a high-level overview and a break down of what to expect in the CMS Admin as it’s a complete rewrite.
If you’ve not read it you can read the full list here
- Admin UI Changes Breakdown - https://world.optimizely.com/blogs/scott-reed/dates/2021/7/-net-5-preview-breakdown--admin-area/
- Alloy Project Breakdown - https://world.optimizely.com/blogs/scott-reed/dates/2021/7/-net-5-preview-breakdown--alloy-project/
- DXP Changes - https://world.optimizely.com/blogs/scott-reed/dates/2021/8/-net-5-preview---dxp-changes/
The following is an overview of the features as part of the .NET 5 preview
- Better performance
- A more modern stack
- A rewritten admin area in MVC/Front end stack
- Cross platform, can run on Windows, Linux and MacOS
- Open Source
- Migration to Microsoft dependency injection
Admin Features
Previously before the .NET upgrade the admin system was clunky and a traditional asp.net application build on the WebForms technology. It had not been upgraded for some time.
Now the admin has been reworked from the ground up with the same care and attention that the editing experience get. Fully driven from Dojo
Managing Content Types
Previously before the preview we had the following for managing content types
This has now been transformed into a client-side driven manager for all content types
- All content types are grouped, to filter to a specific type use the filter icon under the headings to either filter by type or access level
- Build in search feature
- Everything is ordered by display name as default which has always been a pain point in the old admin.
- Properties grouped by tab just as within the CMS
- Properties grid has a search
Setting Access Rights
Setting access rights on the whole has mainly been kept the same but a lot faster as it’s in the new client side driven UI.
Has now been turned in to
Scheduled Jobs
Previously we had all of the jobs listed in the left side of the admin area as shown
This has now been changed in the new UI to be under dedicated section and has had a few improvements in the UI, a few we’ve seen in 3rd party packages before.
Firstly this gives us a much better view of the jobs including the key information of running, interval and last run at a glance as well as a search which is very welcome. Then when looking at the job itself
We can see mostly at the top the same information as before but the we now have the introduction of a graph showing execution duration which is very useful out of the box to see how long our jobs are taking.
Configurations
The config area has been re-named to configurations and now only has 4 core sections
Manage Sites
This is pretty much like for like with no extra features
Manage Languages
Again, this is pretty much like for like with no extra features
Manage Categories
Again, pretty much the same, which to me is one of the biggest disappointments. I have used the Geta Categories heavily and was hoping with a rework of the categories system we might see this driven from IContent models to allow use greater control. Sadly, this still remains with the same fixed content and properties for the taxonomy, often making this fairly limiting.
I appreciate however with the scope of the .NET 5 upgrade this might have been too much to add to their backlog for this version.
Manage Tabs
Again, this is pretty much like for like with no extra features
Tools
This whole section is like for like, no improvement for the import/export and the change log/licence information had no need of improvements.
Removals
The following areas have been removed in the .NET 5 upgrade. I’ve made some assumptions on these so correct me if I’m wrong in any areas
- Manage Content – This was a useful place to quick manage access rights however as the same feature exists in the CMS tree is was mostly duplication which I assume is the reason for the removal however this could cause issues with packages or systems that created extra items such as under the global assets root node. To note I've been told this is on the backlog so should be coming back
- System Settings – This has some core settings for features that have been moved out to configuration and therefore I assume has been removed in favour of a configuration-based approach
- Edit Fames – Redundant and not needed
- Edit Customer Property Types – Should be done in code and no longer needed such as the XHtmlString configuration which is no done in Initialization
- Plug In Manager – Redundant as packages are controlled via Nuget
- Mirroring – Legacy feature now redundant
- Replace Page Names in Web Addresses – Redundant and not needed
- Search Configuration - Redundant and not needed
- Create Page Type / Copy Page Type - Redundant and not needed
- Convert Pages – This is one that I’m surprised is gone as it was very useful and I’ll be querying. To note I've been told this is on the backlog so should be coming back
Conclusion
The .NET 5 upgrade is a massive step forward for so so many reasons. The admin system has long needed refreshing and it's great to finally see us have it.
In a later post I'll cover more about the solution and how to build on the .NET 5 version. Thanks all
You can find part 2 over at https://world.optimizely.com/blogs/scott-reed/dates/2021/7/-net-5-preview-breakdown--alloy-project/
Looking forward to other posts
We plan to bring convert pages and maybe add support for blocks as well. It was not prioritized for GA but is a useful feature we know we need to bring back.
Also, we tried to keep changes to a minimum to make the upgrade easier. Thinns like improved categories and others should be voted on here as we get back to continuos releases.
Nice summary, Scott!
The removal of «Manage Content» is not good! It is not used only for managing access rights, but also as an editing interface for content that is not Pages/Blocks/Media but inherits ContentData (or simply implements IContent). If «Manage Content» is removed, customers that store custom objects as IContent need another way to edit those.
«Convert Pages» is very useful, and I'm surprised it's removed, as all the converting is done in SQL - all that's needed is rewriting the frontend. Adding support for converting blocks should also be easy, as explained in this blog post: https://www.gulla.net/en/blog/convert-episerver-blocks/
«Plugin Manager» is not used for installing packages, but for displaying information and editing settings.
Also, if I'm not mistaken it's no longer possible to create custom admin tools using the [GuiPlugin] attribute. I think we should have another way of achieving the same...
Thanks for the comments Tomas. Yes I've used manage content for some plugins and such that auto create root areas and had to set permissions, it is something I've used to see the full tree.
Plugin manager was originally used for installing packages as far as I remember in version 7 but was changed in 7.5. To be honest I've never used a package that didn't have configuration driven settings, so I don't think I've even looked at that screen for years