Preview multiple Visitor Groups directly while browsing your Optimizely site
Visitor groups are great - it's an easy way to add personalization towards market segments to your site. But it does come with it's own set of challenges if used intensively. For example it can be hard to predict how any given page will look for visitors with a specific combination of visitor groups - and viewing it in a proper way often requires more than what you see in the quick preview mode. Here's a bit of code that will help you out.
Optimizely CMS: List content recursively on a page - and list the visitor groups used
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.
Anti-Pattern: Don't modify Optimizely CMS (Episerver) content objects in the Controller
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.
New Project: Optimizely (Episerver) Health Checker
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.
Using custom domains when developing in Visual Studio using IIS Express
A classic problem when building asp.net applications in visual studio and IIS Express is how to configure it so you can use a custom domain name, in case the default "localhost:port" doesn't suit you. I might be getting old, but every time I need to do this, I spend time looking it up in multiple places and trying to remember what I did last time - so this blog post is a simple guide on how to do it - both for my own future benefit and perhaps yours.
Episerver Forms: Avoiding spam with a honeypot
Spam comes in many forms and can be really annoying. Often, when you put a form on your website it will be found by spam bots that will post lots of spam in the form. A common defense is CAPTCHA's, but they are annoying the real users and typically not WCAG compliant. Here, I'm showing a simple Episerver implementation of another approach that works wonders for me - the honeypot.
Reading very large gzipped json files in c#
This is a little code snippet that I often find quite handy. It's a piece of c# code that opens a gzipped json file and iterates through the items in it. Since it takes it piece by piece (as opposed to loading everything in memory) it's can pretty much handle files of any size.