Opalytics Under the Hood – How I wired Piwik PRO into Opal with .NET and JSON
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.
Blog
Adding granular editor access control to built-in parts of Optimizely CMS 12
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't be accidentally done by unqualified users.
Blog
Scan file uploads for Malware in EPiServer/Optimizely CMS 11 - EPiServer Forms
Do you have forms on your website where visitors can upload files? Perhaps CV'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.
Blog
Optimizely Package Explorer: Now With Extra Superpowers
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.
Blog
Using HeadlessKit to build a head for an Optimizely SaaS CMS in .NET 10
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.
Blog
Piwik PRO Connector for Optimizely CMS — Now on NuGet (and Yes, It Speaks Both 12 and 13)
Analytics has spent the last decade living in another tab — and what's in that tab usually isn't the full story. Between consent requirements, browser restrictions, and the gap between "what marketing wants to know" and "what the tracking script actually captures", most analytics setups end up describing about half the picture. The new Piwik PRO Connector for Optimizely CMS is now live on NuGet, dual-targeted for both CMS 12 (.NET 8) and CMS 13 (.NET 10) from the exact same package — and one of its quieter superpowers is making it dramatically easier to get rich Optimizely context (content type, language, audience membership, block impressions, plus whichever custom dimensions matter for your site) into Piwik PRO, so the dashboards finally know what they're looking at. Editors get analytics next to their content. Developers get a tracking API that doesn't require writing JavaScript by hand. And the privacy-first part comes for free, courtesy of Piwik PRO.
Blog
Tracking UTM Parameters in Optimizely CMS Forms
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's possible to also automatically add it to your Optimizely CMS forms. And of course it is. Here are two ways of doing that.
Blog
Opensource release: New Package Explorer for Optimizely CMS
The import/export ".episerverdata" packages have been around as far as I can remember - and even though they might seem a bit outdated, it'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.
Blog
Inspect SaaS CMS Packages Without Losing Your Sanity (Package Explorer Update)
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.
Blog