You develop the courseware structure in the course.xml file, in the top-
level directory.
For an example of a course.xml file, see The edX-Insider course.xml File.
course.xml File¶The root element of the course.xml file is course.
An example of the contents of a course.xml file follows.
<course advanced_modules="["concept", "done",
"profile", "recommender"]" course="edX_Insider"
course_image="code.png" display_name="edX Demo"
enrollment_start="2014-03-01T04:00:00Z" org="edX"
start="2014-03-03T00:00:00Z" url_name="Ongoing">
. . .
. . .
course Attributes¶| Attribute | Meaning |
|---|---|
advanced_modules |
The list of advanced modules, or custom XBlocks, used in your course. |
url_name |
The value in the course URL path directly after the domain,
organization, and course name. The url_name must also be the name of the course outline XML file (without the .xml extension). |
org |
The organization sponsoring the course. This value is in the course URL
path, following the domain and /courses/. |
course |
The name of the course. This value is in the course URL path, following the organization. |
course_image |
The filename of the image used on the course About page. |
enrollment_start |
The date and time that students can start enrolling in the course. |
course Element Attributes and Course URLS¶The attributes of the course element are used to construct URLs in the
course. The following course URL shows where these values are used.
http://my-edx-server.org/courses/<@org value>/<@course value>/<@url_name value>/info
For example:
http://my-edx-server.org/courses/edX/DemoX/Demo_Course/info
You create a course chapter with the chapter element, as a child of the
root course element. Chapter elements are top-level pages in the course.
The edX platform renders navigation chrome around them (tab-set on top and
accordion on the left). It is possible to disable chrome for specific chapters
using the chrome option. It is possible to associate chapters with
different elements of the tabset with the default_tab option. It is
possible to hide them from the navigation using the hide_from_toc option.
For example, the course outline is defined by elements in the following format.
<course>
<chapter display_name="Exam Review" url_name="exam_review">
. . .
</course>
chapter Attributes¶| Attribute | Meaning |
|---|---|
display_name |
The value that is displayed to students as the name of the chapter, or section. |
start |
The date and time, in UTC, that the chapter is released to students. Before this date and time, students do not see the chapter. |
chapter Children¶The chapter element contains one or more children. Studio uses
sequential elements for all children of chapters, and calls these
subsections.
The following example shows a chapter with two sequentials, or subsections.
<chapter display_name="Example Week 2: Get Interactive">
<sequential display_name="Simulations" url_name="simulations">
. . .
<sequential display_name="Graded Simulations"
url_name="graded_simulations">
. . .
</chapter>
You create a course sequential with the sequential element, for each
subsection in the chapter.
For example, the course can contain a sequential in this format.
<course>
<chapter url_name="exam_review">
<sequential display_name="Simulations" url_name="simulations">
. . .
</sequential>
</chapter>
. . .
</course>
sequential Attributes¶| Attribute | Meaning |
|---|---|
display_name |
The value that is displayed to students as the name of the sequential, or subsection. |
start |
The date and time, in UTC, that the sequential is released to students. Before this date and time, students do not see the sequential. |
graded |
Whether the sequential is a graded subsection; true or false. |
format |
If the sequential is graded, the assignment type. |
graceperiod |
If the sequential is graded, the number of seconds in the grace period. |
rerandomize |
TBD |
showanswer |
TBD |
xqa_key |
TBD |
sequential Children¶The sequential element contains one or more child vertical elements.
The vertical element references a vertical, or unit, in the course.
The following example shows a chapter with a sequential that has three verticals, or units.
<course>
<chapter url_name="exam_review">
<sequential display_name="Simulations" url_name="simulations">
<vertical display_name="Unit 1" url_name="Lesson_1_Unit_1">
. . . .
<vertical display_name="Unit 2" url_name="Lesson_1_Unit_2">
. . . .
</sequential>
</chapter>
. . .
</course>
In the course structure, a course vertical serves the following functions.
You create a course vertical with the vertical element, for each
unit in the subsection.
For example, the course can contain a vertical in this format.
<course>
<chapter url_name="exam_review">
<sequential display_name="Simulations" url_name="simulations">
<vertical display_name="Unit 1" url_name="Lesson_1_Unit_1"/>
. . .
</sequential>
</chapter>
. . .
</course>
vertical Attributes¶| Attribute | Meaning |
|---|---|
display_name |
The value that is displayed to students as the name of the sequential, or subsection. |
vertical Children¶The vertical element contains one or more child elements for each component
in the vertical, or unit.
Note
You can embed the content of components in the course.xml file, as child
elements of the vertical element. However, you might want to store
components in separate files, to better enable content reuse across courses.
A vertical element can also contain a vertical element. You can nest verticals, or units, recursively.
Child elements of vertical refer to components in your course. The edX
Platform supports a wide range of components, including custom XBlocks.
The following example shows a vertical with two components.
<vertical display_name="Lesson_1_Unit_1">
<html url_name="Introduction"/>
<video url_name="Unit_1_Video"/>
</vertical>