Dette er CodeArts blog. Vi deler thought-leadership og tekniske tips og tricks - men som regel på engelsk.
When you are about to migrate a site from CMS 11 to CMS 12, it's not unusual to want to do some rewriting and re-implementation to clean up the architecture as part of the project. When you do that (and in many other cases) it can be incredibly helpful to have a handy overview of your content, it's usage and your visitor groups and their usage. Here is an easy way to get that.
Calling all Optimizely (Episerver) Developers in Copenhagen and surrounding area. It's once again time for a real-life meetup!
Quite often a lot of the content on pages in Optimizely Content cloud (aka Episerver CMS) is structured in blocks placed in content areas. And often even blocks in blocks. Sometimes it's needed to quickly get a list of all the content items on a page - and sometimes you might also be interested in which visitor groups are used. Here is a couple of extension methods to help you with that.
A classic need in many websites - especially self-service sites - is a placeholder mechanism, so editors can use placeholders in their text to be replaced with user specific data. Recently, working with a client, we ran into this problem and tried out a new approach to empower the content creators to solve this themselves.
This is just a quick code-stub on how to migrate redirects when moving from Verndales Redirect manager to Geta's 404 handler.
Secret treasures are always fun. And when I was examining the endpoint list from my previous post, I noticed a few hints that I couldn't leave unexplored. It turns out that just as the previous versions, Optimizely CMS 12 comes with a couple of hidden debug gems.
Routing has significantly changed in .NET 5 - and that affects many parts of Optimizely (Episerver) CMS 12. For example we have to get used to endpoints a middleware. As I am working on upgrading a few different add-ons I found it could be useful to see which routes are registered out of the box.
Using your content object (CurrentPage / CurrentBlock) as a makeshift viewmodel where you change settings or extend it with user data in the controller before passing it to the view, is unfortunately (and to my surprise) a pretty wide-spread practice among developers implementing Optimizely (Episerver) web sites. But it really needs to stop.
Since version 7 or 8 of Episerver (now Optimizely CMS), the shared Blocks and Media have been sharing the same folder structure. Some people see a benefit with the shared structure, and some absolutely hate it. Personally, I have gotten used to it - but I was recently asked if it's possible to split it up. Here's the hack I came up with.
One of my favorite add-ons these days is the GridView. It's pretty customizable, but some of the customizations aren't the most well documented. Here's a couple of tricks I've found handy when using it.
As much as I love coding, sometimes a quick editorial solution can be needed to solve a pressing market need without time for development, test and deployment. This was one of those times.
Wouldn't it be nice if there was just one place you could go and get an instant overview of the health of your Optimizely (Episerver) installation? With checks that are both technical, functional, business and covers product, addons and implementation? Here it is. Or at least the start of something that could be very useful.