<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><language>en</language><title>Blog posts by Allan Thræn</title> <link>https://world.optimizely.com/blogs/Allan-Thran/</link><description></description><ttl>60</ttl><generator>Optimizely World</generator><item> <title>AI Generated Optimizely Developer Newsletter</title>            <link>https://www.codeart.dk/blog/2026/3/ai-generated-optimizely-developer-newsletter/</link>            <description>Updates in the Optimizely ecosystem are everywhere: blog posts, forums, release notes, NuGet packages, and documentation changes. This newsletter brings the important ones together in one place.</description>            <guid>https://www.codeart.dk/blog/2026/3/ai-generated-optimizely-developer-newsletter/</guid>            <pubDate>Tue, 10 Mar 2026 19:51:35 GMT</pubDate>           <category>Blog post</category></item><item> <title>Inspect SaaS CMS Packages Without Losing Your Sanity (Package Explorer Update)</title>            <link>https://www.codeart.dk/blog/2026/3/packageexplorer-support-for-visual-builder-and-nested-items/</link>            <description>Optimizely export packages have quietly become more complex. Inline (nested) blocks in CMS 12 and PaaS solutions weren’t always displayed clearly, and with SaaS CMS—and soon CMS 13—Visual Builder introduces compositions, layout hierarchies, and display templates on top. This update to the Optimizely Package Explorer improves support across these scenarios, making it far easier to inspect and understand what’s actually inside your packages.</description>            <guid>https://www.codeart.dk/blog/2026/3/packageexplorer-support-for-visual-builder-and-nested-items/</guid>            <pubDate>Sun, 01 Mar 2026 19:47:18 GMT</pubDate>           <category>Blog post</category></item><item> <title>Using HeadlessKit to build a head for an Optimizely SaaS CMS in .NET 10</title>            <link>https://www.codeart.dk/blog/2026/2/using-headlesskit-to-build-a-head-for-an-optimizely-saas-cms-in-.net-10</link>            <description>Headless has a tendency to promise freedom and deliver alignment meetings. Two codebases. Two sets of models. Two teams trying very hard not to drift apart. With Optimizely SaaS CMS, headless is mandatory. So instead of fighting it, I decided to flip it. What happens if we build the head first — properly, in .NET — and let the CMS adapt to that reality? That experiment became CodeArt.Optimizely.HeadlessKit - now available as open source.</description>            <guid>https://www.codeart.dk/blog/2026/2/using-headlesskit-to-build-a-head-for-an-optimizely-saas-cms-in-.net-10</guid>            <pubDate>Thu, 19 Feb 2026 20:41:36 GMT</pubDate>           <category>Blog post</category></item><item> <title>Optimizely Package Explorer: Now With Extra Superpowers</title>            <link>https://www.codeart.dk/blog/2025/11/optimizely-package-explorer-now-with-extra-superpowers/</link>            <description>If you’ve ever opened a .episerverdata file and asked “What is in here?” (guilty as charged) — then this is your moment. We’ve given our open-source tool CodeArt.Optimizely.PackageExplorer a fresh update with new features and polish, so you can slice, dice and explore those content packages with ease. Grab some coffee (or your beverage of choice) and let’s dive in.</description>            <guid>https://www.codeart.dk/blog/2025/11/optimizely-package-explorer-now-with-extra-superpowers/</guid>            <pubDate>Thu, 20 Nov 2025 20:27:49 GMT</pubDate>           <category>Blog post</category></item><item> <title>Opalytics Under the Hood – How I wired Piwik PRO into Opal with .NET and JSON</title>            <link>https://www.codeart.dk/blog/2025/8/opalytics-under-the-hood-pt.-2--from-piwik-pro-to-opal-and-why-i-rolled-my-own-tools-sdk</link>            <description>In the previous post , I showed how Opalytics lets you ask human questions and get analytics answers. This time we’re going full dev-mode: OAuth tokens, discovery docs, tool calling—and a small detour where I didn’t use the official SDK and built my own attribute-based version instead.</description>            <guid>https://www.codeart.dk/blog/2025/8/opalytics-under-the-hood-pt.-2--from-piwik-pro-to-opal-and-why-i-rolled-my-own-tools-sdk</guid>            <pubDate>Thu, 28 Aug 2025 11:43:31 GMT</pubDate>           <category>Blog post</category></item><item> <title>Opalytics: Talking to Your Analytics (So You Don’t Have to Look at Yet Another Dashboard)</title>            <link>https://www.codeart.dk/blog/2025/8/opalytics-turning-analytics-into-actionable-insights-with-opal--piwik-pro/</link>            <description>My hackathon project for Optimizely OMVPs: plugging Piwik PRO into Opal, so you can just ask questions instead of fiddling with filters.</description>            <guid>https://www.codeart.dk/blog/2025/8/opalytics-turning-analytics-into-actionable-insights-with-opal--piwik-pro/</guid>            <pubDate>Mon, 25 Aug 2025 15:04:03 GMT</pubDate>           <category>Blog post</category></item><item> <title>Adding granular editor access control to built-in parts of Optimizely CMS 12</title>            <link>https://www.codeart.dk/blog/2025/5/adding-granular-editor-access-control-to-built-in-parts-of-optimizely-cms-12/</link>            <description>A classic challenge in Optimizely CMS (well, really in any system I guess), is to ensure that the right people have the right access - and that potentially dangerous actions can&#39;t be accidentally done by unqualified users.</description>            <guid>https://www.codeart.dk/blog/2025/5/adding-granular-editor-access-control-to-built-in-parts-of-optimizely-cms-12/</guid>            <pubDate>Fri, 30 May 2025 11:31:25 GMT</pubDate>           <category>Blog post</category></item><item> <title>Scan file uploads for Malware in EPiServer/Optimizely CMS 11 - EPiServer Forms</title>            <link>https://www.codeart.dk/blog/2025/5/scan-file-uploads-for-malware-in-episerveroptimizely-cms-11---episerver-forms/</link>            <description>Do you have forms on your website where visitors can upload files? Perhaps CV&#39;s for job applications or documentation for claims, or other kind of applications or images? And have you thought about the risk of these files potentially containing malware right on your production webserver? A client of mine has this concern on an EPiServer (now Optimizely)  CMS 11 using the EPiServer Forms extension and I investigated and found an approach to handle it.</description>            <guid>https://www.codeart.dk/blog/2025/5/scan-file-uploads-for-malware-in-episerveroptimizely-cms-11---episerver-forms/</guid>            <pubDate>Fri, 09 May 2025 14:08:19 GMT</pubDate>           <category>Blog post</category></item><item> <title>Opensource release: New Package Explorer for Optimizely CMS</title>            <link>https://www.codeart.dk/blog/2025/4/opensource-release-new-package-explorer-for-optimizely-cms/</link>            <description>The import/export &quot;.episerverdata&quot; packages have been around as far as I can remember - and even though they might seem a bit outdated, it&#39;s still one of the most common ways to move content around today. But it can be quite a hassle to work with. I recently was inspired to build a tool that will hopefully make life a bit easier when dealing with the packages across versions.</description>            <guid>https://www.codeart.dk/blog/2025/4/opensource-release-new-package-explorer-for-optimizely-cms/</guid>            <pubDate>Wed, 09 Apr 2025 14:10:12 GMT</pubDate>           <category>Blog post</category></item><item> <title>Tracking UTM Parameters in Optimizely CMS Forms</title>            <link>https://www.codeart.dk/blog/2025/4/tracking-utm-parameters-in-optimizely-cms-forms/</link>            <description>When you are spending your marketing dollars on social media / CPC campaigns, correctly attributing your leads is everything so you know where to invest more. Usually you can get this insight from your Marketing Automation or analytics - but I recently got a question if it&#39;s possible to also automatically add it to your Optimizely CMS forms. And of course it is. Here are two ways of doing that.</description>            <guid>https://www.codeart.dk/blog/2025/4/tracking-utm-parameters-in-optimizely-cms-forms/</guid>            <pubDate>Thu, 03 Apr 2025 05:00:21 GMT</pubDate>           <category>Blog post</category></item><item> <title>[Series: Headless Site on Optimizely Graph] Exploring interesting ways we can query the content</title>            <link>https://www.codeart.dk/blog/2024/8/series-headless-site-on-optimizely-graph-exploring-interesting-ways-we-can-query-the-content/</link>            <description>Look up in the sky! It&#39;s a bird! No, wait - it&#39;s Optimizely Graph! This is part 2 in the blog post series where we explore how a fully functioning headless site can be build in .NET core using Optimizely Graph, and in this post we&#39;ll see how Optimizely Graph is both a powerful search &amp; query engine (on par with good old Episerver Find) - but also how it can fully replace the content delivery API.</description>            <guid>https://www.codeart.dk/blog/2024/8/series-headless-site-on-optimizely-graph-exploring-interesting-ways-we-can-query-the-content/</guid>            <pubDate>Sat, 24 Aug 2024 12:44:54 GMT</pubDate>           <category>Blog post</category></item><item> <title>New Series: Building a .NET Core headless site on Optimizely Graph and SaaS CMS</title>            <link>https://www.codeart.dk/blog/2024/6/new-series-building-a-.net-core-headless-site-on-optimizely-graph-and-saas-cms</link>            <description>Welcome to this new multi-post series where you can follow along as I indulge in yet another crazy experiment: Can we make our beloved Alloy site run as a headless site on top of Optimizely Graph (and SaaS CMS) using a mix of both MVC, Razor Pages and Blazor components - and can we make both the developer and editor experience as we are used to in classic Optimizely/Episerver sites? Let&#39;s find out!</description>            <guid>https://www.codeart.dk/blog/2024/6/new-series-building-a-.net-core-headless-site-on-optimizely-graph-and-saas-cms</guid>            <pubDate>Fri, 14 Jun 2024 14:59:16 GMT</pubDate>           <category>Blog post</category></item><item> <title>Upgrade To Optimizely CMS 12 Issue: List item fields have become Required</title>            <link>https://www.codeart.dk/blog/2024/6/upgrade-to-optimizely-cms-12-issue-list-item-fields-have-become-required/</link>            <description>There are many funny details to be aware of when upgrading from Episerver CMS 11 to Optimizely CMS 12. One of them that might feel a bit confusing is when your list items start to have all required fields in the UI. Here&#39;s how to fix it.</description>            <guid>https://www.codeart.dk/blog/2024/6/upgrade-to-optimizely-cms-12-issue-list-item-fields-have-become-required/</guid>            <pubDate>Fri, 07 Jun 2024 11:42:29 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #1 The Grand Finale. Going headless without using your head!</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-1-the-grand-finale.-going-headless-without-using-your-head</link>            <description>In 2014 the term &#39;headless cms&#39; was coined - and presented as a cool new &#39;feature&#39; in the Web CMS industry. And it quickly became a hot buzzword for a few years later. In a few days it&#39;s 2024 and we can celebrate that it&#39;s been a concept for 10 years. Strangely, I still encounter new implementations that want to go &#39;headless&#39; based on an almost religious belief that it&#39;s the new cool thing.</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-1-the-grand-finale.-going-headless-without-using-your-head</guid>            <pubDate>Sat, 23 Dec 2023 06:00:31 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #2 We&#39;re live! That means we&#39;re done, right?</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-2-were-live-that-means-were-done-right/</link>            <description>They day you go live with your new website is naturally the culmination of months, sometimes years of work - and it&#39;s fine to celebrate. But #2 on this top 12 list of common pitfalls is to think that going live is the completion of the website. It&#39;s not. It&#39;s the start...</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-2-were-live-that-means-were-done-right/</guid>            <pubDate>Fri, 22 Dec 2023 06:00:35 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #3 NIHS - Not Invented Here Syndrome in real life</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-3-nihs---not-invented-here-syndrome-in-real-life/</link>            <description>One of the most common and dreaded diseases in web site development often go undiagnosed and untreated for a long time. But it really should be, cause the effects are scary. Yes, I&#39;m talking about the Not-Invented-Here Syndrome</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-3-nihs---not-invented-here-syndrome-in-real-life/</guid>            <pubDate>Thu, 21 Dec 2023 06:00:31 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #4 Editors? It&#39;s just John and Jane, they know all the quirks - why does edit-mode matter?</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-4-editors-its-just-john-and-jane-they-know-all-the-quirks---why-does-edit-mode-matter/</link>            <description>An audience that is often neglected are the editors / content creators. That is a shame because happy editors =&gt; efficient editors =&gt; good content =&gt; great online experience.</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-4-editors-its-just-john-and-jane-they-know-all-the-quirks---why-does-edit-mode-matter/</guid>            <pubDate>Wed, 20 Dec 2023 06:00:31 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #5 Sure, our servers are locked up tight in the basement!</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-5-sure-our-servers-are-locked-up-tight-in-the-basement/</link>            <description>Securing your website is as important a topic as it is large and complex. In this post I will not go into too many details, but highlight a few problems I often see in Optimizely/EPiServer CMS implementations.</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-5-sure-our-servers-are-locked-up-tight-in-the-basement/</guid>            <pubDate>Tue, 19 Dec 2023 06:00:31 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #6 &quot;We LOVE content models - We have _all_ of them!&quot;</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-6-we-love-content-models---we-have-_all_-of-them/</link>            <description>The above statement is almost as scary as this: &quot;Content Modelling - is that really needed? We just have one!&quot;</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-6-we-love-content-models---we-have-_all_-of-them/</guid>            <pubDate>Mon, 18 Dec 2023 06:00:33 GMT</pubDate>           <category>Blog post</category></item><item> <title>Christmas Countdown: #7 DDoS? What&#39;s that? What do you mean &#39;prepared&#39;?</title>            <link>https://www.codeart.dk/blog/2023/12/christmas-countdown-7-ddos-whats-that-what-do-you-mean-prepared/</link>            <description>Is your website ready to handle intense usage scenarios like DDoS attacks or black friday? Many people think that testing performance is the same as testing for load - but it&#39;s not and sometimes it might even work against each other.</description>            <guid>https://www.codeart.dk/blog/2023/12/christmas-countdown-7-ddos-whats-that-what-do-you-mean-prepared/</guid>            <pubDate>Sun, 17 Dec 2023 06:00:32 GMT</pubDate>           <category>Blog post</category></item></channel>
</rss>