Skip to content

Archived in v1.1. This feature area was split into Course Creation and Pathway Creation.

Course & Pathway Creation

Overview

Course & Pathway Creation covers the tools content authors use to build and publish courses and programs — the course outline editor, unit editing interface, settings pages, and program authoring tools. Studio is Open edX's authoring environment and one of its most significant differentiators from competing LMS platforms.

The modern Studio experience is delivered by frontend-app-authoring (a React MFE), which has been progressively replacing the Django-rendered Studio since approximately 2022.

Current State (2026)

  • Course outline: frontend-app-authoring MFE provides the course outline, with drag-and-drop section/subsection/unit organization
  • Unit editor: The unit editing page in frontend-app-authoring replaces the legacy Studio unit editor
  • Settings: Course dates, grading policy, and advanced settings migrating to MFE; some still in Django-rendered Studio
  • OLX format: All course content stored as Open Learning XML (OLX) — XML + HTML + assets in a tarball
  • Import/Export: Courses exportable as .tar.gz OLX archives; importable between Open edX instances
  • Programs: Program authoring (sequences of courses) done via Django admin or the course-discovery service admin

Architecture

  • Frontend: frontend-app-authoring communicates with Studio (CMS) backend APIs in edx-platform
  • Backend: Studio (cms/ in edx-platform) is a Django application with its own database; shares MongoDB with LMS for course structure
  • Content storage: Course structure stored in MongoDB; assets stored in GridFS or S3
  • Publishing: Authoring changes published from Studio to LMS via a publish signal; not real-time
  • OLX: The canonical on-disk format; import/export uses tarball extraction/compression

Relevant Repositories

RepositoryRole in This FeatureActivity LevelNotes
openedx/frontend-app-authoringStudio MFE: outline, units, settingsHighPrimary authoring frontend
openedx/openedx-platformStudio/CMS backend: course structure, OLX, assetsHighcms/ directory
openedx/olxcleanerOLX validation and error checking toolLowDev/migration tool
openedx/cc2olxCommon Cartridge to OLX converterLowContent migration tool
openedx/modular-learningExperimental modular course structureLowResearch/prototype

Recent Changes

  • frontend-app-authoring progressively replacing Django Studio pages
  • Unit editor migration from legacy to MFE

History

Origin

  • Year introduced: 2012 (Studio launched alongside the LMS as edX's course creation tool)
  • Initial implementation: Django-rendered web application (separate from LMS); authors accessed at studio. subdomain
  • Context: Studio was a key innovation — a browser-based course editor for non-technical instructors; replaced earlier command-line or file-based course authoring

Key Milestones

YearMilestoneTeams / People Involved
2012Studio (CMS) launched as Django web appUnknown
2013Open sourced along with LMSUnknown
~2022frontend-app-authoring MFE development beginsUnknown
~2023–2025Progressive Studio → MFE migration page by pageUnknown

People Who Shaped This Area

  • Engineering: Unknown — open question for interview
  • Product: Unknown — open question for interview
  • Design: Unknown — open question for interview

Open Questions

  • [ ] Who designed Studio and what were the original authoring principles?
  • [ ] Why was Studio built as a separate Django app rather than integrated into the LMS?
  • [ ] What was the original course outline UX and how has it evolved?
  • [ ] When did the decision to migrate Studio to an MFE happen and who drove it?
  • [ ] What are the biggest usability challenges that instructors report with course creation?
  • [ ] How does the OLX format constrain or enable course authoring compared to other platforms?

Schema Education — Internal Research