Skip to main content
Ctrl+K
 Latest documentation - Home

User Home Pages

  • Community
    • Open edX Platform Release Notes
      • Sumac: The Current Release
        • Sumac Release Notes
        • Sumac Developer & Operator Release Notes
      • Teak: June 2025 Release
        • Teak Release Notes
        • Teak Developer & Operator Release Notes
      • Ulmo: December 2025 Release
        • Ulmo Release Notes
        • Ulmo Developer & Operator Release Notes
      • Unsupported Open edX Releases
        • Open edX Redwood Release
        • Open edX Quince Release
        • Open edX Palm Release
        • Open edX Olive Release
        • Open edX Nutmeg Release
        • Open edX Maple Release
        • Open edX Lilac Release
        • Open edX Koa Release
        • Open edX Juniper Release
        • Open edX Ironwood Release
        • Open edX Hawthorn Release
        • Open edX Ginkgo Release
        • Open edX Ficus Release
        • Open edX Eucalyptus Release
        • Open edX Dogwood Release
        • Open edX Cypress Release
        • Open edX Birch Release
      • Site Operators: Named Release Branches and Tags
    • What is the Open edX Product Roadmap?
    • How to Read the Product Roadmap
    • Open edX Security Policy
    • Receive Open edX Platform Announcements by Email
  • Educators
    • Accessibility
      • Open edX® Accessibility Guidelines
      • Accessibility Best Practices Checklist
      • Designing Your Course For a Mobile Experience
      • Manage Video Transcripts
    • Advanced Features
      • About Learner Cohorts
      • Manage Course Cohorts
      • Best Practices for Cohort Assignment Strategies
      • Offering Different Content to Different Learner Groups
      • Guide to Creating Cohort-Specific Course Content
      • About Content Groups
      • Manage Content Groups
      • Associate Cohorts with Content Groups
      • View Cohort-Specific Course Content
      • About Content Experiments
      • About Group Configurations
      • Manage Content Experiments
      • Add a Content Experiment in OLX
      • Set Up Group Configuration for OLX Courses
      • Randomize Units for Assessment (Exams) or Variable Content Sharing
      • Guidelines for Modifying Group Configurations
      • Experiment Group Configurations
      • Test Content Experiments
      • About Teams
      • Teams Configuration Options
      • Manage Teams
      • Manage Team Memberships via CSV Upload
      • Connect Teams to Content Groups
      • About Managing Teams Discussions
      • The Learner’s Experience of Teams
      • Using Open edX as an LTI Tool Provider
      • Reusing Course Content with LTI
      • Planning for Content Reuse (LTI)
      • Create a Duplicate Course for LTI use
      • Determine Content Addresses when using Open edX as an LTI Provider
      • Use Open edX Platform as an LTI Provider to Canvas (Example)
      • Use Open edX Platform as an LTI Provider to Blackboard (Example)
      • About Badges
      • Setting Up Badges
      • Build a taxonomy using a template
      • Import and Export A Taxonomy
      • Create a flat taxonomy by uploading a CSV
      • Update/Re-import a taxonomy
      • Why does each tag need an ID when importing a taxonomy?
      • Manage Permissions on a Taxonomy
      • Add and delete tags on courses
      • Add and delete tags on course content
      • Export tag data from a course
      • Annotation Problem
      • Calculator Tool
      • Embed a Google Calendar in Your Course
      • Enable the Google Drive Files Tool
      • Add a Google Drive File to Your Course
      • About the Notes Tool
      • Recommender Tool
      • Use a Section from a Course independently of the Course Outline
      • Add Custom CSS or JavaScript Code to a Course
    • Components & Activities
      • About Problems, Exercises, and Tools
      • Guide to Problem Types
      • Working with Problem Components
      • Guide to Problem Settings
      • Gradebook Assignment Types
      • Best Practices for Providing Feedback
      • Adding Feedback and Hints to a Problem
      • Configure a Hint in a Problem
      • Awarding Partial Credit for a Problem
      • Set the Assignment Type and Due Date for a Subsection
      • Adding Tooltips to a Problem
      • The Advanced Editor
      • Add Hints via the Advanced Editor
      • Modifying a Released Problem
      • The Learner View of a Problem
      • Add Unsupported Problem Types and Exercises
      • Add a Chemical Equation Problem
      • Guide to Chemical Equation Problem XML
      • Add a Circuit Schematic Builder Problem
      • About the Completion Tool
      • Enable the Completion Tool
      • Add the Completion Tool to an OLX Course
      • Guide to Custom JavaScript Display and Grading Problem
      • Create a Custom JavaScript Display and Grading Problem
      • About Custom Python-evaluated Input Problem
      • Guide to the Custom Python-Evaluated Input Problem
      • Create a Custom Python-Evaluated Input Problem
      • About the Drag and Drop Problem
      • Guide to the Drag and Drop Problem
      • Create a Drag and Drop Problem
      • Dropdown Problem
      • Add a Dropdown Problem
      • Use Feedback in a Dropdown Problem
      • Use Hints in a Dropdown Problem
      • Dropdown Problem OLX Reference
      • Enable Additional Exercises and Tools
      • About External Grader Problems
      • External Grader Problem Requirements
      • Add an External Grader Problem in Studio
      • Gene Explorer Tool
      • About Image Mapped Input Problem
      • Create an Image Mapped Input Problem
      • Image Mapped Input Problem XML
      • About the LTI Component
      • LTI Component Settings
      • Enable LTI Components for a Course
      • Set Up an LTI 1.1 Component
      • Set Up an LTI 1.3 Component
      • Enable and Use LTI Advantage Features
      • About the Math Expression Input Problem
      • Add a Math Expression Input Problem
      • Math Expression Input Problem OLX Reference
      • Multiple-Choice Problem Type
      • About Multi-select Problem
      • Add a Multi-select (Checkbox) Problem
      • Edit Multi-select Problems using the Advanced Editor
      • Award Partial Credit
      • Multi-select Problem OLX Reference
      • About Numerical Input Problem
      • Manage a Numerical Input Problem
      • Award Partial Credit in a Numerical Input Problem
      • Add a Single Select and Numerical Input Problem
      • Numerical Input Problem OLX Reference
      • Problem Written in LaTeX
      • Work with LaTeX Code
      • About Open Response Assessments (ORA)
      • Create an Open Response Assessment Assignment
      • Managing Open Response Assessment Assignments
      • Access Metrics for ORA Assignments
      • Staff Grading for Open Response Assessments
      • Oppia Exploration Tool
      • About the Peer Instruction Tool
      • Adding a Peer Instruction Assignment in Studio
      • Periodic Table Tool
      • Enable the Poll Tool
      • Add a Poll in Open edX Studio
      • Problem with Adaptive Hint
      • Problem with Adaptive Hint XML
      • About Proctored Exams
      • Preparing Learners for Proctored Exams
      • Enable Proctored Exams
      • Manage Proctored Exams
      • Online Proctoring Rules for Learners
      • Allow Opting Out of Proctored Exams
      • Create a Proctored Exam with Proctortrack
      • Create a Proctored Exam with RPNow
      • View Proctored Session Results with Proctortrack
      • View Proctored Session Results with RPNow
      • Guide to Interpreting the Proctored Exam Results Report
      • Guide to Interpreting the Proctored Exam Results Report
      • Protex Protein Builder Tool
      • Randomized Content Blocks
      • Use Randomized Content Blocks
      • About Single Select Problems
      • Add a Single Select Problem
      • Award Partial Credit in a Multiple Choice Problem
      • Add a Single Select and Numerical Input Problem
      • Edit Single Select Problems using the Advanced Editor
      • Single Select Problem OLX Reference
      • Manage Staff Graded Assignment
      • About Text Input Problem
      • Add a Text Input Problem
      • Edit Text Input Problems using the Advanced Editor
      • Text Input Problem XML Reference
      • About Timed Exams
      • Manage Timed Exams
      • Zooming Image (Dual Image) Tool
    • Content Creation & Management
      • About Course Units
      • Manage Course Units
      • Set Access Restrictions For a Unit
      • Copy and Paste Course Units
      • Hide a Unit from Learners
      • Copy and Paste Course Components
      • The Unit Workflow
      • About Course Components
      • Manage Course Components
      • Restrict Access to a Component
      • Components that Contain Other Components
      • About Text Components
      • Work with the Text Editor
      • Work with HTML Code in the Text Component
      • Work with LaTeX Code
      • Adding MathJax to Text Components
      • Manage the Full Screen Image Tool
      • Guide to Course Video
      • Manage Video Components
      • Video Process Overview
      • Troubleshooting Video Problems
      • Video Technical Specifications
      • Add an In-Video Quiz
      • Navigate the Library Homepage
      • Use content sidebars to manage content
      • Create and edit content in a Library
      • Create and edit units in a Library
      • Publish Library content
      • Add and Delete tags in Library content
      • Build a Collection in a Library
      • Search for content in a Library
      • Add users to Libraries
      • Add Library content to a course
      • Add a Problem Bank to your course for randomization
      • Sync a Library update to your course
      • Guide to Controlling Content Visibility and Access
      • Manage Subsection Prerequisites
      • Manage Course Files
      • Manage Custom Pages
      • Add Course Textbooks
      • Configuring Applications & Resources
      • Guide to the Files Page
      • Enabling the Notes Application
      • Enabling the Teams Application
      • Enable the Wiki Application
      • Enable the Calculator Resource
      • MathJax for Mathematics
      • Conditional Module
      • SCORM Overview
      • Manage SCORM Content
      • About the Google Drive Files Tool
      • Enable the Google Drive Files Tool
      • Add a Google Drive File to Your Course
      • About the Iframe Tool
      • Create an IFrame Tool
      • Embed an iframe in the Text Editor
      • Course Outline Terminology in Exported Files
      • Working with the .tar.gz File
      • Guide to Testing Your Course Content
      • Guide to Role-Specific Course Views
      • View Published and Released Content
      • Preview Draft Content
      • Legacy Content Libraries v1 Overview
      • Create a New Legacy Library
      • Edit a Legacy Library
      • Add Components to a Legacy Library
      • View the Contents of a Legacy Library
      • Edit Components in a Legacy Library
      • Delete a Legacy Library
      • Give Other Users Access to Your Legacy Library
      • Exporting and Importing a Legacy Library
      • Leveraging Legacy Libraries
    • Creating a Course in Open edX®
      • Instructional Design Overview
      • Instructional Design Templates
      • The Course Development Process
      • What Is the LMS?
      • What Is Studio?
      • About the Course Outline
      • The Dashboard, Profile, and Account Pages
      • What is the Programs Page?
      • Guide to Basic Course Details
      • Create a New Course in Studio
      • Edit Basic Course Details
      • Guide to Course About Page (Schedule & Details)
      • Edit the Course About Page
      • Set Course Pacing
      • Set the Course Run Schedule
      • Add Course Metadata
      • Guide to Course Content Development
      • Create a New Course in Studio
      • About the Course Outline
      • Manage Course Outline
      • Modify Settings for Objects in the Course Outline
      • Publish Content from the Course Outline
      • About Course Sections
      • About Course Subsections
      • About Course Units
      • Manage Course Sections
      • Manage Course Subsections
      • Manage Course Units
      • View As Learner
      • Add Text
      • Manage Video Components
      • Add a Single Select Problem
      • Resources for Open edX Course Teams
      • Guide to Course Team Roles
      • Add Course Team Members
      • Manage Course Beta Testing
      • About Graded Subsections
      • Set the Grace Period
      • Set the Grade Range
      • The Learner View of Grades (Progress Page)
      • About Certificates
      • Manage Course Certificates
      • Edit Course Certificates
      • Configure Certificate Availability and Timing
      • Manage Course Badges
      • Require a Prerequisite Course
      • Require an Entrance Exam
      • Guide to Course Licenses
      • Set Course Content Licensing in Studio
      • About Course Beta Testing
      • Manage Course Beta Testing
      • Course Launch Checklist
      • Share Course Content on Social Media Platforms
      • Enrollment Requirements
      • Manage Course Enrollments
      • View Course Enrollments
      • View Learners Not Yet Enrolled
      • Export a Course
      • Import a Course
      • Guide to Course Reruns
      • Re-Run a Course
    • Data & Analytics
      • View Course Information
      • View Course Enrollments
      • View Learners Not Yet Enrolled
      • About Learner Data
      • View Learner Data
      • View Anonymized Learner IDs
      • Guide to Staff Debug Info
      • Guide to the Student Profile Report
      • View Learner Grades
      • Manage Learner Grades
      • Guide to the Progress Page
      • Guide to the Grade Report
      • Guide to the Problem Grade Report
      • View Answer Data
      • Frequently Asked Questions about the Student Answer Distribution Report
      • View Certificate Data
      • Guide to the Certificate Report
    • Learner Engagement & Communication
      • About Course Discussions
      • Best Practices for Configuring Course Discussions
      • Configure Open edX Discussions
      • Configure Open edX Discussions - Legacy
      • Best Practices for Moderating Course Discussions
      • Assign Discussion Moderation Roles
      • Moderate Discussions
      • Toggle Anonymous Discussion Posts
      • A Learner’s View of the Discussion
      • About Divided Discussions
      • Set Up Divided Discussions
      • Setting up Discussions in Courses with Cohorts
      • Guide to Managing Divided Discussions
      • Guide to Bulk Email Messages
      • Send an Email Message to Course Participants
      • Review Sent Messages
      • Example Messages to Learners
      • Guide to Composing Email Messages
      • View Email Task History Report
      • Guide to Automatic Email Messages
      • Manage Course Highlight Emails
      • About Course Updates and Handouts
      • Add Course Updates and Handouts
      • About the Course Wiki
      • Manage the Course Wiki
      • Contribute to the Course Wiki
      • Course Live
      • Google Calendar Tool
      • Embed a Google Calendar in Your Course
      • Collapse and expand the navigation sidebar
      • Enable the Poll Tool
      • Add a Poll in Open edX Studio
      • Guide to the Poll Tool via OLX
      • Create a Poll (via OLX)
      • Manage Survey Tool
      • Manage the Survey Tool via OLX
      • Manage the Word Cloud Tool
    • OLX
      • Read Me
      • What is Open Learning XML?
      • Getting Started with OLX
      • What is the OLX Course Structure?
      • Create OLX Course Policies
      • Create OLX Grading Policy
      • Create the Course Asset Policy in OLX
      • Create Course Assets in OLX
      • Create Course Overview in OLX
      • Create Short Description in OLX
      • Create Course Tabs in OLX
      • OLX Course Building Blocks
      • The OLX Courseware Structure
      • HTML Components in OLX
      • Discussion Components in OLX
      • Video Components in OLX
      • Problem Components in OLX
      • Annotation Problem
      • Guide to Chemical Equation Problem XML
      • Add a Circuit Schematic Builder Problem
      • About the Completion Tool
      • Conditional Module
      • Guide to Custom JavaScript Display and Grading Problem
      • About Custom Python-evaluated Input Problem
      • About the Drag and Drop Problem
      • Dropdown Problem OLX Reference
      • Manage the Full Screen Image Tool
      • Gene Explorer Tool
      • Enable the Google Drive Files Tool
      • Add a Google Drive File to Your Course
      • Create an IFrame Tool
      • Image Mapped Input Problem XML
      • About the LTI Component
      • Math Expression Input Problem OLX Reference
      • Adding MathJax to Text Components
      • Multi-select Problem OLX Reference
      • Manage a Numerical Input Problem
      • About Open Response Assessments (ORA)
      • Create an Open Response Assessment Assignment
      • Managing Open Response Assessment Assignments
      • Staff Grading for Open Response Assessments
      • Access Metrics for ORA Assignments
      • Periodic Table Tool
      • Guide to the Poll Tool via OLX
      • Create a Poll (via OLX)
      • Problem Written in LaTeX
      • Problem with Adaptive Hint
      • Protex Protein Builder Tool
      • Recommender Tool
      • About Single Select Problems
      • Add a Single Select and Numerical Input Problem
      • Manage the Survey Tool via OLX
      • Symbolic Response
      • About Text Input Problem
      • Manage the Word Cloud Tool
      • Zooming Image (Dual Image) Tool
      • About Content Experiments
      • Guidelines for Modifying Group Configurations
      • Manage Content Experiments
      • Add a Content Experiment in OLX
      • Test Content Experiments in OLX
      • Example of an OLX Course
        • The OLX Structure of a Sample Course
        • The olx-example course.xml File
      • The OLX Structure of a Sample Course
      • The olx-example course.xml File
      • Example of OLX for a Studio Course
        • The Structure of the Manual Testing Course
      • The Structure of the Manual Testing Course
  • Learners
    • Welcome!
    • Exploring Your Dashboard and Profile
    • View Course Sections from the Navigation Sidebar
    • Enrolling in a Course
    • Completing Course Prerequisites
    • Accessing Course Content and Information
    • Starting a Course
    • Checking Your Progress in a Course
    • Getting a Course Certificate or Badge
    • Watching Videos on the Open edX Video Player
    • Participating in Course Discussions
      • Anatomy of Course Discussions
      • Exploring Discussion Posts
      • Taking Part in Course Discussions
      • Keeping Up with New Activity
      • Providing Feedback on Contributions
    • Completing Different Types of Assignments
      • Completing Mathematical and Scientific Assignments
      • Taking a Timed Exam
      • Proctored Exams
      • Explaining Multiple Choice Answers
    • Completing Essay Assignments
    • Using Google Files and Calendars in Your Course
    • Working on Team Projects and Activities
    • Searching the Course
    • Bookmarking Course Content
    • Taking Notes in an Open edX Course
    • Notifications & Preferences
    • Using the Course Wiki
    • Understanding How Courses and Videos Are Licensed
    • Read Me
    • About the Course Dashboard
    • Share Your Courses on Social Media
    • About the User Profile Page
    • Add or Update a Limited Profile
    • Add or Update a Full Profile
    • Add Links to Your Personal Social Media Accounts
    • View Another Learner’s Profile
    • Update Course-Specific Settings
    • Resources for Open edX Learners
  • Site Operators
    • Installing, Configuring, and Running the Open edX Platform
      • General Information
        • Read Me
        • Getting Help
        • Open edX Browser Support
      • Open edX Platform Releases
        • Open edX Latest Platform Release
        • Open edX Olive Release
        • Open edX Nutmeg Release
        • Open edX Maple Release
        • Open edX Lilac Release
        • Open edX Koa Release
        • Open edX Juniper Release
        • Open edX Ironwood Release
        • Open edX Hawthorn Release
        • Open edX Ginkgo Release
        • Open edX Ficus Release
        • Open edX Eucalyptus Release
        • Open edX Dogwood Release
        • Open edX Cypress Release
        • Open edX Birch Release
      • Installing and Starting the Open edX Platform
        • Open edX Tutor Installation
      • Configuring the Open edX Platform
        • Guidelines for Updating the Open edX Platform
        • Configuring Open edX Sites
        • Changing the Appearance of Open edX Sites
        • Adding Custom Fields to the Registration Page
        • Specifying Allowed Registration Email Patterns
        • Adding the CourseTalk Widget
        • Enabling Open edX Search
        • Enabling Course Certificates
        • Enabling Self-Paced Courses
        • Enabling Public Course Content
        • Enabling Custom Courses
        • Enabling Custom Course Settings
        • Enabling Discussion Notifications
        • Enabling Entrance Exams
        • Configuring Open Response Assessments
        • Enabling Course Prerequisites
        • Enabling Course and Video Licensing
        • Configuring Transcript Behavior
        • Configuring an edX Instance as an LTI Tool Provider
        • Enabling Social Sharing of Courses and Certificates
        • Configuring a Password Policy
        • Enabling Third Party Authentication
        • Enabling Timed Exams
        • Setting Up the YouTube API Key
        • Installing an XBlock
        • Enabling a CDN for Course Assets
        • Enabling the Weekly Learning Goals Feature
        • Retrieving Extended Profile Metadata
      • Open edX Analytics Options
      • Adding ECommerce to Open edX
      • Setting Up the Open edX Mobile Applications
      • Index of Open edX Feature Flags
      • Glossary
      • Adding E-Commerce (Deprecated) to the Open edX Platform
        • Install and Start the E-Commerce Service
        • Comprehensive Theming
        • Manage Static Assets
        • Create E-Commerce Products
        • Enable the E-Commerce Service Receipt Page
        • Manage Orders
        • Test Your E-Commerce Application
        • Additional E-Commerce Features
        • Internationalization
      • Adding edX Insights (Deprecated)
        • Options for Installing edX Insights (Deprecated)
        • Using Elastic MapReduce on AWS
      • Deprecated Open edX Mobile Applications
    • Site Operators: Quick Start
    • Site Operators: How-tos
      • How to Enable a Waffle Flag for a User
      • Configuring Site-Wide Analytics Tools
      • Configuring Badges
      • Enable Badges
      • Enabling Public Course Content
      • Configuring Google Analytics
      • Use A Frontend Plugin Framework Slot
    • Site Operators: Concepts
    • Site Operators: References
      • Badges Configuration examples
      • Available Frontend Plugin Slots
  • Developers
    • Developer Quickstarts
      • Quick Start: First Open edX Pull Request
      • Quick Start: So You Want to Contribute to Open edX
    • “How-To” Guides
      • How To Add a Catalog File
      • How To Add Sphinx Docs to a Repo
      • How To Enable Javascript Upgrade Automation
      • How To Enable Python Upgrade Automation
      • Enabling Translations on a New Repo
      • How To Get Ready for Frontend Development
      • How To Get Ready for Python Development
      • How-to get your repository docs on docs.openedx.org
      • How To Maintain a Repository
      • Maintaining Translations on Your Repo
      • Ongoing Maintainer’s Tasks
      • How to Switch to the sphinx-book-theme for Documentation
      • How to Set Up Github Action to Monitor Python Coverage
    • Concepts Home
      • Open edX Accessibility Concepts for Developers
      • Backend Layout and Approach
      • Hooks Extension Framework
      • OEP-58 Overview
      • Platform Overview
    • References Home
      • Running Pull Request Tests
      • Tools for Maintainers
      • Open edX Accessibility Reference for Developers
      • Event Reference
        • Events in the Tracking Logs
        • xAPI Events
        • Caliper Events
        • Alphabetical Tracking Log Event List
        • Data References
      • Developer’s Guide for Open edX
        • Open edX Platform Architecture
        • Contributing to the Open edX Project
        • Extending the edX Platform
        • Testing
        • Analytics
        • Writing Good Code
        • Writing Code for Internationalization
        • Preventing Cross Site Scripting Vulnerabilities
        • Language Style Guidelines
      • Glossary
      • Aspects: Learner analytics for the Open edX Platform
    • Maintainers Home
  • Documentors
    • Quick Start: First Documentation PR
    • Quick Start: Add New Documentation Through GitHub
    • Quick Start: Update Existing Docs Through GitHub
    • About Open edX® Documentation Standards
    • Documentor Guidelines
    • Documentation Maintenance Process
    • Open edX Documentation Writing Style Guide
    • Documentation Templates
      • Concept Document Template
      • Reference Document Template
      • How-To Document Template
      • Quickstart Document Template
    • Quick Reference: Writing RST and Markdown
    • MyST Markdown Syntax Sample
    • Documentation Audiences
    • Report a problem with the docs
    • Update An Existing Doc via GitHub
    • Make Changes to your Pull Request
    • Guidelines for Writing Global English
    • Open edX Documentation Writing Style Guide
    • Documentation Templates
      • Concept Document Template
      • Reference Document Template
      • How-To Document Template
      • Quickstart Document Template
    • Quick Reference: Writing RST and Markdown
    • Add New Documentation via GitHub
    • Documentation Checklist
    • Make Changes to your Pull Request
    • Guidelines for Writing Global English
    • Open edX Documentation Writing Style Guide
    • Documentation Templates
      • Concept Document Template
      • Reference Document Template
      • How-To Document Template
      • Quickstart Document Template
    • Quick Reference: Writing RST and Markdown
  • Translators
    • Get Started as a Translator
      • Quick Start: How to start translating for Open edX
    • How to fix translation validation errors
    • How to join a review team
    • How to join a translation team
    • How to request a new language for translation
    • Working With HTML
    • Working With Placeholders
    • Translators: Reference

Quick Starts

  • Educators: Build a Course
  • Site Operators: Set up Open edX
  • Developers: Contribute to Open edX
  • Documentors: First Documentation PR

Open Source Community

  • Current Release: Sumac
    • Sumac Release Notes
      • Content Libraries Redesign - Beta
      • Customizing Site Header Using Frontend “Slots”
      • Customizing Learner Dashboard Using Frontend “Slots”
      • Aspects Course Comparison Dashboard
      • Sidebar Navigation Release Notes (Sumac)
      • Mobile Updates (Sumac)
      • Sumac Release is LTI Advantage Complete Certified
      • Simple example: Removing help button
    • Sumac Developer & Operator Release Notes
  • All Release Notes
    • Sumac: The Current Release
      • Sumac Release Notes
        • Content Libraries Redesign - Beta
        • Customizing Site Header Using Frontend “Slots”
        • Customizing Learner Dashboard Using Frontend “Slots”
        • Aspects Course Comparison Dashboard
        • Sidebar Navigation Release Notes (Sumac)
        • Mobile Updates (Sumac)
        • Sumac Release is LTI Advantage Complete Certified
        • Simple example: Removing help button
      • Sumac Developer & Operator Release Notes
    • Teak: June 2025 Release
      • Teak Release Notes
        • The Content Libraries Redesign Initiative
        • Credentials (Badging)
        • Design Tokens (New Theming System)
        • Introducing In-Context Analytics in Studio
        • More Content Blocks On By Default
        • New Frontend Plugin Slots for the Teak Release
        • Smaller Changes (Potpourri)
        • Mobile Updates (Teak)
      • Teak Developer & Operator Release Notes
    • Ulmo: December 2025 Release
      • Ulmo Release Notes
        • Mobile Updates (Ulmo)
        • Design Tokens (New Theming System)
      • Ulmo Developer & Operator Release Notes
    • Unsupported Open edX Releases
      • Open edX Redwood Release
        • Redwood Release Notes
        • Redwood Developer & Operator Release Notes
      • Open edX Quince Release
        • Open edX Quince Release - Feature-Based Notes
        • Open edX Quince Release - Developer & Operator Notes
      • Open edX Palm Release
        • Open edX Palm Release - Feature-Based Notes
        • Open edX Palm Release - Developer & Operator Notes
      • Open edX Olive Release
        • Open edX Olive Release - Feature-Based Notes
        • Open edX Olive Release
      • Open edX Nutmeg Release
      • Open edX Maple Release
      • Open edX Lilac Release
      • Open edX Koa Release
      • Open edX Juniper Release
        • Juniper release notes: Learner Experiences
        • Juniper release notes: Educator Experiences
        • Juniper release notes: Developer Experiences
      • Open edX Ironwood Release
      • Open edX Hawthorn Release
      • Open edX Ginkgo Release
      • Open edX Ficus Release
      • Open edX Eucalyptus Release
        • Enabling the Bulk Email Feature
        • Replacing the courseware_studentmodulehistory Table
      • Open edX Dogwood Release
      • Open edX Cypress Release
      • Open edX Birch Release
    • Site Operators: Named Release Branches and Tags
  • How to Contribute
  • OEPs (Open edX Proposals): Community Decision Documents
  • Open edX Site Operators
    • Installing, Configuring, and Running the Open edX Platform
      • General Information
        • Read Me
        • Getting Help
        • Open edX Browser Support
      • Open edX Platform Releases
        • Open edX Latest Platform Release
        • Open edX Olive Release
        • Open edX Nutmeg Release
        • Open edX Maple Release
        • Open edX Lilac Release
        • Open edX Koa Release
        • Open edX Juniper Release
        • Open edX Ironwood Release
        • Open edX Hawthorn Release
        • Open edX Ginkgo Release
        • Open edX Ficus Release
        • Open edX Eucalyptus Release
        • Open edX Dogwood Release
        • Open edX Cypress Release
        • Open edX Birch Release
      • Installing and Starting the Open edX Platform
        • Open edX Tutor Installation
      • Configuring the Open edX Platform
        • Guidelines for Updating the Open edX Platform
        • Configuring Open edX Sites
        • Changing the Appearance of Open edX Sites
        • Adding Custom Fields to the Registration Page
        • Specifying Allowed Registration Email Patterns
        • Adding the CourseTalk Widget
        • Enabling Open edX Search
        • Enabling Course Certificates
        • Enabling Self-Paced Courses
        • Enabling Public Course Content
        • Enabling Custom Courses
        • Enabling Custom Course Settings
        • Enabling Discussion Notifications
        • Enabling Entrance Exams
        • Configuring Open Response Assessments
        • Enabling Course Prerequisites
        • Enabling Course and Video Licensing
        • Configuring Transcript Behavior
        • Configuring an edX Instance as an LTI Tool Provider
        • Enabling Social Sharing of Courses and Certificates
        • Configuring a Password Policy
        • Enabling Third Party Authentication
        • Enabling Timed Exams
        • Setting Up the YouTube API Key
        • Installing an XBlock
        • Enabling a CDN for Course Assets
        • Enabling the Weekly Learning Goals Feature
        • Retrieving Extended Profile Metadata
      • Open edX Analytics Options
      • Adding ECommerce to Open edX
      • Setting Up the Open edX Mobile Applications
      • Index of Open edX Feature Flags
      • Glossary
      • Adding E-Commerce (Deprecated) to the Open edX Platform
        • Install and Start the E-Commerce Service
        • Comprehensive Theming
        • Manage Static Assets
        • Create E-Commerce Products
        • Enable the E-Commerce Service Receipt Page
        • Manage Orders
        • Test Your E-Commerce Application
        • Additional E-Commerce Features
        • Internationalization
      • Adding edX Insights (Deprecated)
        • Options for Installing edX Insights (Deprecated)
        • Using Elastic MapReduce on AWS
      • Deprecated Open edX Mobile Applications
    • Site Operators: Quick Start
    • Site Operators: How-tos
      • How to Enable a Waffle Flag for a User
      • Configuring Site-Wide Analytics Tools
      • Configuring Badges
      • Enable Badges
      • Enabling Public Course Content
      • Configuring Google Analytics
      • Use A Frontend Plugin Framework Slot
    • Site Operators: Concepts
    • Site Operators: References
      • Badges Configuration examples
      • Available Frontend Plugin Slots
  • Site Operators: Quick Start
  • Site Operators: Concepts
  • Site Operators: References
    • Badges Configuration examples
    • Available Frontend Plugin Slots
  • Site Operators: How-tos
    • How to Enable a Waffle Flag for a User
    • Configuring Site-Wide Analytics Tools
    • Configuring Badges
    • Enable Badges
    • Enabling Public Course Content
    • Configuring Google Analytics
    • Use A Frontend Plugin Framework Slot
  • Open edX Developers
    • Developer Quickstarts
      • Quick Start: First Open edX Pull Request
      • Quick Start: So You Want to Contribute to Open edX
    • “How-To” Guides
      • How To Add a Catalog File
      • How To Add Sphinx Docs to a Repo
      • How To Enable Javascript Upgrade Automation
      • How To Enable Python Upgrade Automation
      • Enabling Translations on a New Repo
      • How To Get Ready for Frontend Development
      • How To Get Ready for Python Development
      • How-to get your repository docs on docs.openedx.org
      • How To Maintain a Repository
      • Maintaining Translations on Your Repo
      • Ongoing Maintainer’s Tasks
      • How to Switch to the sphinx-book-theme for Documentation
      • How to Set Up Github Action to Monitor Python Coverage
    • Concepts Home
      • Open edX Accessibility Concepts for Developers
      • Backend Layout and Approach
      • Hooks Extension Framework
      • OEP-58 Overview
      • Platform Overview
    • References Home
      • Running Pull Request Tests
      • Tools for Maintainers
      • Open edX Accessibility Reference for Developers
      • Event Reference
        • Events in the Tracking Logs
        • xAPI Events
        • Caliper Events
        • Alphabetical Tracking Log Event List
        • Data References
      • Developer’s Guide for Open edX
        • Open edX Platform Architecture
        • Contributing to the Open edX Project
        • Extending the edX Platform
        • Testing
        • Analytics
        • Writing Good Code
        • Writing Code for Internationalization
        • Preventing Cross Site Scripting Vulnerabilities
        • Language Style Guidelines
      • Glossary
      • Aspects: Learner analytics for the Open edX Platform
    • Maintainers Home
  • Developer Quickstarts
    • Quick Start: First Open edX Pull Request
    • Quick Start: So You Want to Contribute to Open edX
  • Concepts Home
    • Open edX Accessibility Concepts for Developers
    • Backend Layout and Approach
    • Hooks Extension Framework
    • OEP-58 Overview
    • Platform Overview
  • References Home
    • Running Pull Request Tests
    • Tools for Maintainers
    • Open edX Accessibility Reference for Developers
    • Event Reference
      • Events in the Tracking Logs
        • Reviewing a Sample Event
        • Common Fields
        • Student Events
        • Course Team Events
      • xAPI Events
      • Caliper Events
      • Alphabetical Tracking Log Event List
      • Data References
        • Open Response Assessment Data
        • User Info and Learner Progress Data
        • Wiki Data
    • Developer’s Guide for Open edX
      • Open edX Platform Architecture
      • Contributing to the Open edX Project
        • Process for Contributing Code
        • Contributing Code to the Open edX Project
        • Open edX Git Workflows
        • Landing Your Work
        • Code Considerations
        • Overview of Review Process for Community Contributions
        • Pull Request Status Guide
        • Core Contributors to the Open edX Project
      • Extending the edX Platform
        • Options for Extending the Open edX Platform
        • Integrating XBlocks with edx-platform
      • Testing
        • Open edX Browser Support
        • GitHub Actions
        • Code Coverage
        • Code Quality
      • Analytics
      • Writing Good Code
        • Django Good Practices
        • Frontend Good Practices
      • Writing Code for Internationalization
        • Internationalization Coding Guidelines
      • Preventing Cross Site Scripting Vulnerabilities
        • Preventing Cross Site Scripting Vulnerabilities
        • Preventing XSS by Stripping HTML Tags
        • Preventing XSS in Django Templates
        • Preventing XSS in React
      • Language Style Guidelines
        • Open edX JavaScript Style Guide
        • Open edX Python Style Guide
        • Open edX Sass Style Guide
    • Glossary
    • Aspects: Learner analytics for the Open edX Platform
  • “How-To” Guides
    • How To Add a Catalog File
    • How To Add Sphinx Docs to a Repo
    • How To Enable Javascript Upgrade Automation
    • How To Enable Python Upgrade Automation
    • Enabling Translations on a New Repo
    • How To Get Ready for Frontend Development
    • How To Get Ready for Python Development
    • How-to get your repository docs on docs.openedx.org
    • How To Maintain a Repository
    • Maintaining Translations on Your Repo
    • Ongoing Maintainer’s Tasks
    • How to Switch to the sphinx-book-theme for Documentation
    • How to Set Up Github Action to Monitor Python Coverage
  • Translators Home
    • Get Started as a Translator
      • Quick Start: How to start translating for Open edX
    • How to fix translation validation errors
    • How to join a review team
    • How to join a translation team
    • How to request a new language for translation
    • Working With HTML
    • Working With Placeholders
    • Translators: Reference
  • Translators: Quickstarts
    • Quick Start: How to start translating for Open edX
  • Translators: Concepts
    • Translations Process
    • Working With HTML
    • Working With Placeholders
  • Translators: Reference
  • Translators: How-Tos
    • How to fix translation validation errors
    • How to join a review team
    • How to join a translation team
    • How to request a new language for translation

Other Topics

  • Documentation Feedback Form
  • Getting Help with Open edX
  • Technical Decisions About This Site
    • 1. Purpose of this Repo
    • 2. Choosing RST
    • 3. Documentation Layout
    • 4. Don't Use AutoSectionLabel Extension
    • 5. Use Markdown READMEs for repos published to npm
    • 6. Remove Course Operators persona
  • Aspects: Learner analytics for the Open edX Platform


Open edX Wiki
Open edX website
Cookie Policy
Security Policy
  • Repository
  • Suggest edit
  • Open issue
  • .rst

Enabling Open edX Search

Contents

  • Overview
  • Search Engines and edX Search
    • MockSearchEngine
    • ElasticSearchEngine
  • EdX Search Requirements
  • Install edX Search
  • Enable Indexing
    • Which Data Gets Indexed
  • Supported Flags
    • CMS
    • LMS

Enabling Open edX Search#

Tags: site operator

You can add a search feature to your Open edX site so that prospective learners can find courses more easily. When a learner searches for a key word or words, the search feature returns a list of the courses that are currently open for enrollment and that match the entered key words.

This section describes how to enable search in your instance of Open edX.

  • Overview

  • Search Engines and edX Search

  • EdX Search Requirements

  • Install edX Search

  • Enable Indexing

  • Supported Flags

Overview#

EdX Search is a Django application that provides access to search services from within edX Platform applications. Searching is accomplished by creating an index of documents, and then searching within that index for matching information.

When you install the Open edX devstack, edX search is enabled by default. You must enable this feature to use it with Open edX fullstack.

Note

Before proceeding, review Guidelines for Updating the Open edX Platform.

Search Engines and edX Search#

By default, edX Search uses MockSearchEngine for testing and ElasticSearch Engine for production. You can configure edX Search to use a different search engine.

MockSearchEngine#

MockSearchEngine is a simple implementation using a JSON file for index storage. It has no specific requirements, but it does not scale well and should only be used for testing.

ElasticSearchEngine#

ElasticSearchEngine is a ElasticSearch back-end implementation. It uses same ElasticSearch version that is already part of Open edX Platform. The current version is v1.5.2. The ElasticSearch Python client is the latest 1.x version.

EdX Search Requirements#

EdX Search requires the following applications.

  • Django (edX Platform version)

  • pyMongo (edX Platform version)

  • pytz

  • Django elasticsearch (0.4.5)

Install edX Search#

EdX Search is included in Open edX Platform GitHub requirements and is installed automatically when you install the Open edX Platform.

Enable Indexing#

You enable course indexing by setting the ENABLE_COURSEWARE_INDEX flag.

You enable library indexing by setting the ENABLE_LIBRARY_INDEX flag.

Indexing is done from Studio as a Celery task. Every publish event triggers the reindex procedure.

You can also reindex the course manually through the Reindex button in the Course Overview page.

Note

The search feature only returns results for courses that are currently open for enrollment. Course teams can set the enrollment start and end dates for their courses in Studio. For more information, see Guidelines for Start and End Dates in the Building and Running an Open edX Course guide.

Which Data Gets Indexed#

Which data gets indexed is determined by the module index_dictionary() function implementation. Modules supporting this method are Sequence, Vertical, Video, and HTML Block. You can add support to any module type.

Course metadata, including the name, description, and start and end dates are also indexed.

Supported Flags#

The following flags are supported in the CMS and LMS applications.

CMS#

  • ENABLE_COURSEWARE_INDEX: Enables and disables courseware content and course info indexing.

  • ENABLE_LIBRARY_INDEX: Enables and disables library content indexing.

  • SEARCH_ENGINE: Sets the search engine to use. There are two predefined values.

    • "search.elastic.ElasticSearchEngine"

    • "search.tests.mock_search_engine.MockSearchEngine"

  • ELASTIC_FIELD_MAPPINGS: Sets any additional field mappings that elastic search should be aware of. For example, the following code includes the course start date.

    ELASTIC_FIELD_MAPPINGS = {
      "start_date": {
        "type": "date"
      }
    }
    

LMS#

  • ENABLE_COURSEWARE_SEARCH: Enables and disables Courseware Search feature (in course searching).

  • ENABLE_DASHBOARD_SEARCH: Enables and disables Dashboard Search feature (in enrolled courses searching).

  • ENABLE_COURSE_DISCOVERY: Enables and disables Course Discovery feature (over courses searching and facet filtering).

  • COURSE_DISCOVERY_FILTERS: If provided, overrides the list of facets that are used in the Course Discovery feature to filter the results. By default, all facets will be displayed. The list of available facets includes:

    • Course organization: "org"

    • Course type: "modes"

    • Course language: "language"

  • SEARCH_ENGINE: Sets the search engine to use. The following values are predefined.

    • "search.elastic.ElasticSearchEngine"

    • "search.tests.mock_search_engine.MockSearchEngine"

  • SEARCH_INITIALIZER: Used to set custom SearchInitializer. SearchInitializer provides an extension to achieve masquerade and other presearch environmental settings.

    • default: SearchInitializer

    • LMS implementation: lms.lib.courseware_search.lms_search_initializer.LmsSearchInitializer

  • SEARCH_RESULT_PROCESSOR: Used to set custom SearchResultProcessor. SearchResultProcessor does post processing and data manipulation on a result set returned by SearchEngine.

    • default: SearchResultProcessor

    • LMS implementation: lms.lib.courseware_search.lms_result_processor.LmsSearchResultProcessor

  • SEARCH_FILTER_GENERATOR: Used to set custom SearchFilterGenerator. SearchFilterGenerator sets filters defined by current active user. Basic implementation sets only course start date filter.

    • default: SearchFilterGenerator

    • LMS implementation: lms.lib.courseware_search.lms_filter_generator.LmsSearchFilterGenerator

Maintenance chart

Review Date

Working Group Reviewer

Release

Test situation


Feedback

previous

Adding the CourseTalk Widget

next

Enabling Course Certificates

Contents
  • Overview
  • Search Engines and edX Search
    • MockSearchEngine
    • ElasticSearchEngine
  • EdX Search Requirements
  • Install edX Search
  • Enable Indexing
    • Which Data Gets Indexed
  • Supported Flags
    • CMS
    • LMS

By Open edX Documentation Working Group

© Copyright 2025, Axim Collaborative.