Exam Area: Area 1 – Product Knowledge (15%) Reference: https://docs.developers.optimizely.com/content-management-system/docs/browser-support
The Optimizely CMS Edit View is a complex single-page application built on the Dojo JavaScript framework. It requires a modern, evergreen browser.
| Browser | Support Level | Notes |
|---|---|---|
| Google Chrome (latest) | ✅ Fully supported (recommended) | Best performance & compatibility |
| Microsoft Edge (Chromium) | ✅ Fully supported | Based on Chromium engine |
| Mozilla Firefox (latest) | ✅ Supported | Minor UI differences possible |
| Safari (macOS, latest) | ✅ Supported | Some drag-and-drop limitations |
| Internet Explorer 11 | ❌ Not supported | CMS 12 dropped IE support |
| Legacy Edge (EdgeHTML) | ❌ Not supported | Replaced by Chromium Edge |
Key exam point: CMS 12 does not support Internet Explorer. The CMS UI depends on modern Web APIs (ES6+, CSS Grid, Fetch API) unavailable in IE.
CMS 12 is built on ASP.NET Core and uses modern web standards:
For the public-facing website (what visitors see), browser support is determined by the developer's implementation, not by Optimizely:
CMS renders → Raw HTML + CSS + JS
↓
Developer controls polyfills, transpilation (Babel), and target browsers
Best practices:
The Optimizely Edit UI is not optimised for mobile browsers. It is designed for desktop usage (editors working on a full-size screen).
The visitor-facing website can fully support mobile browsers — the developer is responsible.
In some cases, templates need to behave differently in Edit Mode vs. normal visitor view:
// Inject IContextModeResolver
public class MyController : PageController<StartPage>
{
private readonly IContextModeResolver _contextModeResolver;
public MyController(IContextModeResolver contextModeResolver)
{
_contextModeResolver = contextModeResolver;
}
public ActionResult Index(StartPage currentPage)
{
if (_contextModeResolver.CurrentMode == ContextMode.Edit)
{
// Running inside CMS Edit View
}
return View(currentPage);
}
}
@* In a Razor View *@
@inject EPiServer.Web.IContextModeResolver ContextModeResolver
@if (ContextModeResolver.CurrentMode == ContextMode.Edit)
{
<div class="editor-hint">You are in Edit Mode</div>
}
| Value | Description |
|---|---|
ContextMode.Default | Normal visitor browsing |
ContextMode.Edit | CMS Edit View (on-page editing) |
ContextMode.Preview | CMS Preview (read-only in Edit UI) |
ContextMode.Undefined | Not determined yet |
When running CMS 12 in a browser, be aware of CSP considerations:
// In Program.cs - only apply strict CSP on non-CMS routes
app.UseWhen(ctx => !ctx.Request.Path.StartsWithSegments("/episerver"), appBuilder =>
{
appBuilder.UseMiddleware<ContentSecurityPolicyMiddleware>();
});
The CMS Edit UI follows WCAG 2.1 AA accessibility guidelines. Custom UI extensions and gadgets developed by developers should also aim to meet WCAG 2.1 AA.