November 9, 2020

Enabling Verndale's Verndale.ImpersonateUsers package in Episerver's Foundation CMS Application

I recently needed to enable user impersonation for a prospective customer who wanted a better way to preview personalization for more complex scenarios where the in-editor Visitor Group Preview wasn't quite sufficient. This is for a portal, where every user would be authenticated, so a fantastic workaround would be to simply impersonate a user. This may not solve for behavioral personalization, but theirs is primarily built around roles and profiles.

For example, what if we want to preview the home page as a member who belongs to the Human Resources team AND who also happens to be a new hire (< 30 days). If you had a visitor group that required both, and targeted it, that might work. But in this case, these are two separate visitor groups.

My chosen best option was to use a tool built by one of Episerver's best partners, Verndale. Aptly named Verndale.ImpersonateUsers. It's worth mentioning that Verndale has put a LOT of really nice add-ons in the marketplace and they're worth checking out.

There were a couple of bumps getting impersonation to work in Foundation, so here's how to get up and running.

June 15, 2020

Delivering Static HTML5 Apps from Zip Files in Episerver's Media Library using Partial Routing

Yeah, so the title seems like a mouthful but it's really quite simple. A prospective customer of mine wanted to know if we could provide a better way of uploading some in-house developed HTML5 apps (large, searchable libraries of content made by another team, but I won't go too deep into why they're not just putting that content directly into the CMS).

Their current solution involves a drawn-out process of replicating folders in SharePoint, uploading each folder's files, go back, rinse, & repeat. Unfortunately, these apps are also updated every few weeks which means that the whole process must be repeated for every app, every month, every year. Sounds like a lot of work to me, so I wrote up a quick proof-of-concept solution that I think tidies up the process nicely.

For this project, I'm going to use Foundation as the base site and add in a couple of models and a partial router to get these things working. Let's get started!