What is the OLX Course Structure?#
You can export a course from the Open edX Studio. When you export the course,
you download a .tar.gz file with the OLX (open learning XML) course content.
You can then extract the course OLX files for use with local tools or a source
control system such as GitHub (see Working with the .tar.gz File). This
article describes the structure of an OLX (open learning XML) course in the
format that Open edX Studio exports it in.
Warning
There are other ways to structure an OLX course that may currently import successfully into Studio that these pages won’t get into, as they’re not guaranteed by the Open edX project to work in Open edX Studio in the future.
Additionally, however a course is written, if that course is imported into Studio, Studio will export it in the specifically structured form of OLX described in this guide.
This section documents how the Open edX Studio currently exports courses, so that you can understand and manually navigate through the structure of exported courses.
For more information about how a specific OLX course is structured, see The OLX Structure of a Sample Course.
OLX and Directory File Structures#
All files and subdirectories that comprise your OLX course are stored within
a single directory, called the course/ directory.
Top-level Directory#
The top-level course.xml file can contain your entire course, but in
Studio exports, content is split out into individual files. This is done at the
level of components, such as problems, videos, or HTML (text components).
For example, the Open edX DemoX Course contains a course with many component types, and the OLX Example Course (described in more detail in The OLX Structure of a Sample Course) has human-readable names to better help you follow the flow of Studio OLX exports.
Descriptions of the directories needed for a typical course follow. You should set up these directories in preparation for developing your course content.
Note
If you are using custom XBlocks, you can include additional directories that store the XML for XBlocks of that type.
XBlock Directories#
Open edX course components can be broken out of the main course.xml file
into individual files. Those files go into directories of the name of
the component type (XML tag). For example, components of type html
can be placed as individual files in the html directory. If your
course does not contain .html files, or if they are all embedded in
their top-level components, you do not need to create an html
directory. Studio will place all text components into the html directory.
As another example, the problem directory holds one XML file per default
problem type (eg, multiselect, dropdown) in the course. Note that in Studio and
within the pages on docs.openedx.org, these types of problems are known as
“course components”.
There are other directories for other types of course components, such as the
html, lti, or video directories.
For information about several examples of these directories, see the following topics.
As the set of XBlocks grows, so does the set of associated XML tags and directories.
Open edX Platform Directories#
In addition to the course hierarchy, OLX courses contain a set of JSON and HTML files that specify course policies and non-courseware content.
about Directory#
The about directory contains the following files:
overview.html, which contains the content for the course overview page that learners see in the Learning Management System (LMS).short_description.html, which contains the content for the course in the course list.
Courses exported from Studio will have more in this directory, such as
about_sidebar.html, entrance_exam_enabled.html, and duration.html.
We won’t go through these files in this documentation at this time.
For more information, see Create Course Overview in OLX.
chapter Directory#
The chapter directory holds one XML file per “course section” in the course.
Note that in Studio and within the pages on docs.openedx.org, “course section”
will be the term used for anything in the chapter directory.
info Directory#
The info directory contains the following files:
handouts.html, which contains the content for the Course Handouts page in the course.updates.html, which contains the course updates learners see when opening a course.
policies Directory#
The policies directory contains:
assets.json, which defines all files used in the course, such as images.
The policies directory also contains a folder for the course run, which holds:
grading_policy.json, which defines how work is graded in the course run.policy.json, which defines various settings in the course run.
For more information, see Create OLX Course Policies.
sequential Directory#
The sequential directory holds one XML file per “course subsection” in the course.
Note that in Studio and within the pages on docs.openedx.org, “course subsection”
will be the term used for anything in the sequential directory.
static Directory#
The static directory contains the files used in your course, such as images
or PDFs.
For more information, see Create Course Assets in OLX.
tabs Directory#
The tabs directory contains an HTML file for each page you add to your
course.
For more information, see Create tabs, or pages, in your course.
vertical Directory#
The vertical directory holds one XML file per “course unit” in the course.
Note that in Studio and within the pages on docs.openedx.org, “course unit”
will be the term used for anything in the vertical directory.
See also
What is Open Learning XML? (concept)
Example of an OLX Course (reference)
Getting Started with OLX (quickstart)
The OLX Courseware Structure (reference)
Working with the .tar.gz File (reference)
Maintenance chart
Review Date |
Working Group Reviewer |
Release |
Test situation |
2025-11-06 |
sarina |
Ulmo |
Pass |