--- title: "Compose Framework (CMS)" slug: "compose-framework-window" updated: 2026-02-11T15:04:48Z published: 2026-02-11T15:04:48Z canonical: "docs.mapp.com/compose-framework-window" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Compose Framework (CMS) ## Overview The **Compose Framework** page is used to define the structural foundation for CMS email templates. A framework contains the global HTML structure, styling definitions, layout logic, and default variables that templates and blocks inherit. For conceptual explanations of how frameworks relate to templates and blocks, refer to the [System Basics documentation](https://docs.mapp.com/docs/how-cms-email-works). --- ## Navigation Path *Content > Email > Frameworks* You reach this page when creating a new framework or editing an existing one. --- ## Information The **Information** section defines the metadata and configuration of the framework. You can manage: - **Name** – Internal framework name - **Description** – Optional internal description - **Tags** – For organization and filtering - **Character Encoding** – Defines how characters are encoded These settings describe the framework and control its behavior in CMS. --- ## Code Editor Use the code editor to define the HTML structure and logic of the framework. A framework typically contains: - The global HTML structure for email templates - CSS definitions and style rules - Responsive layout behavior - Block areas that define where templates can insert CMS blocks - Framework-level variables and default values ### Variables Variables can be declared in the framework to control layout or styling across templates and blocks. Templates and blocks that use this framework inherit these variable values unless they override them at block level. This allows consistent defaults, such as table width, background colors, or layout behavior. ### Personalization and Variables The framework supports: - Mapp Engage Variables - Personalization placeholders - Velocity directives and conditional logic These elements are evaluated during rendering and apply to all templates based on the framework. Templates and blocks can reference framework-level variables and logic. Changes to a framework can affect all templates that use it.