Engineering Blog
Technical insights on Optimizely CMS, Commerce, and the modern .NET ecosystem.
Optimizing Performance with Cloudflare Image Transformation
Large, unoptimized images are the primary enemy of Core Web Vitals. By offloading image manipulation to Cloudflare, we can serve perfectly sized, next-gen formats (WebP/AVIF) without taxing our Opt...
Fix Missing Catalogs Tab in Optimizely Commerce
Problem After installing Optimizely Commerce, theĀ CatalogsĀ tab is missing from the CMS Assets Pane, despite: EPiServer.Commerce.UI package being installed User having CommerceAdmins role Commerce ...
Migrating from Legacy SMTP to Microsoft Graph API for Email Delivery in .NET Applications
Why Migrate from SMTP? Microsoft is deprecating Basic Authentication for Exchange Online, making SMTP obsolete for modern applications. Why Graph API? ā OAuth 2.0 authentication (no passwords stor...
Implementing Add to Wishlist in Optimizely Commerce
Introduction Adding a wishlist feature enhances user experience by letting customers save products for later purchase. In Optimizely Commerce, you can leverage the existing cart infrastructure to i...
Implementing Serilog Structured Logging in Optimizely CMS 12
Introduction This guide shows you how to implementĀ SerilogĀ - a powerful structured logging library - in Optimizely CMS 12. What you'll learn: Configure Serilog with file and console outputs Use st...
Fixing an AmbiguousMatchException in Optimizely CMS 12
The Problem You start your Optimizely CMS 12 application and get this error: System.Reflection.AmbiguousMatchException: Ambiguous match found for property 'Category' Your application won't start. ...
Setting Up Episerver Commerce on an Existing Optimizely CMS Project: A Complete Guide
Introduction Adding Episerver Commerce functionality to an existing Optimizely CMS installation can seem daunting, especially when dealing with database configuration, catalog content types, and pe...
Step-by-Step Debugging ASP.NET Core in VS Code
Visual Studio Code is a lightweight yet powerful editor that fully supports step-by-step debugging for ASP.NET Core applications. With the correct setup, you can debug controllers, services, middle...
Modernizing Optimizely CMS Frontend: When "Fast" Meets "Correct"
If you've ever worked with enterprise CMS platforms like Optimizely (formerly Episerver), you're probably familiar with the "waiting game" every time you build the project. Fron...
How to Fix ASP.NET Core 500.30 Error: Ensure SQL Server is Ready Before Application Startup
If youāve encountered the 500.30 ā ANCM In-Process Start Failure error when starting your ASP.NET Core application, youāre not alone. This issue can be frustrating because the application fails to ...