There are many CMS systems on the market at the moment. All of them allow users to create and manage content, each of them in it’s own specific way. I have been working with several CMS systems in my career. Each of the system is different from another but there are some pieces that are common for most of them. In this post I would like to share with you my observations and thoughts about a capablitity that many CMS systems have, which often is a source of problems.
Probably almost any EPiserver user knows that to move blocks between folders in EPiserver you need to able to delete items from the source folder. And it’s fine for most of the time and we don’t think too much about it. Until we run into an issue, of course. Things can get tricky when we are faced with some specific requirements, which do not fit into the out-of-the-box capabilities of EPiserver.
One of the most important pieces of EPiserver for content editing is the support for rich text. EPiserver integrates with one of the most popular and well known rich text editors for web browsers - TinyMCE. Out of the box TinyMCE is packed with features and configuration options and its ecosystem is packed with plugins (both free and paid), that can greatly expand its capabilities. I have recently been asked to add support for PowerPaste plugin for the TinyMCE editor in EPiserver.
I suppose all of you know the importance of not storing secrets for connections to databases, APIs, identity providers etc. in the repositories alongside with the code. There are many ways to keep them away from the source code in .NET Core and in .NET Framework. To avoid storing secrets in code for EPiserver, the user secrets feature can be leveraged (provided by Microsoft.Configuration.ConfigurationBuilders.UserSecrets NuGet package). However, there is an issue when upgrading/initializing Episerver database using Initialize-EPiDatabase and Update-EPiDatabase in the Visual Studio Package Manager when the UserSecrets package is referenced.