Building a TwoColumnWideLeftSection in Optimizely CMS 13 Visual Builder

This post walks through a practical “66% / 33%” section built for Visual Builder using the composition tag helpers: <epi-grid>, <epi-row>, <epi-column>, and <epi-component />. Visual Builder is Optimizely’s layout-and-composition editing experience (originally introduced for CMS SaaS, but the concepts carry over). What you’re building A section type that renders: A Bootstrap container One row …

Continue reading Building a TwoColumnWideLeftSection in Optimizely CMS 13 Visual Builder

Optimizely CMS 13 (Pre-release) Visual Builder

This post captures a proof of concept built on an Alloy MVC site upgraded to Optimizely CMS 13 pre-release, focused on Visual Builder, how to model the new ExperienceData and SectionData types, and how to configure editor-friendly style choices for Visual Builder elements. Sample Alloy MVC repo for CMS 13:https://github.com/evest/cms13-test1/tree/master Why CMS 13 and Visual …

Continue reading Optimizely CMS 13 (Pre-release) Visual Builder

How to Add Multiple Authentication Providers to an Optimizely CMS 12 Site (Entra ID, Google, Facebook, and Local Identity)

Modern websites often need to let users sign in with their corporate account (Entra ID), their social identity (Google, Facebook), or a simple email/password for internal users. If you’re building on Optimizely CMS 12, you can support all of them at once — without breaking the built-in CMS login system. In this post, we’ll walk …

Continue reading How to Add Multiple Authentication Providers to an Optimizely CMS 12 Site (Entra ID, Google, Facebook, and Local Identity)

How to Use IPlacedPriceProcessor in Optimizely Commerce to Preserve Custom Line Item Prices (Donation Example)

Optimizely Commerce 12+ automatically validates line item prices based on catalog data, which can overwrite user-entered prices for donations or custom amounts. To avoid this, you can extend the IPlacedPriceProcessor to preserve user-defined prices by using a custom flag. This method maintains the pricing system's integrity while accommodating unique business models.

Getting Started with dangerouslySetInnerHTML in React

The blog post discusses the use of React's dangerouslySetInnerHTML property to insert raw HTML into a component, helping to improve content presentation and user experience. Risks are highlighted, such as potential security exposures if misused. A practical application is shown through Optimizely SaaS Core integration, demonstrating the tool's value for web development despite necessary precautions.

Getting Started with Optimizely SaaS Core and Next.js Integration

The blog post covers the process of creating a website with Optimizely SaaS Core and integrating it with a Next.js project. Key steps include defining content types, setting up the website, synchronizing data with Optimizely Graph, installing Next.js, and incorporating Apollo for GraphQL data fetching. The post also provides information about styling adjustments and future topics.