📚 Product Knowledge
Technical Architecture
📖 Docs

Technical Architecture - Optimizely CMS 12

Exam Area: Content Area 1 – Product Knowledge (15%)
Reference: https://docs.developers.optimizely.com/content-management-system/docs/technology-stack


1. Technology Stack

Backend:

LayerTechnology
Web FrameworkASP.NET Core 6.0+
LanguageC# (.NET 6 / .NET 7)
DatabaseMicrosoft SQL Server 2016+
SearchOptimizely Search & Navigation (Elasticsearch)
BLOB StorageFile System or Azure Blob Storage

Frontend (CMS UI):

ComponentTechnology
UI FrameworkDojo JavaScript Framework
Rich Text EditorTinyMCE
Module SystemAMD (Asynchronous Module Definition)

2. Content Model Architecture

IContent (interface)
  ├── PageData (web pages)
  │     └── SitePageData (custom base class)
  │           └── ArticlePage, StartPage, etc.
  ├── BlockData (blocks)
  │     └── TeaserBlock, HeroBlock, etc.
  └── IContentMedia
        ├── ImageData (images)
        ├── VideoData (videos)
        └── MediaData (files)

3. Request Pipeline (CMS 12)

HTTP Request
    │
    ▼
ASP.NET Core Middleware Pipeline
    │
    ▼
Routing (MapContent, MapControllerRoute)
    │
    ▼
CMS Content Routing (ContentRoute)
    │
    ▼
Template Coordinator (ITemplateResolver)
    │
    ▼
Controller / View Component
    │
    ▼
IContentRepository → Database
    │
    ▼
Response (HTML / JSON)

4. Core Architectural Components

4.1 IContentRepository

private readonly IContentRepository _contentRepository;
public MyController(IContentRepository contentRepository)
{
    _contentRepository = contentRepository;
}

4.2 Template Coordinator

4.3 Episerver Framework

4.4 Initialization System


5. Database Schema

CMS uses multiple SQL Server tables:

Key TableDescription
tblContentPrimary content data
tblContentLanguageLanguage-specific content
tblContentPropertyProperty values
tblContentTypeContent type definitions
tblAccessAccess control entries
tblBigTableDynamic Data Store

6. Content Versioning

Draft (CheckedOut)
    │
    ▼
Published (Published)
    │
    ▼
Previously Published (PreviouslyPublished)
    │
    ▼
Archived (Rejected/Expired)

States:


7. Multi-Site Architecture

CMS Instance
├── Site 1 (example.com)
│   ├── Start Page
│   └── Pages...
├── Site 2 (example.co.uk)
│   ├── Start Page
│   └── Pages...
└── Shared Content (Global Assets)
    ├── Shared Blocks
    └── Shared Media

8. Security Architecture


Review Questions

  1. Which .NET version does CMS 12 require? (.NET 6+)
  2. Which database is supported? (Microsoft SQL Server)
  3. Which framework is used for the CMS UI? (Dojo)
  4. What is the default rich text editor? (TinyMCE)
  5. Which interface is central to retrieving content? (IContentRepository)
  6. What BLOB storage can be used in a cloud environment? (Azure Blob Storage)