Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Dojo JavaScript framework

Introduces the Dojo JavaScript framework used for the user interface in Optimizely Content Management System (CMS).

Optimizely Content Management System (CMS) uses the Dojo Toolkit as the JavaScript framework on which client-side development is done.

The Dojo toolkit is a client-side framework for building rich internet applications hosted in a web browser. Dojo is an open-source framework that helps speed up the development of cross-platform rich internet applications by giving you a lot of features. Some key features include:

  • Rich UI widgets using the Dijit widget system
  • Asynchronous communication
  • Class declaration and modular development
  • Desktop and mobile support

The Dojo Toolkit consists of three main components:

  • dojo – The core API of the framework and contains features for DOM manipulation, class declaration, event listening, message publishing and subscription, and asynchronous requests and processing.
  • dijit – The user interface system built on top of the Dojo core. Its primary feature is the widget system which is used to manage and manipulate visual elements in a modular manner.
  • dojox – A collection of sub-projects built on top of the Dojo core. This can be considered a repository of Dojo plugins or a testing ground for features that will, in the future, be part of the Dojo or Dijit namespace.

Dojo has a selection of tutorials, blogs, and other resources that help developers come up to speed with the framework.

  • API – The Dojo API documentation is generated from the code and lets you navigate the objects within the framework.
  • Blog Posts – Many blogs about Dojo features on the internet exist. Search for a topic that interests you. Sitepen is dedicated to Dojo development and has an excellent series of blog posts for anyone new to it, called their quick start guide.
  • Bug Tracking – The bug tracking system helps you when you discover some strange behavior because there may already be a patch for the issue.