# Content Management System Documentation > Optimizely Content Management System (CMS) provides powerful web content management capabilities, available through an intuitive user interface, letting experienced and occasional users work efficiently with content. ## Guides - [Get started with CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/getting-started.md): Describes the process for using the Optimizely Content Management System (CMS 12). - [HIPAA-enabled CMS](https://docs.developers.optimizely.com/content-management-system/docs/hipaa-enabled-cms.md): Describes the differences and the features that are excluded from a HIPAA-enabled CMS 12. - [Learning path](https://docs.developers.optimizely.com/content-management-system/docs/learning-path.md): The Learning path is intended for developers who are new to Optimizely Content Management System (CMS), and want to learn the basics to quickly get started developing. - [Developer prerequisites](https://docs.developers.optimizely.com/content-management-system/docs/developer-prerequisites.md) - [What is a CMS?](https://docs.developers.optimizely.com/content-management-system/docs/what-is-a-cms.md): Describes the concepts of a content management system. - [Technology stack](https://docs.developers.optimizely.com/content-management-system/docs/technology-stack.md): Describes the technology on which Optimizely Content Management System (CMS) is built. - [Optimizely UI](https://docs.developers.optimizely.com/content-management-system/docs/pluggable-ui.md) - [Alloy demonstration templates](https://docs.developers.optimizely.com/content-management-system/docs/alloy-demonstration-templates.md): Describes the Alloy sample site which you can install for demonstration and testing purposes. - [Upgrade Optimizely](https://docs.developers.optimizely.com/content-management-system/docs/installing-and-upgrading.md): Describes how to upgrade your Optimizely solution through Visual Studio and the NuGet package manager. - [Initial configuration](https://docs.developers.optimizely.com/content-management-system/docs/initial-configuration.md): Describes some typical initial configurations you need to consider when setting up a CMS solution. - [Content model and views](https://docs.developers.optimizely.com/content-management-system/docs/content-model-and-views.md): Describes the core concepts of content, content model and views, and how these are related in Optimizely Content Management System (CMS). - [Create and edit content](https://docs.developers.optimizely.com/content-management-system/docs/creating-and-editing-content.md): Create and edit content, and content versioning in Optimizely CMS 12, from a code perspective. - [Media support](https://docs.developers.optimizely.com/content-management-system/docs/media-support.md): Introduces concepts about setting up media support in Optimizely CMS 12. - [Content tree and routing](https://docs.developers.optimizely.com/content-management-system/docs/content-tree-and-routing.md): Introduces content structure and routing in Optimizely CMS 12. - [Link collections and navigation](https://docs.developers.optimizely.com/content-management-system/docs/listings-and-navigation.md): Introduces options for building content navigation in Optimizely CMS 12. - [Security checklist](https://docs.developers.optimizely.com/content-management-system/docs/security-checklist.md): Describes common security issues for websites. - [Deployment](https://docs.developers.optimizely.com/content-management-system/docs/deployment-learning-path.md): Move your solution from your local development environment, to a production-like environment in the cloud, or on-premises. - [Configure a development environment](https://docs.developers.optimizely.com/content-management-system/docs/set-up-a-development-environment.md): Configure a development environment in Optimizely CMS 12. - [Learn basic editing](https://docs.developers.optimizely.com/content-management-system/docs/learn-basic-editing.md): Introduces basic editing in Optimizely CMS 12. - [Create a CMS starter project](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-starter-project.md): Create an empty Optimizely CMS 12 project, add a page type and configure a start page for the site. - [CMS documentation videos](https://docs.developers.optimizely.com/content-management-system/docs/documentation-videos.md): Lists videos that describe how to use some of the Optimizely Content Management System (CMS) features. - [Configure CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/set-up-cms-12.md) - [System requirements for Optimizely](https://docs.developers.optimizely.com/content-management-system/docs/system-requirements-for-optimizely.md): Describes the requirements for running Optimizely websites. - [Install Optimizely (ASP.NET Core)](https://docs.developers.optimizely.com/content-management-system/docs/installing-optimizely-net-5.md): Describes a first-time installation of Optimizely CMS 12 and Optimizely Commerce Connect 14 websites with the latest updates, with or without sample templates. - [NuGet package families in CMS](https://docs.developers.optimizely.com/content-management-system/docs/nuget-package-families-in-cms.md) - [Resolve NuGet dependency conflicts](https://docs.developers.optimizely.com/content-management-system/docs/resolving-nuget-dependency-conflicts-in-project-sdk-packagereference-model.md): Describes why package dependencies can create compatibility issues and how to work around those issues in the Project SDK (PackageReference) model. - [Upgrade to CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/upgrade-to-cms-12.md): Describes the main process for upgrading to Optimizely Content Management System (CMS 12). - [Breaking changes in CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-in-content-cloud-cms-12.md): Describes breaking changes for Optimizely CMS 12 in relation to previous CMS 11, and the steps needed to update affected code. - [Why upgrade to CMS 12?](https://docs.developers.optimizely.com/content-management-system/docs/why-upgrade-to-content-cloud-cms-12.md): Describes why upgrading to Optimizely CMS 12 is advantageous to you. - [Upgrade assistant](https://docs.developers.optimizely.com/content-management-system/docs/upgrade-assistant.md): Describes the Upgrade assistant, which automates the transition from an ASP.NET Standard project to an ASP.NET Core project. - [Upgrade to CMS Core 12.17.0](https://docs.developers.optimizely.com/content-management-system/docs/upgrade-to-cms-core-12170.md) - [Configure CMS](https://docs.developers.optimizely.com/content-management-system/docs/configuration.md): Configure and select options in Optimizely CMS 12 through code, configuration files, or environment variables. - [Cms section](https://docs.developers.optimizely.com/content-management-system/docs/configuring-cms.md): Describes the various option classes that are part of the Cms section of the configuration. - [CmsUI section](https://docs.developers.optimizely.com/content-management-system/docs/configuring-cmsui.md): Describes the various option classes that are part of the CmsUI section of the configuration. - [Configure DataAccess and DynamicDataStore](https://docs.developers.optimizely.com/content-management-system/docs/configuring-dataaccess-and-dynamicdatastore.md): Describes the DataAccess and DynamicDataStoreOptions sections of the configuration file. - [module.config](https://docs.developers.optimizely.com/content-management-system/docs/configuring-moduleconfig.md): Describes the <module> section of the module.config file, which is located in the root directory of a shell module and contains settings specific to that module. - [Change URLs for edit and admin views](https://docs.developers.optimizely.com/content-management-system/docs/changing-edit-and-admin-view-urls.md): Describes how to change the edit and admin view URLs. - [Validate links](https://docs.developers.optimizely.com/content-management-system/docs/link-validation.md): Track broken links for a website using the link validator scheduled job. - [Initialize CMS](https://docs.developers.optimizely.com/content-management-system/docs/initialization.md): Describes the initialization system in the Optimizely platform, which is used by Optimizely CMS 12, Optimizely Commerce Connect, and third-party and customized modules used with Optimizely products. - [Create an initialization module](https://docs.developers.optimizely.com/content-management-system/docs/creating-an-initialization-module.md): Create an initialization module to work with the initialization system in CMS 12. - [Dependency injection](https://docs.developers.optimizely.com/content-management-system/docs/dependency-injection.md): Describes how to use dependency injection. - [Deploy CMS](https://docs.developers.optimizely.com/content-management-system/docs/deploying-content-cloud.md): Describes services and setup options to deploy and scale Optimizely CMS 12 sites. It is intended for hosting professionals and partner developers who configure and deploy CMS sites in different infrastructure environments. - [Plan a deployment](https://docs.developers.optimizely.com/content-management-system/docs/planning-deployments.md): Describes the stages of website development and deployment, and things to consider when planning the implementation of your solution. - [Deployment scenarios](https://docs.developers.optimizely.com/content-management-system/docs/deployment-scenarios.md): Describes common deployment scenarios. - [Manage cloud licenses](https://docs.developers.optimizely.com/content-management-system/docs/managing-cloud-licenses.md): Describes how to manage cloud-based licenses for test and production environments in an optimized way, when running Optimizely websites in the cloud. - [Deploy to Azure Web Apps](https://docs.developers.optimizely.com/content-management-system/docs/deploying-to-azure-webapps.md): Describes how to set up an Optimizely Content Management System (CMS) site to run on Azure Web Apps. - [Deploy to Windows servers](https://docs.developers.optimizely.com/content-management-system/docs/deploying-to-windows-servers.md): Describes how to deploy Optimizely Content Management System (CMS) sites through Visual Studio. - [Set up multiple sites](https://docs.developers.optimizely.com/content-management-system/docs/setting-up-multiple-sites.md): Describes how to set up a multi-tenant instance to host multiple websites. - [Install database schema](https://docs.developers.optimizely.com/content-management-system/docs/installing-database-schema.md): Describes how to install database schema. - [Automatic schema updates](https://docs.developers.optimizely.com/content-management-system/docs/automatic-schema-updates.md): Describes how to work with database schema updates, when upgrading Optimizely websites. - [Configure CDN](https://docs.developers.optimizely.com/content-management-system/docs/content-delivery-network-cdn-configuration.md): Describes how to configure header settings with regards to personalization in a Content Delivery Network (CDN) environment for Optimizely Content Management System (CMS). - [Configure database mode](https://docs.developers.optimizely.com/content-management-system/docs/database-mode.md): Describes database mode configuration. - [Configure email server](https://docs.developers.optimizely.com/content-management-system/docs/configuring-your-email-server.md): Describes how to set up your email server to send out email notifications. - [Create a Docker file for a CMS app](https://docs.developers.optimizely.com/content-management-system/docs/create-a-docker-file.md): Describes how to create a Docker file for an Optimizely Content Management System (CMS) application. - [Store UTC date and time in the database (Legacy)](https://docs.developers.optimizely.com/content-management-system/docs/storing-utc-date-and-time-in-the-database-legacy.md): If you are running an CMS site with a version prior to CMS 10, you can convert the database to UTC using the provided PowerShell scripts in this topic. - [Host a frontend with Optimizely](https://docs.developers.optimizely.com/content-management-system/docs/host-a-frontend-with-optimizely.md): Use Optimizely to build and host your NextJS site front end with an Optimizely back end for CMS 12. - [Develop the CMS](https://docs.developers.optimizely.com/content-management-system/docs/develop-the-cms.md) - [BLOB storage and providers](https://docs.developers.optimizely.com/content-management-system/docs/blob-storage-and-providers.md): Explains the concept and usage of BLOBs (Binary Large Objects) in Optimizely. - [Configure a custom BLOB provider](https://docs.developers.optimizely.com/content-management-system/docs/configure-a-custom-blob-provider.md) - [Add Azure BLOB provider to your .NET Core application](https://docs.developers.optimizely.com/content-management-system/docs/how-to-add-azure-blob-provider-to-your-net-core-application.md): Explains the concept and usage of BLOBs (Binary Large Objects) for Azure BLOB. - [Cache options and methods](https://docs.developers.optimizely.com/content-management-system/docs/caching.md): Explains the caching concept in the Optimizely platform, and the different caching options and methods available. - [Cache objects](https://docs.developers.optimizely.com/content-management-system/docs/object-caching.md): Describes object caching in Optimizely, and how to define and configure cache information. - [Cache read-only objects](https://docs.developers.optimizely.com/content-management-system/docs/read-only-object-cache.md): Describes read-only object caching, and how this type of caching works. - [Configure in-memory cache limits](https://docs.developers.optimizely.com/content-management-system/docs/monitoring-memorycache.md): Describes how to configure in-memory cache limits. - [Client resources](https://docs.developers.optimizely.com/content-management-system/docs/client-resources.md): Explains how to define and configure available client resources. - [Dynamic Data Store](https://docs.developers.optimizely.com/content-management-system/docs/dynamic-data-store.md): Describes the Optimizely Dynamic Data Store (DDS), which saves, loads and searches compile-time data types (.NET object instances) and run-time data types (property bags) in shared tables in SQL Server. - [Configure DDS](https://docs.developers.optimizely.com/content-management-system/docs/configuring-dynamic-data-store.md): Describes how to set up the Optimizely Dynamic Data Store. - [Index properties](https://docs.developers.optimizely.com/content-management-system/docs/indexing-properties.md) - [Map stores](https://docs.developers.optimizely.com/content-management-system/docs/mapping-stores.md): Describes mapping store types. - [Support LINQ](https://docs.developers.optimizely.com/content-management-system/docs/supporting-linq.md): Describes Optimizely Dynamic Data Store (DDS) support for Microsoft’s Language Integrated Query (LINQ). - [Identity, date, and time](https://docs.developers.optimizely.com/content-management-system/docs/identity-and-date-and-time-management.md): Describes managing identities, dates and times. - [Events and event providers](https://docs.developers.optimizely.com/content-management-system/docs/event-management.md): Describes the event management system and event providers in Optimizely. - [Create a custom event provider](https://docs.developers.optimizely.com/content-management-system/docs/developing-an-event-provider.md): Shows a simple pseudo-code for writing an event provider based on file with options. - [Add Azure event provider to .NET Core application](https://docs.developers.optimizely.com/content-management-system/docs/how-to-add-azure-event-provider-to-your-net-core-application.md): Describes how to use an event provider that uses Azure Service Bus as the transport mechanism. - [Use the Event API](https://docs.developers.optimizely.com/content-management-system/docs/event-management-api.md): Describes the Optimizely event management system API. - [File Providers](https://docs.developers.optimizely.com/content-management-system/docs/file-providers.md): Describes how to use file provider to map files to virtual paths in the site. - [Globalization](https://docs.developers.optimizely.com/content-management-system/docs/globalization.md): Introduces the globalization and language management concept for the Optimizely platform, including Optimizely Content Management System (CMS) and Optimizely Customized Commerce. - [Globalization scenarios](https://docs.developers.optimizely.com/content-management-system/docs/globalization-scenarios.md): Describes common globalization scenarios for Optimizely Content Management System (CMS) solutions, and provides an overview of language-specific settings and properties for CMS content. - [Localize the user interface](https://docs.developers.optimizely.com/content-management-system/docs/localizing-the-user-interface.md): Describes how to localize the user interface in Optimizely Content Management System (CMS). - [Configure a custom localization provider](https://docs.developers.optimizely.com/content-management-system/docs/configuring-a-custom-localization-provider.md): Describes how to configure the initialization of localization providers used by the default LocalizationService in Optimizely Content Management System (CMS). - [Localization service](https://docs.developers.optimizely.com/content-management-system/docs/localization-service-1.md): Describes how to retrieve the currently configured and active EPiServer.Framework.Localization.LocalizationService, and use the EPiServer.Framework.Localization.LocalizationService.Current static property. It also describes how to add a constructor dependency to LocalizationService if your class is created by the service container. - [Retrieve localization service](https://docs.developers.optimizely.com/content-management-system/docs/localization-service.md): Describes how to retrieve the currently configured and active EPiServer.Framework.Localization.LocalizationService, and use the EPiServer.Framework.Localization.LocalizationService.Current static property. It also describes how to add a constructor dependency to LocalizationService if your class is created by the service container. - [Determine languages](https://docs.developers.optimizely.com/content-management-system/docs/determining-languages.md): Describes the API for accessing, selecting and modifying languages, and strict language routing in Optimizely Content Management System (CMS). - [Add a custom language](https://docs.developers.optimizely.com/content-management-system/docs/add-a-custom-language.md): Describes how to add a custom language to CMS. - [Log activity](https://docs.developers.optimizely.com/content-management-system/docs/activity-logging.md): Describes the Optimizely Activity system, which is a facility where recent changes to the solution are tracked. - [Logging options](https://docs.developers.optimizely.com/content-management-system/docs/logging-options.md): Describes logging options in CMS 12. - [Write log messages](https://docs.developers.optimizely.com/content-management-system/docs/logging.md): Describes writing log messages from the logging API. - [Routing](https://docs.developers.optimizely.com/content-management-system/docs/routing.md): Describes routing in Optimizely CMS 12. - [Partial routing](https://docs.developers.optimizely.com/content-management-system/docs/partial-routing.md): Describes how to extend routing beyond pages. - [Example of News partial routing](https://docs.developers.optimizely.com/content-management-system/docs/example-of-news-partial-routing.md): Shows how to implement partial routing in Optimizely Content Management System (CMS). - [Route to BLOB](https://docs.developers.optimizely.com/content-management-system/docs/blob-routing.md): Describes how routing to BLOB is done in Optimizely. - [Internationalized resource identifiers (IRIs)](https://docs.developers.optimizely.com/content-management-system/docs/internationalized-resource-identifiers-iris.md): Describes how international characters are handled for URLs in Optimizely. - [Scheduled jobs](https://docs.developers.optimizely.com/content-management-system/docs/scheduled-jobs.md): Describes scheduled jobs in Optimizely Content Management System (CMS) that run in the background at preset time intervals and typically perform cleanup and updating tasks. - [Search](https://docs.developers.optimizely.com/content-management-system/docs/search.md): Describes search functionality. - [Search and filter](https://docs.developers.optimizely.com/content-management-system/docs/searching-and-filtering.md): Describes how to create a search solution to help website visitors find what they want by combining Optimizely Data Source controls, listing controls and even third-party controls (.NET and so on). - [Add search providers](https://docs.developers.optimizely.com/content-management-system/docs/adding-search-providers.md): Describes how to add a search provider. - [Search for pages based on page type](https://docs.developers.optimizely.com/content-management-system/docs/searching-for-pages-based-on-page-type.md): Describes how to search for pages based on page type. - [Security](https://docs.developers.optimizely.com/content-management-system/docs/security.md): Describes security in Optimizely Content Management System (CMS) version 12. - [Content security policy](https://docs.developers.optimizely.com/content-management-system/docs/content-security-policy.md): Describes how to prevent cross-site scripting attacks. - [Cookie usage](https://docs.developers.optimizely.com/content-management-system/docs/cookie-usage.md): Describes the use and management of cookies within Optimizely's CMS and DXP environments, ensuring compliance and optimal functionality for users and developers. - [Integrate Entra ID using OpenID Connect](https://docs.developers.optimizely.com/content-management-system/docs/integrate-azure-ad-using-openid-connect.md): Describes how to use OpenID Connect to integrate with Entra ID (formerly Azure AD). It also describes how an Optimizely application can use the OpenID Connect to sign in users from a single/multi-tenant environment, using the ASP.NET OpenID Connect middleware. - [ASP.NET Identity](https://docs.developers.optimizely.com/content-management-system/docs/aspnetidentity.md): Describes the authentication module for managing users and roles. - [Mixed-mode authentication](https://docs.developers.optimizely.com/content-management-system/docs/mixed-mode-authentication.md): Describes a common use case for mixed-mode authentication, having one authentication provider for your back-end users and another provider for website users. - [Permissions to functions](https://docs.developers.optimizely.com/content-management-system/docs/permissions-to-functions.md): Describes how to assign users and roles to a permission in the administrative interface - [Decoupled setup](https://docs.developers.optimizely.com/content-management-system/docs/decoupled-setup.md): Describes how to secure the user interfaces to prevent unauthorized users to access, for a solution with physical separation of servers (decoupled setup). - [Virtual roles](https://docs.developers.optimizely.com/content-management-system/docs/virtual-roles.md): Describes virtual roles, which are an extension of the role concept. - [Filter JavaScript from properties and files](https://docs.developers.optimizely.com/content-management-system/docs/filter-javascript-from-properties-and-files.md): Shows how to sanitize potentially malicious JavaScript - [Synchronization](https://docs.developers.optimizely.com/content-management-system/docs/synchronization.md): Describes the synchronization procedure in Optimizely. - [User notifications](https://docs.developers.optimizely.com/content-management-system/docs/using-notifications.md): Introduces the User Notifications framework in Optimizely, intended for sending user-to-user notification messages. - [Subscription keys](https://docs.developers.optimizely.com/content-management-system/docs/subscription-keys.md): Describes the subscription keys for the User Notifications framework used for sending user-to-user notification messages in Optimizely Content Management System (CMS). - [User notification examples](https://docs.developers.optimizely.com/content-management-system/docs/usage-examples.md): Shows how to work with user notifications and subscriptions for notifying users in Optimizely Content Management System (CMS). - [Develop the CMS UI](https://docs.developers.optimizely.com/content-management-system/docs/user-interface.md): Describes the Optimizely Content Management System (CMS) user interface from a developer's perspective. - [Add a module initializer](https://docs.developers.optimizely.com/content-management-system/docs/adding-a-module-initializer.md): Describes the module initializer in Optimizely. - [Command pattern](https://docs.developers.optimizely.com/content-management-system/docs/command-pattern.md): Introduces the command pattern used when working with widgets, toolbars, and actions in the Optimizely Content Management System (CMS) user interface. - [Global toolbar commands plugin](https://docs.developers.optimizely.com/content-management-system/docs/global-toolbar-commands-plug-in.md): Describes how to add commands to the global toolbar. - [Plug-in commands](https://docs.developers.optimizely.com/content-management-system/docs/plugging-in-commands.md): Describes how to plug-in commands when working with widgets, toolbars and actions in the Optimizely Content Management System (CMS) user interface. - [Command builders](https://docs.developers.optimizely.com/content-management-system/docs/command-builders.md): Describes command builders used when working with widgets and actions in the Optimizely Content Management System (CMS) user interface. - [Configure CMS user interface](https://docs.developers.optimizely.com/content-management-system/docs/configuring-cms-user-interface.md): Describes available configuration options for the Optimizely user interface, with the purposes of enhancing performance and improving the user experience. - [Configure Shell modules](https://docs.developers.optimizely.com/content-management-system/docs/configuring-shell-modules.md): Describes how to configure custom modules like gadgets and plug-ins, to be used in the Optimizely Content Management System (CMS) user interface. - [Context-sensitive components](https://docs.developers.optimizely.com/content-management-system/docs/context-sensitive-components.md): Describes context-sensitive components in the Optimizely user interface. - [Create a React component](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-react-component.md): Describes how you can use the JavaScript framework React in the Optimizely Content Management System (CMS) user interface; most concepts should be applicable to other JavaScript frameworks also. - [Create MVC component](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-component.md): Describes how to create a component in the Optimizely Content Management System (CMS) user interface. - [Debug CMS UI](https://docs.developers.optimizely.com/content-management-system/docs/debugging-cms-ui.md): Describes how to debug the Optimizely Content Management System (CMS) user interface. - [Describe content in the UI](https://docs.developers.optimizely.com/content-management-system/docs/describing-content-in-the-ui.md): Describes ways to control how content is presented and behaves in the Optimizely Content Management System (CMS) user interface. Content is a central feature in Optimizely products. - [Dialog boxes](https://docs.developers.optimizely.com/content-management-system/docs/dialogs.md): Describes how to use dialog boxes in CMS 12. - [Dojo JavaScript framework](https://docs.developers.optimizely.com/content-management-system/docs/introduction-to-dojo.md): Introduces the Dojo JavaScript framework used for the user interface in Optimizely Content Management System (CMS). - [Drag-and-drop](https://docs.developers.optimizely.com/content-management-system/docs/drag-and-drop.md): Describes how drag-and-drop works in the Optimizely Content Management System (CMS) user interface. - [Edit objects](https://docs.developers.optimizely.com/content-management-system/docs/editing-objects.md): Describes how to automatically create user interfaces for editing objects; similar to working with audiences in Optimizely Content Management System (CMS) or *scaffolding* in MVC; taking any .NET object and automatically generating an editor view for it. - [UI wrapper types](https://docs.developers.optimizely.com/content-management-system/docs/ui-wrapper-types.md): Describes wrapper types for the editor in the Optimizely Content Management System (CMS) user interface. - [Configure the default editor wrapper](https://docs.developers.optimizely.com/content-management-system/docs/configuring-the-default-editor-wrapper.md): Describes how to configure the editor wrapper in Optimizely Content Management System (CMS). The default wrapper is *floating*, however you can also change this to use the *flyout* wrapper. - [Enable headless multi-channel content in CMS](https://docs.developers.optimizely.com/content-management-system/docs/enabling-headless-content.md): Describes how to enable the multi-channel (headless) content solution, or disable it for a hybrid Optimizely Content Management System (CMS) content solution. - [Extend the navigation](https://docs.developers.optimizely.com/content-management-system/docs/extending-the-navigation.md): Describes how to extend the navigation for Optimizely Content Management System (CMS) version 11.21 and higher. - [Use menu providers](https://docs.developers.optimizely.com/content-management-system/docs/using-menu-providers.md): Describes how to use menu providers that are organized in a tree according to their menu path. - [Upgrade navigation](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-navigation.md): Highlights Optimizely Content Management System (CMS) user interface differences before and after version 11.21 and gives examples of what to do in each case. - [Add and configure menu items](https://docs.developers.optimizely.com/content-management-system/docs/adding-and-configuring-menu-items.md): Describes how to add and set up menu items. - [Highlight parent menu items](https://docs.developers.optimizely.com/content-management-system/docs/how-to-highlight-parent-menu-items.md): Describes how to highlight parent menu items. - [Extend the Tasks pane with custom queries](https://docs.developers.optimizely.com/content-management-system/docs/extending-the-tasks-pane-with-custom-queries.md): Describes how to extend the task pane that is part of the Optimizely Content Management System (CMS) user interface. - [Message service pool](https://docs.developers.optimizely.com/content-management-system/docs/message-service-pool.md): Describes the message service used for managing editor alerts in the Optimizely Content Management System (CMS) user interface. - [Plug-in areas](https://docs.developers.optimizely.com/content-management-system/docs/plug-in-areas.md): Describes common plug-in areas in the user interface. - [Plug in a gadget](https://docs.developers.optimizely.com/content-management-system/docs/plugging-in-a-gadget.md): Introduces the plug-in areas for gadgets in the Optimizely Content Management System (CMS) user interface. - [Publish and subscribe messaging system](https://docs.developers.optimizely.com/content-management-system/docs/publish-and-subscribe-messaging-system.md): Describes how the Dojo publish and messaging system is used for components in the Optimizely Content Management System (CMS) user interface. - [Service locator](https://docs.developers.optimizely.com/content-management-system/docs/service-locator.md): Describes the service locator used for registering modular dependencies, when working with components in the Optimizely Content Management System (CMS) user interface. - [Shell profile](https://docs.developers.optimizely.com/content-management-system/docs/shell-profile.md): Describes how to use the profile from client-side code. - [Store architecture](https://docs.developers.optimizely.com/content-management-system/docs/store-architecture.md): Describes the implementation of object stores in Optimizely Content Management System (CMS) and their recommended pattern for use. - [Views](https://docs.developers.optimizely.com/content-management-system/docs/views.md): Describes how to create views. - [Create a view](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-view.md): Shows how to create a view. - [Change a view through configuration](https://docs.developers.optimizely.com/content-management-system/docs/modifying-a-view-through-configuration.md): Shows how to modify a view in the Optimizely Content Management System (CMS) user interface, through configuration. - [Create a component](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-component-1.md): Shows how to create a component that plugs in to the assets pane of the Optimizely Content Management System (CMS) edit view. - [Create a container](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-container.md): Shows how to create the component container used for adding personalized gadgets in Optimizely Content Management System (CMS). - [Replace a component globally](https://docs.developers.optimizely.com/content-management-system/docs/replacing-a-component-globally.md): Describes how to replace a component globally in the Optimizely Content Management System (CMS) user interface. - [Hide or control access to customized components](https://docs.developers.optimizely.com/content-management-system/docs/hiding-or-controlling-access-to-a-component.md): Describes how to manage access to customized components in the Optimizely Content Management System (CMS) user interface. - [Plug components into a view](https://docs.developers.optimizely.com/content-management-system/docs/plugging-in-components-into-a-view.md): Describes how to plug components into a view in the Optimizely Content Management System (CMS) user interface. - [WebSocket support](https://docs.developers.optimizely.com/content-management-system/docs/websocket-support.md): Describes using a WebSocket connection to improve the user interface experience. - [Develop content](https://docs.developers.optimizely.com/content-management-system/docs/develop-content.md) - [Content](https://docs.developers.optimizely.com/content-management-system/docs/content.md): Introduces the concept of content and content types in Optimizely. - [Content types in code](https://docs.developers.optimizely.com/content-management-system/docs/content-types.md): Explains the concept of content types and templates, and how these are associated in Optimizely Content Management System (CMS). - [Content templates](https://docs.developers.optimizely.com/content-management-system/docs/content-templates.md): Describes the concept of content templates used for rendering content in Optimizely. - [Content versions](https://docs.developers.optimizely.com/content-management-system/docs/content-versions.md): Describes the various states a content version can have. - [Content approvals](https://docs.developers.optimizely.com/content-management-system/docs/content-approvals.md): Describes the concepts for reviewing and approving content. - [Configure content selector properties](https://docs.developers.optimizely.com/content-management-system/docs/selecting-content.md): Shows ways to set up content selector properties to create links to other content, such as selecting a page in a page reference property. - [Multilingual content](https://docs.developers.optimizely.com/content-management-system/docs/multilingual-content.md): Describes how to create a content type that implements the ILocalizable interface in several language versions. - [Group content types and properties](https://docs.developers.optimizely.com/content-management-system/docs/grouping-content-types-and-properties.md): Describes how to group content types and properties into logical entities, to make the editing experience more intuitive. - [IContentRepository](https://docs.developers.optimizely.com/content-management-system/docs/icontentrepository-and-datafactory.md): Describes repository methods for Optimizely content, and how to load, list, and persist content instances. - [Persist IContent instances](https://docs.developers.optimizely.com/content-management-system/docs/persisting-icontent-instances.md): Describes how to save and load IContent instances through IContentRepository. - [Validate object instances](https://docs.developers.optimizely.com/content-management-system/docs/validating-object-instances.md): Describes how to validate object instances. - [ContentType attribute](https://docs.developers.optimizely.com/content-management-system/docs/attributes.md): Describes the ContentType attribute, used in Optimizely to define a set of properties needed when creating content types such as pages and blocks. - [Resolve the currently loaded content context](https://docs.developers.optimizely.com/content-management-system/docs/resolving-current-content-context.md): Describes using an instance of CurrentContentContext object to resolve the currently loaded content context. - [Refactor content type classes](https://docs.developers.optimizely.com/content-management-system/docs/refactoring-content-type-classes.md): Explains how to work with refactoring, when you rename, delete, or change content types in Optimizely. - [Create a page programmatically](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-page-programmatically.md): Shows how to create a page programmatically in Optimizely Content Management System (CMS) and set the MainBody property. - [EditHint in MVC](https://docs.developers.optimizely.com/content-management-system/docs/edit-hints-in-mvc.md): Describes how to use EditHint to trigger a full page refresh in edit view, when changing the value of a specific property. - [Improve publishing with inline edit blocks](https://docs.developers.optimizely.com/content-management-system/docs/inline-edit-settings.md): Describes inline blocks introduced to improve the publishing process - [Develop properties](https://docs.developers.optimizely.com/content-management-system/docs/properties.md): Describes how to access and use properties in Optimizely Content Management System (CMS). - [Built-in property types](https://docs.developers.optimizely.com/content-management-system/docs/built-in-property-types.md): Describes how to use built-in property types in your models and also create your own property types. - [Property attributes](https://docs.developers.optimizely.com/content-management-system/docs/property-attributes.md): Describes attributes available for properties in Optimizely Content Management System (CMS). - [PropertyList](https://docs.developers.optimizely.com/content-management-system/docs/generic-propertylist.md): Describes how to define an editable list of objects. - [List properties](https://docs.developers.optimizely.com/content-management-system/docs/property-value-list.md): Describes how to model lists of multiple values. - [Content Metadata properties](https://docs.developers.optimizely.com/content-management-system/docs/content-metadata-properties.md): Describes metadata interfaces and metadata properties that you can define on content models. - [Custom properties](https://docs.developers.optimizely.com/content-management-system/docs/custom-properties.md): Shows how to implement a custom property by selecting a suitable base type. - [Write custom attributes](https://docs.developers.optimizely.com/content-management-system/docs/writing-custom-attributes.md): Describes how to write custom attributes to improve the editor experience, add business rules, or add custom validation. - [Restrict content types in properties](https://docs.developers.optimizely.com/content-management-system/docs/restricting-content-types-in-properties.md): Describes how to control the addition of certain items to a property of type ContentArea, ContentReference or ContentReferenceList. - [Single or multiple list options](https://docs.developers.optimizely.com/content-management-system/docs/single-or-multiple-list-options.md): Describes how to define SelectOne or SelectMany attributes on a property and require a reference to a class implementing the ISelectionFactory interface. - [Built-in auto-suggestion editor](https://docs.developers.optimizely.com/content-management-system/docs/built-in-auto-suggestion-editor.md): Describes how to add auto-suggestions for editors to select, when working in the edit view of Optimizely Content Management System (CMS). - [Use block as property](https://docs.developers.optimizely.com/content-management-system/docs/using-a-block-as-a-property.md): Describes how to add and render existing block types as properties on a content type. - [Editing user interface](https://docs.developers.optimizely.com/content-management-system/docs/editing.md): Describes the architecture and different components of the editing user interface in Optimizely. - [On-page editing with client-side rendering](https://docs.developers.optimizely.com/content-management-system/docs/on-page-editing-with-client-side-rendering.md): Describes how to make client-side rendering easier with on-page editing. - [Create an editor widget](https://docs.developers.optimizely.com/content-management-system/docs/creating-an-editor-widget.md): Describes how to create a custom dojo widget that will be used by Optimizely's edit view. - [Register a custom editor examples](https://docs.developers.optimizely.com/content-management-system/docs/registering-a-custom-editor.md): Describes how to register and configure a custom editor for a specific .NET type. - [Assets and media](https://docs.developers.optimizely.com/content-management-system/docs/assets-and-media.md): Introduces asset management and media types in Optimizely. - [Media types and templates](https://docs.developers.optimizely.com/content-management-system/docs/media-types-and-templates.md): Explains the concept of media types in Optimizely Content Management System (CMS), and describes how to define specialized media types when setting up an Optimizely website. - [Media examples](https://docs.developers.optimizely.com/content-management-system/docs/working-with-media.md): Describes how to work with media types and BLOB providers in Optimizely. - [Content assets and folders](https://docs.developers.optimizely.com/content-management-system/docs/content-assets-and-folders.md): Explains the storing of content-related assets in Optimizely Content Management System (CMS). - [Customize the editing preview for media](https://docs.developers.optimizely.com/content-management-system/docs/custom-editing-preview-for-media.md): Describes how to customize the editing preview for images or video, and add an editing preview for a media type. - [Optimizely DAM asset picker](https://docs.developers.optimizely.com/content-management-system/docs/cmp-dam-asset-picker.md): Information on using the Optimizely DAM asset picker in Optimizely CMS (PaaS). - [Forms](https://docs.developers.optimizely.com/content-management-system/docs/forms.md): Describes where to find documentation for the Optimizely Forms app (add-on) or with XForms (legacy functionality). - [XForms (Legacy)](https://docs.developers.optimizely.com/content-management-system/docs/xforms-legacy-functionality.md): This topic links to Optimizely Forms (CMS 12) and the (deprecated) XForms (CMS 11). - [Links](https://docs.developers.optimizely.com/content-management-system/docs/links.md): Describes links in Optimizely Content Management System (CMS). - [Link to other content](https://docs.developers.optimizely.com/content-management-system/docs/linking-to-other-content.md): Describes how to use ContentReference type to refer to other content in Optimizely without having to write custom properties. - [Personalize content](https://docs.developers.optimizely.com/content-management-system/docs/personalization.md): Introduces how to personalize content in Optimizely Content Management System. - [Create custom audience criteria](https://docs.developers.optimizely.com/content-management-system/docs/developing-custom-visitor-group-criteria.md): Describes audience criteria, which are the building blocks of an audience. - [Example – Create audience criteria](https://docs.developers.optimizely.com/content-management-system/docs/example-create-your-own-visitor-group-criteria.md): Shows how to develop a criteria for categorizing audiences according to whether a specific cookie exists in the session. - [Localize the audience criterion](https://docs.developers.optimizely.com/content-management-system/docs/localizing-the-visitor-group-criterion.md): Describes how to localize your own audience criteria. - [Set up editor templates](https://docs.developers.optimizely.com/content-management-system/docs/editor-templates.md): Describes templates for the editor. - [Configure personalized content](https://docs.developers.optimizely.com/content-management-system/docs/configuring-personalization.md): Describes how to configure settings for personalization features when using audiences. - [Disable personalized content](https://docs.developers.optimizely.com/content-management-system/docs/disable-visitor-group-personalization.md): Describes how you can disable personalization, such as audiences, within CMS. It is enabled by default. - [Session handling in audience criteria](https://docs.developers.optimizely.com/content-management-system/docs/session-handling-in-visitor-group-criteria.md) - [Content providers](https://docs.developers.optimizely.com/content-management-system/docs/content-providers.md) - [Configure content providers](https://docs.developers.optimizely.com/content-management-system/docs/configuring-content-providers.md): Describes the concept of content provider, and how to configure these for Optimizely Content Management System (CMS) websites. - [Projects](https://docs.developers.optimizely.com/content-management-system/docs/projects.md): Describes the projects feature. - [Program projects](https://docs.developers.optimizely.com/content-management-system/docs/creating-a-project-programmatically.md): Describes how to create, update, access and delete projects and project items programmatically in Optimizely Content Management System (CMS). - [Render content](https://docs.developers.optimizely.com/content-management-system/docs/rendering.md): Introduces the concept for rendering content in Optimizely. - [View models and partial views](https://docs.developers.optimizely.com/content-management-system/docs/view-models-and-partial-views.md): Introduces the concept of views, view models and partial views, and provides some examples of how to use these when developing Optimizely Content Management System (CMS) websites using ASP.NET Core. - [TemplateDescriptor and tags](https://docs.developers.optimizely.com/content-management-system/docs/templatedescriptor-and-tags.md): Describes how to work with the TemplateDescriptor attribute and tags in Optimizely Content Management System (CMS), to define which template you should select for rendering in a specific context, when using multiple templates to render the same content. - [Select templates](https://docs.developers.optimizely.com/content-management-system/docs/selecting-templates.md): Describes how templates are selected by the system, if you are using multiple templates to render content in different context and display channels in Optimizely. - [Display channels](https://docs.developers.optimizely.com/content-management-system/docs/display-channels.md): Describes the concept of display channels in Optimizely Content Management System (CMS). - [Change template programmatically](https://docs.developers.optimizely.com/content-management-system/docs/changing-template-programmatically.md): Describes how to programmatically change the template that is used to render a page. - [Display options](https://docs.developers.optimizely.com/content-management-system/docs/display-options.md): Describes how to specify which render templates are available for selection in the user interface. - [Preview rendering for blocks](https://docs.developers.optimizely.com/content-management-system/docs/preview-rendering-for-blocks.md): Describes how to create a view and controller for previewing blocks in Optimizely. - [Add editing attributes](https://docs.developers.optimizely.com/content-management-system/docs/adding-editing-attributes-using-property-web-control.md): Describes how to add editing attributes for content rendering in a template, when working with Optimizely Content Management System (CMS). - [Render properties with tag helpers](https://docs.developers.optimizely.com/content-management-system/docs/rendering-properties-with-tag-helpers.md) - [Develop apps for CMS](https://docs.developers.optimizely.com/content-management-system/docs/developing-add-ons.md): Provides guidelines and recommendations for developing and packaging custom apps (add-ons) for CMS. - [Apps (add-ons) platform compatibility](https://docs.developers.optimizely.com/content-management-system/docs/add-ons-platform-compatibility.md): An overview of installation options and version compatibility for apps (also known as add-ons and integrations) developed and owned by Optimizely. - [Optimizely App Directory](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-app-marketplace.md): Describes the Optimizely App Directory where you can find additional solutions - applications, integrations, and connectors to Optimizely, that broaden the digital experience into a complete solution. - [Install CMS apps (add-ons)](https://docs.developers.optimizely.com/content-management-system/docs/installing-add-ons.md): Describes how to install, update and disable apps (add-ons). - [About the app verification process](https://docs.developers.optimizely.com/content-management-system/docs/about-the-add-on-verification-process.md): Describes the app (add-on) verification process. - [Package and deploy CMS apps](https://docs.developers.optimizely.com/content-management-system/docs/add-ons.md): Describes the CMS app (add-on) concept, and how to package and deploy apps. - [Migrate apps to ASP.NET Core](https://docs.developers.optimizely.com/content-management-system/docs/migrating-add-ons-to-net-5.md): Describes how to migrate apps (add-ons) to ASP.NET Core. - [Optimizely Opal](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-opal.md): Install the Optimizely Opal app in Optimizely Content Management System (CMS). - [Google Analytics for Optimizely](https://docs.developers.optimizely.com/content-management-system/docs/google-analytics-for-optimizely.md): Describes integrating Google Analytics with Optimizely Content Management System and Optimizely Commerce Connect. - [Marketing & interaction apps](https://docs.developers.optimizely.com/content-management-system/docs/ma-connectors.md): The Optimizely Connect for Marketing Automation (MA) integration suite lets marketers automate activities such as web form interaction with Optimizely Forms, and sending out emails based on visitor behavior, using popular MA products. - [Optimizely Forms](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-forms.md): Describes forms, a block-based approach that lets you reuse components and customize forms rendering. - [Connect for Acoustic](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-acoustic-silverpop.md): Connects Acoustic (formerly Silverpop) with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Silverpop. - [Connect for Campaign](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-campaign.md): Connects Optimizely Campaign with Optimizely Content Management System and Optimizely Forms. - [Connect for Delivra](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-delivra.md): Connects Delivra with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Delivra. - [Connect for Eloqua](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-eloqua.md): Connects Eloqua with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Eloqua. - [Connect for HubSpot](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-hubspot.md): Connects HubSpot with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with HubSpot. - [Connect for Marketo](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-marketo.md): Connects Marketo with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Marketo. - [Connect for Microsoft Dynamics CRM](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-microsoft-dynamics-crm.md): Connects Microsoft Dynamics CRM with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Microsoft Dynamics CRM. - [Connect for Pardot](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-pardot.md): Connects Pardot with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Pardot. - [Connect for Salesforce](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-salesforce.md): Connects Salesforce with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Salesforce. - [Connect for Salesforce Marketing Cloud](https://docs.developers.optimizely.com/content-management-system/docs/connect-for-salesforce-marketing-cloud-exacttarget.md): Connects Salesforce Marketing Cloud (ExactTarget) with Optimizely Forms, letting marketers collect visitor data, and pass that on to be used with Salesforce Marketing Cloud. - [Custom connector](https://docs.developers.optimizely.com/content-management-system/docs/custom-connector.md): Shows how to build a sample connector that implements the necessary components for integration with the marketing connector framework and explain the intended use of those methods. - [Optimizely DataCash payment provider](https://docs.developers.optimizely.com/content-management-system/docs/datacash.md): Describes the Optimizely DataCash payment provider, which connects Optimizely Commerce Connect with DataCash, providing multi-channel global payment processing services and advanced fraud prevention and risk management solutions. - [Optimizely PayPal payment provider](https://docs.developers.optimizely.com/content-management-system/docs/paypal.md): Describes the Optimizely PayPal payment provider, which connects Optimizely Commerce Connect with PayPal, a widely used and internationally recognized system for accepting credit card payments. - [Optimizely DIBS payment provider](https://docs.developers.optimizely.com/content-management-system/docs/dibs.md): Describes the Optimizely DIBS payment provider, which connects Optimizely Commerce Connect with DIBS, a popular and widely used system for accepting credit card payments. - [Optimizely Visitor Group Criteria Pack](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-visitor-group-criteria-pack.md): Describes the Optimizely Visitor Group Criteria Pack, which provides more personalization criteria in addition to the built-in ones, including the possibility to personalize for display channel, OS and browser. - [Optimizely Strategy Container Block (Legacy)](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-strategy-container-block.md): Describes the legacy Strategy Container Block add-on that lets editors and marketers configure strategies for Advance, directly from the Optimizely Content Management System (CMS) edit view. This was replaced by Optimizely Content Recommendations. - [PowerSlice for Optimizely Content Management System](https://docs.developers.optimizely.com/content-management-system/docs/powerslice.md): Describes PowerSlice for Optimizely Content Management System (CMS), which provides fast content filtering when working in edit view, suitable for sites with large numbers of pages and blocks. - [AvaTax tax compliance](https://docs.developers.optimizely.com/content-management-system/docs/avatax.md): Describes how to manage tax compliance obligations imposed by state, local, and other international taxing authorities with Avalara AvaTax. - [Optimizely Self-Optimizing Block](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-self-optimizing-block.md): Describes the Optimizely Self-Optimizing Block that lets you optimize Optimizely Content Management System (CMS) pages with blocks through multivariate testing of blocks with similar content, automatically selecting the "winner" generating the most conversions. - [Optimizely A/B testing (legacy)](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-ab-testing.md): Describes how to create variations for a number of page elements (blocks, images, content, buttons, and form fields), then compare which variation performs best. - [TinyMCE editor app](https://docs.developers.optimizely.com/content-management-system/docs/tinymce-editor.md): Describes how to configure the TinyMCE editor 2.0 and higher. It also covers how to add your own plugins, overriding the default settings, tips for using TinyMCE on your template page and so on. - [TinyMCE default settings](https://docs.developers.optimizely.com/content-management-system/docs/default-settings.md): Describes the built-in settings for the TinyMCE editor. - [TinyMCE property configuration](https://docs.developers.optimizely.com/content-management-system/docs/property-configuration.md): Describes ways to define a configuration to use on different properties. - [TinyMCE configuration API](https://docs.developers.optimizely.com/content-management-system/docs/configuration-api.md): Describes the configuration API for the TinyMCE editor. - [TinyMCE custom style formats](https://docs.developers.optimizely.com/content-management-system/docs/custom-style-formats.md): Describes how to add more advanced style formats for text and other elements to the TinyMCE editor. - [TinyMCE plug-ins](https://docs.developers.optimizely.com/content-management-system/docs/plug-ins.md): Describes TinyMCE editor plug-in features. - [TinyMCE example: Allow added custom relative paths in TinyMCE](https://docs.developers.optimizely.com/content-management-system/docs/example-extending-hyperlink-editor-descriptor.md): Shows how to extend the HyperLink editor descriptor and use the TinyMCE custom link dialog box to let an editor create links relative to the site. - [Optimizely Spellchecker for TinyMCE](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-spellchecker-for-tinymce.md): Describes the Optimizely Spellchecker for TinyMCE, which adds spell-checking functionality for the built-in rich-text editor in Optimizely Content Management System (CMS), with possibility to configure language dictionaries. - [TinyMCE editor (Legacy)](https://docs.developers.optimizely.com/content-management-system/docs/tinymce-editor-legacy.md): This documentation is for a legacy version of the TinyMCE add-on when it was included in the CMS package. - [Property settings for TinyMCE (Legacy)](https://docs.developers.optimizely.com/content-management-system/docs/property-settings-for-tinymce-legacy.md): This topic is for version 1 of the TinyMCE add-on only and describes property settings. - [Optimizely Labs](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-labs.md): Describes Optimizely Labs, which are add-ons developed by Optimizely as experimental product trials. - [Optimizely Languages](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-languages.md): Describes Optimizely Languages, which provides easy access to a single interface for managing multiple languages and translations of content, with a built-in feature for managing automated translations. - [Optimizely PDF Preview](https://docs.developers.optimizely.com/content-management-system/docs/optimizely-pdf-preview.md): Describes the Optimizely PDF Preview add-on, which lets editors preview PDF documents in edit view. - [CMP + CMS](https://docs.developers.optimizely.com/content-management-system/docs/cms-cmp.md) - [CMP DAM in CMS](https://docs.developers.optimizely.com/content-management-system/docs/cmp-dam-in-cms.md): Integrate Optimizely Digital Asset Management (DAM) with Optimizely Content Management System (CMS) 12 for seamless access to digital assets. - [CMS + CMP publishing integration](https://docs.developers.optimizely.com/content-management-system/docs/cms-cmp-publishing-integration.md): How to install and configure the publishing experience between CMS and CMP. - [CMP Content Repository](https://docs.developers.optimizely.com/content-management-system/docs/cmp-content-repository.md): Describes the Optimizely Content Marketing Platform Content Repository structure. - [Configured Commerce + CMS](https://docs.developers.optimizely.com/content-management-system/docs/configured-commerce-cms.md): Using Optimizely Configured Commerce with Optimizely Content Management System. - [Install Configured Commerce + CMS](https://docs.developers.optimizely.com/content-management-system/docs/install-configured-commerce-cms.md): Install Optimizely Configured Commerce + Optimizely Content Management System. - [Manage website elements with Configured Commerce and CMS](https://docs.developers.optimizely.com/content-management-system/docs/manage-website-elements-with-configured-commerce-and-cms.md): Decide whether to use Optimizely Configured Commerce or CMS to manage different website elements - [ODP + CMS](https://docs.developers.optimizely.com/content-management-system/docs/odp-cms-1.md): How to integrate Optimizely Data Platform with Optimizely Content Management System (PaaS). - [Configure Real-Time Audiences to personalize CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/odp-cms.md): Configure real-time CMS personalization with Optimizely Data Platform (ODP) to enhance user experiences and drive engagement. - [DXP architecture](https://docs.developers.optimizely.com/content-management-system/docs/architecture.md): Introduces the Optimizely Digital Experience Platform (DXP) with included products and features, and how to get started developing. - [Install and configure Optimizely Graph on your site](https://docs.developers.optimizely.com/content-management-system/docs/install-and-configure-optimizely-graph-on-your-site.md): How to install and configure content sync from Optimizely Content Management System as part of the Optimizely Graph service. - [Sync from CMS 12](https://docs.developers.optimizely.com/content-management-system/docs/synchronize-from-optimizely-content-management-system.md): Sync content and content types with the Optimizely Content Delivery API when using the Optimizely GraphQL API querying service. - [Event-driven synchronization](https://docs.developers.optimizely.com/content-management-system/docs/event-driven-synchronization.md): How to use event-driven content synchronization to ensure that everything in the Optimizely GraphQL querying service is up-to-date. - [Scheduled synchronization](https://docs.developers.optimizely.com/content-management-system/docs/scheduled-synchronization.md): How to use scheduled content synchronization to ensure that everything in the Optimizely GraphQL querying service is up-to-date. - [Conventions API](https://docs.developers.optimizely.com/content-management-system/docs/conventions-api.md) - [Smooth rebuild](https://docs.developers.optimizely.com/content-management-system/docs/smooth-rebuild.md): Learn how to perform a smooth rebuild for the provided CMS instance using Optimizely Graph. - [Enable and disable website languages](https://docs.developers.optimizely.com/content-management-system/docs/enable-and-disable-website-languages.md): How to enable and disable website languages in GraphQL. - [PaaS CMS Core + OpenID](https://docs.developers.optimizely.com/content-management-system/docs/paas-cms-core-openid.md): How to use the Open ID Connect app (add-on). - [Upgrade to CMS 11](https://docs.developers.optimizely.com/content-management-system/docs/cms-11.md): Optimizely Content Management System (CMS 11) is a major version containing some incompatible API changes. - [Breaking changes in CMS 11](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-cms-11.md): This topic describes breaking changes for Optimizely Content Management System (CMS 11) in relation to previous version 10, and the steps needed to update affected code. - [New NuGet packages](https://docs.developers.optimizely.com/content-management-system/docs/new-nuget-packages.md): In Optimizely Content Management System (CMS 11), some functionality was moved to separate NuGet packages. - [Upgrade Optimizely Mail 10 to CMS 11](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-optimizely-mail-10-to-cms-11.md): This topic describes how to install/upgrade an Alloy sample site with Optimizely Mail 8 and Optimizely Content Management System (CMS 11). - [Upgrade Episerver Relate to CMS 11](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-episerver-relate-to-cms-11.md): This topic describes how to upgrade Episerver Relate to Optimizely Content Management System (CMS 11). - [Upgrade to CMS 10](https://docs.developers.optimizely.com/content-management-system/docs/cms-10.md): Optimizely Content Management System (CMS 10) is a major version containing some incompatible API changes. - [Breaking changes in CMS 10](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-in-cms-10.md): This topic describes breaking changes for Optimizely Content Management System (CMS 10) in relation to previous version 9, and the steps needed to update affected code. - [Upgrade to CMS 9](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-to-cms-9.md): Optimizely Content Management System (CMS 9) is a major version containing some incompatible API changes. - [Breaking changes in CMS 9](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-in-cms-9-1.md): This topic describes breaking changes for Optimizely Content Management System (CMS 9) in relation to previous version 8, and the steps needed to update affected code. - [Episerver Mail 8](https://docs.developers.optimizely.com/content-management-system/docs/episerver-mail-8.md): Episerver Mail 8 is compatible with Optimizely Content Management System (CMS 9). - [Upgrade to CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-to-cms-8.md): Optimizely Content Management System (CMS 8) is a major version containing some incompatible API changes. - [Breaking changes in CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-in-cms-8.md): This topic describes breaking changes for Optimizely Content Management System (CMS 8) in relation to previous version 7.5+, and the steps needed to update affected code. - [Changes to content loading in CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/changes-to-content-loading-in-cms-8.md): This topic describes changes to content loading in Optimizely Content Management System (CMS 8). - [Changes to the Category API in CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/changes-to-the-category-api-in-cms-8.md): This topic describes improvements to the performance of categories in Optimizely Content Management System (CMS 8), by updating the Category API to use the read-only instance pattern commonly used in other areas of the API. - [Add-on support for CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/add-on-support-for-cms-8.md): Semantix is not compatible with Optimizely Content Management System (CMS 8). - [Upgrade CMO with CMS 8](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-episerver-cmo-with-cms-8.md): This topic describes how to upgrade CMO with Optimizely Content Management System (CMS 8). - [Upgrade from MVC 4 to 5](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-from-mvc-4-to-5.md): This document describes the steps needed to upgrade an existing Optimizely Content Management System (CMS 8) solution from ASP.NET MVC 4 to MVC 5. - [Upgrade to CMS 7.5](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-to-cms-75.md): This topic describes breaking changes for Optimizely Content Management System (CMS 7.5) in relation to previous versions, and steps needed to update affected code. - [CMS and OWIN](https://docs.developers.optimizely.com/content-management-system/docs/episerver-and-owin.md): This topic explains what functionality is depending on OWIN and how to create your own startup class. - [Upgrade to .NET Framework 4.5](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-to-net-framework-45.md): This topic describes how to upgrade to .NET Framework 4.5. - [Migrating VPP-based files to the new media system](https://docs.developers.optimizely.com/content-management-system/docs/migrating-vpp-based-files-to-the-new-media-system.md): This topic describes how to migrate VPP-based files to the new media file system. - [Upgrade to CMS 7](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-to-cms-7.md): This topic describes the general upgrading procedure for Optimizely Content Management System (CMS 7). - [Breaking changes in CMS 7](https://docs.developers.optimizely.com/content-management-system/docs/breaking-changes-in-cms-7.md): This topic describes breaking changes for Optimizely Content Management System (CMS 7) in relation to the previous version CMS 6 R2, and the steps needed to update affected code. - [Upgrade from legacy versions](https://docs.developers.optimizely.com/content-management-system/docs/upgrading-from-legacy-versions.md): This topic describes how to upgrade from versions of Optimizely Content Management System (CMS) prior to CMS 7. ## API Reference - [Class Libraries and APIs](https://docs.developers.optimizely.com/content-management-system/reference/class-libraries-and-apis.md): This topic contains links to class libraries and APIs related to Optimizely CMS. - [Get content by given content reference or unique identifier and language.](https://docs.developers.optimizely.com/content-management-system/reference/content_getbycontentidentifier.md) - [Get the children of the content item by given content reference or unique identifier and language.](https://docs.developers.optimizely.com/content-management-system/reference/content_getchildren.md) - [Get the ancestors of the content item by given content reference or unique identifier and language.](https://docs.developers.optimizely.com/content-management-system/reference/content_getancestors.md) - [Get content by given content url or by list of GUID/Reference with given language](https://docs.developers.optimizely.com/content-management-system/reference/content_querycontent.md) - [Get a list of sites.](https://docs.developers.optimizely.com/content-management-system/reference/site_list.md) - [Gets the site with the provided identifier.](https://docs.developers.optimizely.com/content-management-system/reference/site_get.md)