HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

User interface

Describes the Optimizely Content Management System (CMS) user interface from a developer's perspective.

The user interface in Optimizely Content Management System (CMS) is component-based and pluggable, and the UI framework is used across platform parts. The user interface has support for drag-and-drop (DND) functionality based on the DND system in Dojo, and extendable navigation for easy access to customized modules from the top global menu. The user interface also has support for Dojo Toolkit including Dijit for widgets and jQuery.


Client and server sides

The user interface is based on a framework with a server-side part based on ASP.NET MVC, and a client-side part using the JavaScript library Dojo, see Introduction to Dojo. The user interface offers context awareness where possible, to have the page/user control to automatically reload when the context is changed, to display customized content.

The creation of user interface elements is based on JavaScript and the Dojo toolkit. When the application starts up, a user interface definition is retrieved from a REST store on the web server, and then instantiated on the client.

The server side user interface definition, called a view, is declared dynamically, composed from a definition in code, or configuration on the server. See Views about working with parts of the user interface API.

Examples of extendable parts

The CMS user interface is component-based and pluggable, letting developers add customized components to the edit and admin views, and the CMS dashboard.