Skip to main content

Outline

At a glance
  • Separation of Concerns: CMS 13 replaces the monolithic model with a clear distinction between application logic and platform infrastructure.
  • CMS Responsibility: Focuses on content modeling, editorial experience, and rendering logic.
  • Platform Capability: Manages centralized identity (Opti ID), global content indexing (Graph), and high-availability delivery.

In the architectural landscape of CMS 13, the traditional "all-in-one" server model has been replaced by a more disciplined separation of concerns. Understanding the line of demarcation between what the CMS application controls and what the Optimizely platform provides is essential for designing resilient, scalable digital experiences.

1. The CMS Application Domain: Business Logic and Content Architecture

The CMS application functions as the central "Brain" for content strategy and editorial governance. Developers working within this tier focus exclusively on the specific needs of the business domain.

Content Modeling and Validation

The primary responsibility of the developer is the definition of the content model. This is achieved through C# classes that define the properties, display settings, and validation logic for Pages, Blocks, and Media assets.

  • Property Definitions: Controlling the data types (XHTML, strings, dates) that editors use to input information.
  • Validation Attributes: Implementing attribute-based validation or custom selection factories to ensure data integrity during the authoring phase.
  • Relational Hierarchies: Designing how components relate to one another within the content tree to facilitate intuitive editorial workflows.

Editorial Experience Customization

Customizing the CMS Shell and the editor interface is an application-level duty. If a project requires a custom property editor or a specialized dashboard widget for editors, those extensions must be developed and maintained within the CMS codebase using the provided SDKs.

Rendering and Presentation

Regardless of whether the application follows a traditional server-side rendering (SSR) model or a headless approach, the logic that transforms raw data into a visual experience resides in the application tier. Developers are responsible for the Razor views, ViewComponents, or the frontend JavaScript frameworks (React, Next.js) that consume the content.

2. The Platform Domain: Infrastructure and Elastic Services

The Optimizely platform provides the high-availability infrastructure and cross-product services that support one or more CMS applications. These capabilities are managed at the organizational level through portals such as the Optimizely Admin Center or the DXP PaaS dashboard.

Centralized Identity and Governance (Opti ID)

The platform manages the "who" part of the architecture. Instead of the application maintaining its own user database, it delegates authentication to Opti ID.

  • Role Definitions: Global roles and permissions that span across multiple products are defined in the platform Admin Center.
  • SSO and Provisioning: Integration with corporate Identity Providers (IdPs) and automated provisioning via SCIM are platform-level configurations, ensuring that security policies are consistent across the entire enterprise stack.

Global Indexing and Scalable Delivery (Optimizely Graph)

Once content is published, the platform takes responsibility for its global availability. Optimizely Graph acts as an external index that transforms CMS content into a queryable GraphQL format.

  • Edge Caching: The platform manages the Content Delivery Network (CDN) and edge-caching strategies, ensuring that data retrieval is performant regardless of the geographic location of the user.
  • High-Frequency APIs: The platform ensures that the GraphQL endpoints are scaled to handle massive volumes of read requests, isolating the CMS authoring environment from delivery spikes.

3. The Technical Boundary in Practice

The boundary between these two domains is formally established during the application startup process. Developers use the Optimizely SDK to "hand off" specific responsibilities to the platform. The following pattern is standard for delegating identity and indexing to the platform tier:

public void ConfigureServices(IServiceCollection services) { // APPLICATION RESPONSIBILITY: Registering the CMS core and UI services.AddCms(); // PLATFORM DELEGATION: Offloading user management to Opti ID services.AddOptimizelyIdentity(useAsDefault: true); // PLATFORM DELEGATION: Offloading the search and delivery index to Optimizely Graph services.AddContentGraph(); }

By utilizing these registration methods, the application remains "infrastructure-agnostic." It can be upgraded or scaled without impacting the global identity provider or the content delivery index.

Conclusion

Navigating the practical boundaries of CMS 13 ensures that development teams remain focused on creating business value rather than maintaining infrastructure. When the CMS application is treated as a specialized node for authoring and the platform is utilized for delivery and security, the result is a modular, future-proof digital ecosystem. This synergy allows organizations to innovate at the application level while benefiting from the scale and robustness of the Optimizely platform services.