Jump to Content
Dev Guide
API Reference
User Guide
Home
Dev Guide
Recipes
API Reference
Commerce Connect
Configured Commerce
Content Management System
Content Marketing Platform
Cross-platform products
Digital Experience Platform
Experimentation Data
Feature Experimentation
Optimizely Connect Platform
Optimizely Data Platform
Performance Edge
Recommendations
Web Experimentation
Campaign
Full Stack Experimentation
v1.0.0-CMS-SaaS
v1.1.0-search-and-navigation
v1.2.0-forms
v1.4.0-community-api
v1.5.0-content-delivery-api
v1.6.0-content-management-api
v1.7.0-content-definitions-api
v11.0.0-cms
v12.0.0-cms
Dev Guide
API Reference
User Guide
GitHub
NuGet
Dev Community
Optimizely Academy
Submit a ticket
Log In
Dev Guide
GitHub
NuGet
Dev Community
Optimizely Academy
Submit a ticket
Log In
Moon (Dark Mode)
Sun (Light Mode)
Content Management System
CMS 12
Dev Guide
Optimizely PayPal payment provider
Search
CMS Content Managers
Get started with CMS for users
CMS users and related tasks
User interface
CMS dashboard
On-Page Editing view
All Properties editing view
Reports for CMS content
Structure the website
Optimizely Labs
Glossary of terms
Video tutorials and demos
Create content
Edit content using the TinyMCE rich-text editor
Add links
Add and edit images
Work with web forms
Optimizely Spellchecker for TinyMCE
Add user-generated content
Edit multi-channel content in Optimizely
Collaborate with comments
Manage content
Find content
Compare versions of content
Publish versions of content
Delete and restore content
Create a category
Control the publishing process
Preview content
Approve content
Approve changes
Approve sequences
Manage assets
Folders
Media
Blocks
Optimizely Digital Asset Management Asset Picker
Best practices for organizing assets
Manage audiences
Audience criteria
Personalize a digital experience with audiences
Manage forms
Form element types
Create a form
Configure a form element
Manage form submissions
Example: Create an email sign up form
Example: Create a satisfaction survey form
Example: Create a customer satisfaction survey
Example: Create a job application form
Example: Create a multi-page job application form
Manage languages
Manage website languages
Translate content
Fallback languages
Optimizely Languages app
Manage projects
Work with projects
Examples of using the project functionality
SEO
Search configuration
Personalize search results
User scenarios
Launch a sales campaign for a group of products
Target marketing segments for mailing campaigns
Make product recommendations
Make content recommendations
CMS Administrators
Manage websites
Export and import data
Convert pages
Schedule jobs through the UI
Edit tabs
Manage plug-ins
Change log
Settings
Access rights without Opti ID
Access rights with Opti ID
Content types in the UI
Set permissions
Add users and groups
Configure properties
License information
Integrate apps
Google Analytics for Optimizely
Marketing Automation
Acoustic connector (CMS 12)
Delivra connector (CMS 12)
Eloqua connector (CMS 12)
Hubspot connector (CMS 12)
Marketo connector (CMS 12)
Microsoft Dynamics CRM connector (CMS 12)
Pardot connector (CMS 12)
Salesforce connector (CMS 12)
Salesforce Marketing Cloud connector (CMS 12)
Optimizely Connect for Campaign
Optimizely Connect for SharePoint
Optimizely Live Monitor
Optimizely Social Reach
Self-Optimizing Block
CMS Developers
Get started with CMS 12
Learning path
Developer prerequisites
What is a CMS?
Technology stack
Optimizely UI
Alloy demonstration templates
Upgrade Optimizely
Initial configuration
Content model and views
Create and edit content
Media support
Content tree and routing
Link collections and navigation
Security checklist
Deployment
Optimizely user interface
Configure a development environment
Learn basic editing
Create a CMS starter project
CMS documentation videos
Configure CMS 12
System requirements for Optimizely
Install Optimizely (ASP.NET Core)
NuGet package families in CMS
Resolve NuGet dependency conflicts
Upgrade to CMS 12
Breaking changes in CMS 12
Why upgrade to CMS 12?
Upgrade Assistant
Upgrade to CMS Core 12.17.0
Configure CMS
Cms section
CmsUI section
Configure DataAccess and DynamicDataStore
module.config
Change URLs for edit and admin views
Validate links
Initialize CMS
Create an initialization module
Dependency injection
Deploy CMS
Plan a deployment
Deployment scenarios
Manage cloud licenses
Deploy to Azure Web Apps
Deploy to Windows servers
Set up multiple sites
Install database schema
Automatic schema updates
Configure CDN
Configure database mode
Configure email server
Create a Docker file for a CMS app
Store UTC date and time in the database (Legacy)
Develop the CMS
BLOB storage and providers
Configure a custom BLOB provider
Add Azure BLOB provider to your .NET Core application
Cache options and methods
Cache objects
Cache read-only objects
Configure in-memory cache limits
Client resources
Dynamic Data Store
Configure DDS
Index properties
Map stores
Support LINQ
Identity, date, and time
Events and event providers
Create a custom event provider
Add Azure event provider to .NET Core application
Use the Event API
File Providers
Globalization
Globalization scenarios
Localize the user interface
Configure a custom localization provider
Localization service
Retrieve localization service
Determine languages
Add a custom language
Log activity
Logging options
Write log messages
Routing
Partial routing
Example of News partial routing
Route to BLOB
Internationalized resource identifiers (IRIs)
Scheduled jobs
Search
Search and filter
Add search providers
Search for pages based on page type
Security
Content security policy
Cookie usage
Integrate Entra ID using OpenID Connect
ASP.NET Identity
Mixed-mode authentication
Permissions to functions
Decoupled setup
Virtual roles
Synchronization
User notifications
Subscription keys
User notification examples
Develop the CMS UI
Add a module initializer
Command pattern
Global toolbar commands plugin
Plug-in commands
Command builders
Configure CMS user interface
Configure Shell modules
Context-sensitive components
Create a React component
Create MVC component
Debug CMS UI
Describe content in the UI
Dialog boxes
Dojo JavaScript framework
Drag-and-drop
Edit objects
UI wrapper types
Configure the default editor wrapper
Enable headless multi-channel content in CMS
Extend the navigation
Use menu providers
Upgrade navigation
Add and configure menu items
Highlight parent menu items
Extend the Tasks pane with custom queries
Message service pool
Plug-in areas
Plug in a gadget
Publish and subscribe messaging system
Service locator
Shell profile
Store architecture
Views
Create a view
Change a view through configuration
Create a component
Create a container
Replace a component globally
Hide or control access to customized components
Plug components into a view
WebSocket support
Develop content
Content
Content types in code
Content templates
Content versions
Content approvals
Select content
Multilingual content
Group content types and properties
IContentRepository
Persist IContent instances
Validate object instances
ContentType attribute
Resolve the currently loaded content context
Refactor content type classes
Create a page programmatically
EditHint in MVC
Improve publishing with inline edit blocks
Convert page types for pages (Legacy)
Develop properties
Built-in property types
Property attributes
PropertyList
List properties
Content Metadata properties
Custom properties
Write custom attributes
Restrict content types in properties
Single or multiple list options
Built-in auto-suggestion editor
Use block as property
Property controls (Legacy)
Editing user interface
On-page editing with client-side rendering
Create an editor widget
Register a custom editor examples
Assets and media
Media types and templates
Media examples
Content assets and folders
Customize the editing preview for media
Optimizely DAM asset picker
Integrate CMP DAM asset picker in CMS
Forms
XForms (Legacy)
Links
Link to other content
Personalize content
Create custom audience criteria
Example – Create audience criteria
Localize the audience criterion
Set up editor templates
Configure personalized content
Disable personalized content
Session handling in audience criteria
Content providers
Configure content providers
Projects
Program projects
Render content
View models and partial views
TemplateDescriptor and tags
Select templates
Display channels
Change template programmatically
Display options
Preview rendering for blocks
Add editing attributes
Render properties with tag helpers
Dynamic content (Legacy)
Develop apps for CMS
Apps (add-ons) platform compatibility
Optimizely App Directory
Install CMS apps (add-ons)
About the app verification process
Package and deploy CMS apps
Migrate apps to ASP.NET Core
Analytics apps
Google Analytics for Optimizely
Marketing & interaction apps
Optimizely Forms
Connect for Acoustic (Silverpop)
Connect for Campaign
Connect for Delivra
Connect for Eloqua
Connect for HubSpot
Connect for Marketo
Connect for Microsoft Dynamics CRM
Connect for Pardot
Connect for Salesforce
Connect for Salesforce Marketing Cloud
Custom connector
Payment apps
Optimizely DataCash payment provider
Optimizely PayPal payment provider
Optimizely DIBS payment provider
Personalization apps
Optimizely Visitor Group Criteria Pack
Optimizely Strategy Container Block (Legacy)
Search & Navigation apps
PowerSlice for Optimizely Content Management System
Tax & compliance apps
AvaTax tax compliance
Testing apps
Optimizely Self-Optimizing Block
Optimizely A/B testing (legacy)
TinyMCE editor app
TinyMCE default settings
TinyMCE property configuration
TinyMCE configuration API
TinyMCE custom style formats
TinyMCE plug-ins
TinyMCE example: Allow added custom relative paths in TinyMCE
Optimizely Spellchecker for TinyMCE
TinyMCE editor (Legacy)
Property settings for TinyMCE (Legacy)
Utility apps
Optimizely Labs
Optimizely Languages
Optimizely PDF Preview
CMS integrations
CMP + CMS
CMP DAM in CMS
CMS + CMP publishing integration
CMP Content Repository
Migrate DAM assets using the API
CMS + CMP release notes
Configured Commerce + CMS
Install Configured Commerce + CMS
Manage website elements with Configured Commerce and CMS
ODP + CMS
Configure Real-Time Segments to personalize CMS 12
DXP Cloud Services
DXP architecture
DXP developer documentation
Optimizely Graph
Install and configure Optimizely Graph on your site
Synchronize from Optimizely Content Management System
Event-driven synchronization
Scheduled synchronization
Conventions API
Smooth Rebuild
Enable and disable website languages
PaaS CMS Core + OpenID
Upgrade to CMS 11 or lower
Upgrade to CMS 11
Breaking changes in CMS 11
New NuGet packages
Upgrade Optimizely Mail 10 to CMS 11
Upgrade Episerver Relate to CMS 11
Upgrade to CMS 10
Breaking changes in CMS 10
Upgrade to CMS 9
Breaking changes in CMS 9
Episerver Mail 8
Upgrade to CMS 8
Breaking changes in CMS 8
Changes to content loading in CMS 8
Changes to the Category API in CMS 8
Add-on support for CMS 8
Upgrade CMO with CMS 8
Upgrade from MVC 4 to 5
Upgrade to CMS 7.5
CMS and OWIN
Upgrade to .NET Framework 4.5
Migrating VPP-based files to the new media system
Upgrade to CMS 7
Breaking changes in CMS 7
Upgrade from legacy versions