diff --git a/source/_images/educator_references/AnatomyOfExercise.png b/source/_images/educator_references/AnatomyOfExercise.png
index 77196703a..3f13d4699 100644
Binary files a/source/_images/educator_references/AnatomyOfExercise.png and b/source/_images/educator_references/AnatomyOfExercise.png differ
diff --git a/source/_images/educator_references/AnatomyOfExercise2.png b/source/_images/educator_references/AnatomyOfExercise2.png
index dee5b1a53..7b83bd6c4 100644
Binary files a/source/_images/educator_references/AnatomyOfExercise2.png and b/source/_images/educator_references/AnatomyOfExercise2.png differ
diff --git a/source/_images/educator_references/AnatomyOfExercise3.png b/source/_images/educator_references/AnatomyOfExercise3.png
new file mode 100644
index 000000000..d41c1f687
Binary files /dev/null and b/source/_images/educator_references/AnatomyOfExercise3.png differ
diff --git a/source/_images/educator_references/multiple_choice_feedback.png b/source/_images/educator_references/multiple_choice_feedback.png
index f7da994bf..f41ab69e8 100644
Binary files a/source/_images/educator_references/multiple_choice_feedback.png and b/source/_images/educator_references/multiple_choice_feedback.png differ
diff --git a/source/_images/educator_references/multiple_choice_hint.png b/source/_images/educator_references/multiple_choice_hint.png
index 455b404d9..ea041e5da 100644
Binary files a/source/_images/educator_references/multiple_choice_hint.png and b/source/_images/educator_references/multiple_choice_hint.png differ
diff --git a/source/_images/educator_references/multiple_choice_hint2.png b/source/_images/educator_references/multiple_choice_hint2.png
index 9445c92bd..7090acbdb 100644
Binary files a/source/_images/educator_references/multiple_choice_hint2.png and b/source/_images/educator_references/multiple_choice_hint2.png differ
diff --git a/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_multiple_choice.rst b/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_multiple_choice.rst
index acc5b2d77..a971a8273 100644
--- a/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_multiple_choice.rst
+++ b/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_multiple_choice.rst
@@ -5,6 +5,13 @@ Award Partial Credit in a Multiple Choice Problem
.. tags:: educator, how-to
+.. warning::
+
+ Partial credit is not an option exposed in Open edX Studio.
+
+ Studio and LMS support of partial credit is not guaranteed to work.
+
+
You can configure a single select problem so that specific incorrect answers
award learners partial credit for the problem.
diff --git a/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_numerical_input.rst b/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_numerical_input.rst
index 5642efedc..2536d832d 100644
--- a/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_numerical_input.rst
+++ b/source/educators/how-tos/course_development/exercise_tools/award_partial_credit_numerical_input.rst
@@ -5,6 +5,13 @@ Award Partial Credit in a Numerical Input Problem
.. tags:: educator, how-to
+.. warning::
+
+ Partial credit is not an option exposed in Open edX Studio.
+
+ Studio and LMS support of partial credit is not guaranteed to work.
+
+
You can configure a numerical input problem to award partial credit to learners
who submit an answer that is close or related to the correct answer. You must
use the :ref:`advanced editor` to configure partial credit.
diff --git a/source/educators/navigation/olx.rst b/source/educators/navigation/olx.rst
index 96e9acc52..eb27acfc8 100644
--- a/source/educators/navigation/olx.rst
+++ b/source/educators/navigation/olx.rst
@@ -16,10 +16,11 @@ OLX General Information
:maxdepth: 1
:glob:
- ../olx/front_matter/read_me.rst
../olx/what-is-olx.rst
../olx/getting-started.rst
+:ref:`Work with the targz File`
+
.. _OLX Course Structure:
OLX Course Structure
@@ -33,6 +34,20 @@ This topic describes the structure of a generic OLX (open learning XML) course.
../olx/directory-structure.rst
+.. _OLX Example Course:
+
+Example of an OLX Course
+*******************************************************
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ ../olx/example-course/index.rst
+ ../olx/example-course/insider-structure.rst
+ ../olx/example-course/insider-course-xml.rst
+ ../olx/studio-example/manual-testing-structure.rst
+
.. _OLX Policies:
Policies
@@ -182,30 +197,4 @@ The topics in this section describe how to use OLX (open learning XML) to create
/educators/how-tos/advanced_features/manage_content_experiments.rst
/educators/how-tos/advanced_features/add_content_experiments_olx.rst
../olx/content-experiments/content_experiments_test_olx.rst
-
-
-.. _OLX Example Course:
-
-Example of an OLX Course
-*******************************************************
-
-.. toctree::
- :maxdepth: 1
- :glob:
-
- ../olx/example-course/index.rst
- ../olx/example-course/insider-structure.rst
- ../olx/example-course/insider-course-xml.rst
-
-.. _OLX Example Studio Course:
-
-Example of OLX for a Studio Course
-*******************************************************
-
-.. toctree::
- :maxdepth: 1
- :glob:
-
- ../olx/studio-example/index.rst
- ../olx/studio-example/manual-testing-structure.rst
diff --git a/source/educators/olx/about/overview.rst b/source/educators/olx/about/overview.rst
index dc2126f2b..0c9873e60 100644
--- a/source/educators/olx/about/overview.rst
+++ b/source/educators/olx/about/overview.rst
@@ -6,6 +6,13 @@ Create Course Overview in OLX
.. tags:: educator, how-to
+.. note::
+
+ This page describes how to create the Course Overview section for
+ your course, provided your Open edX instance is using the default
+ Open edX course catalog. Your Open edX instance might utilize a different
+ way of publishing and advertising courses.
+
Each course must have an overview page. Learners see the overview page when
searching and registering for the course.
@@ -13,20 +20,23 @@ searching and registering for the course.
Create the Overview File
*********************************************
-In the ``overview`` directory, you create an HTML file called
+In the ``about`` directory, you create an HTML file called
``overview.html``.
*********************************************
Overview Sections
*********************************************
-The ``overview.html`` must contain specific sections.
+The ``overview.html`` contains specific sections. The default Open edX course
+catalog does not style the Overview page based on most of these HTML classes,
+however, other course catalogs may (and Open edX Studio will export with these
+classes).
Each section is wrapped in ``section`` tags. The value of the ``class``
attribute specifies what the section is for and how it is displayed to
learners. Within the ``section`` tags, you use valid HTML.
-The overview must contain sections with the following names.
+The overview may contain section(s) with the following names.
* ``about``
* ``prerequisites``
@@ -100,12 +110,10 @@ Replace the placeholders in the following template with your information.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/about/short-description.rst b/source/educators/olx/about/short-description.rst
index a4f7e922d..d0b92b901 100644
--- a/source/educators/olx/about/short-description.rst
+++ b/source/educators/olx/about/short-description.rst
@@ -6,16 +6,20 @@ Create Short Description in OLX
.. tags:: educator, how-to
-Optionally, you can define a short description for your course.
+.. note::
-Learners see the short description when they move their cursors over the course
-image in the catalog.
+ This page describes how to create the Short Description section for
+ your course, provided your Open edX instance is using the default
+ Open edX course catalog. Your Open edX instance might utilize a different
+ way of publishing and advertising courses.
+
+A short description of your course appears at the top of the Course About page.
*********************************************
Create the Short Description File
*********************************************
-You create an HTML file called ``short_description.html`` in the ``overview``
+You create an HTML file called ``short_description.html`` in the ``about``
directory.
The short description is limited to 150 characters.
@@ -33,12 +37,10 @@ description file.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/assets/assets.rst b/source/educators/olx/assets/assets.rst
index 636674fe7..ac796f918 100644
--- a/source/educators/olx/assets/assets.rst
+++ b/source/educators/olx/assets/assets.rst
@@ -15,8 +15,6 @@ see :ref:`Course Asset Policy`.
.. seealso::
- :ref:`Add Course Assets` (reference)
-
:ref:`Course Asset Policy` (reference)
:ref:`What is Open Learning XML?` (concept)
@@ -27,7 +25,7 @@ see :ref:`Course Asset Policy`.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
+ :ref:`Add Course Assets` (via Studio) (reference)
@@ -36,5 +34,5 @@ see :ref:`Course Asset Policy`.
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/components/discussion-components.rst b/source/educators/olx/components/discussion-components.rst
index 79ada6b08..458841c71 100644
--- a/source/educators/olx/components/discussion-components.rst
+++ b/source/educators/olx/components/discussion-components.rst
@@ -6,7 +6,27 @@ Discussion Components in OLX
.. tags:: educator, reference
-.. warning:: This page refers to the older discussion forums (pre-Olive release) and may be out of date.
+.. warning::
+
+ This page refers to the older discussion forums (pre-Olive release) and is deprecated for post-Olive releases.
+
+ For Olive and newer releases, discussion components are automatically created for each ungraded unit. To
+ enable discussion on graded units, the behavior can be overridden via the ``discussions_settings`` attribute
+ on the ``course`` object in the ``course/run.xml`` file.
+
+ Here is an example of ``discussions_settings`` with ``enable_graded_units`` set to ``true``:
+
+ .. code-block:: xml
+
+ discussions_settings=
+ "{"enable_graded_units": true,
+ "enable_in_context": true,
+ "provider_type": "openedx",
+ "unit_level_visibility": true,
+ "posting_restrictions": "disabled",
+ "openedx": {"group_at_subsection": false}}"
+
+ The UI for discussions configuration can be found under the Content > Pages & Resources menu in Studio.
You can add inline :term:`Discussion` components to any container in your
course.
@@ -91,7 +111,7 @@ The ``discussion`` element contains no children.
- The name of the subcategory for the inline discussion as shown in the
**Discussion** tab of the course. For example: ``Problem 2``
* - ``display_name``
- - Optional. The value that is displayed to students as the name of the
+ - Optional. The value that is displayed to learners as the name of the
discussion component. If you do not supply a ``display_name`` value,
"Discussion" is supplied for you.
* - Optional. ``discussion_id``
@@ -130,12 +150,10 @@ The following example shows an XML file for a discussion component.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Deprecated |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/components/html-components.rst b/source/educators/olx/components/html-components.rst
index 6a3da67f7..c550cc74c 100644
--- a/source/educators/olx/components/html-components.rst
+++ b/source/educators/olx/components/html-components.rst
@@ -14,29 +14,17 @@ HTML Components in OLX
Create the HTML Component
*********************************************
-To add an HTML component to your course, you can embed the XML for it in the
-parent XML file, or split it up into either 1 or 2 additional files. You can
-break up the HTML configuration into an .xml file in the html directory and an
-additional .html file in the same directory.
+To add an HTML component to your course, split it up into 2 files: The HTML
+configuration into an .xml file in the html directory and an additional .html
+file in the same directory.
-.. caution:: If you are including HTML that is not valid HTML, you must break
- out HTML content in a separate file.
-
-
-*****************************************************
-Example of an HTML Component Embedded in a Vertical
-*****************************************************
-
-.. code-block:: xml
-
-
- ...
- The above has an error. x should be y in the second equation.
-
+.. caution::
+
+ If you are including HTML that is not valid HTML, you must break out HTML content in a separate file.
*********************************************
-Example of Separate HTML Files
+Example of XML & HTML Files
*********************************************
You create an XML file in the ``html`` directory for the content that you
@@ -45,24 +33,27 @@ choose to break out into separate HTML files.
The name of the XML file must match the value of the @url_name attribute of the
``html`` element in the vertical XML file.
-For example, a vertical XML file contains the following url_name.
+For example, the ``vertical/unit_1_what_is_olx.xml`` file contains the following
+``url_name``.
.. code-block:: xml
-
-
- . . .
+
+
+ . . .
-You create the file ``html/Introduction.xml`` to define the HTML component.
+This references the file ``html/what_is_olx.xml`` to define the HTML component.
*************************************
-HTML Component XML File Elements
+Example HTML Component XML File
*************************************
-The root element of the XML file for the HTML component is file is ``html``.
+The following example shows the ``html/what_is_olx.xml`` file for an HTML component.
-In this case, the ``html`` element contains no children.
+.. code-block:: xml
+
+
*************************************
``html`` Element Attributes
@@ -75,47 +66,39 @@ In this case, the ``html`` element contains no children.
* - Attribute
- Meaning
* - ``display_name``
- - Required. The value that is displayed to students as the name of the
+ - Required. The value that is displayed to learners as the name of the
HTML component. If you do not supply a ``display_name`` value, "html" is
supplied for you.
* - ``filename``
- The name of the HTML file that contains the content for the HTML
component, without the ``.HTML`` extension.
+
*************************************
-Example HTML Component XML File
+HTML Component XML File Elements
*************************************
-The following example shows an XML file for an HTML component.
-
-.. code-block:: xml
-
-
+The root element of the XML file for the HTML component is file is ``html``.
+In this case, the ``html`` element contains no children.
*************************************
Example HTML Component Content
*************************************
In the component's HTML file, you add valid HTML to represent the content you
-want to be displayed to students. For example, the following is from an HTML
-file for the edX Demo course:
+want to be displayed to learners. For example, the following is from an HTML
+file from the olx_example_course:
.. code-block:: html
-
Lesson 2: Let's Get INTERACTIVE!
-
- Now that you know your
- way around an Open edX course let's look at some of the exciting interactive
- tools you may encounter. Use the unit navigation bar above to explore.
-
-
Once you have tried the interactive tools in this lesson,
- make sure to check out the week 2 homework where we show you several of the
- really cool interactive labs we’ve created for past courses.
- They’re fun to play with. Many courses will have tools
- and labs that you need to use to complete homework assignments.
+
OLX (open learning XML) is the XML-based standard used to build courses for the Open edX Platform.
+
With OLX, you can:
+
+
Move content between Open edX instances.
+
Create course content outside of Open edX Studio, including by conversion from other content formats.
+
Ensure content remains free of proprietary encoding and allow portability.
+
.. seealso::
@@ -130,12 +113,10 @@ file for the edX Demo course:
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/components/problem-components.rst b/source/educators/olx/components/problem-components.rst
index 3071a4969..858b34089 100644
--- a/source/educators/olx/components/problem-components.rst
+++ b/source/educators/olx/components/problem-components.rst
@@ -6,7 +6,7 @@ Problem Components in OLX
.. tags:: educator, reference
-The problem component allows you to add interactive exercises to the verticals
+The problem component allows you to add interactive exercises to the units
in your course. You can add many different types of exercises and problems.
This section covers the basics of problem components: what they look like to
you and your learners, and the options that every problem component has.
@@ -21,20 +21,15 @@ Problem Component Overview
The format for Open edX problems is based on the `LON-CAPA XML format`_, although
the two are not quite compatible. In the Open edX variant, problems are composed of
-the following types of tags.
-
-* ``inputtypes`` are similar to XBlocks. They define ways for users to enter
- input into the problem.
-* ``responsetypes`` are graders. They define how inputs are mapped to grades.
-* ``hinters`` are used to provide feedback to problems.
-* Standard HTML tags are used for formatting.
-
-OLX is designed to allow mixing and matching of ``inputtypes``,
-``responsetypes``, and ``hinters``. For example, a numerical grader could match
-7+-0.1%. Ideally, you could use this grader with any ``inputtype`` that returns
-numbers as its output, including a text box, equation input, slider, or
-multiple choice question. In practice, this does not always work. For example,
-in the example described above, a multiple choice question would not give an
+various *input types*, such as ``numericalresponse`` or ``stringresponse``.
+
+Standard HTML tags are used for formatting.
+
+OLX is designed to allow mixing and matching of input types and response types.
+For example, a numerical grader could match 7+-0.1%. Ideally, you could use this
+grader with any input type that returns numbers as its output, including a text
+box, equation input, slider, or multiple choice question. In practice, this does
+not always work. For example, a multiple choice question would not give an
output in a format a numerical grader could handle.
In addition, in many cases, there is a 1:1 mapping between graders and inputs.
@@ -42,14 +37,14 @@ For some types of inputs (especially discipline-specific specialized ones),
only one grader is needed.
The most general grader is ``customresponse``. This grader uses Python code to
-evaluate the input. By design, this ought to work with any inputtype, although
-there are bugs mixing this with a small number of the newer inputtypes.
+evaluate the input. By design, this ought to work with any input type, although
+this is not guaranteed to render or work properly in the Open edX Studio or LMS
+environments.
Like LON-CAPA, OLX allows embedding of code to generate parameterized problems.
Unlike LON-CAPA, Open edX supports Python (and not Perl). Otherwise, the syntax for
parameterizing problems is approximately identical.
-
=====================================
Creating Graded or Ungraded Problems
=====================================
@@ -116,7 +111,7 @@ element.
Problem Weight
==============================
-Using OLX, you set the component weight as an attribute of the ````
+Using OLX, you set the score of the component as an attribute of the ````
element.
.. code-block:: xml
@@ -158,14 +153,17 @@ Using OLX, you set the show answer preference as an attribute of the
You can specify the following values for this attribute.
-* always
-* answered
-* attempted
-* closed
-* correct_or_past_due
-* finished
-* past_due
-* never
+* "always"
+* "answered"
+* "attempted"
+* "closed"
+* "finished"
+* "past_due"
+* "correct_or_past_due"
+* "after_all_attempts"
+* "after_all_attempts_or_correct"
+* "attempted_no_past_due"
+* "never"
.. _Show Reset Button OLX:
@@ -217,6 +215,10 @@ live section, learners will see the effect of these changes.
Workarounds
===============
+The Instructor Dashboard allows rescoring existing submissions for either a
+specific learner, or all learners in the course. However, this may not be ideal
+in the situation that the problem itself has changed.
+
If you have to modify a released problem in a way that affects grading, you
have two options within Studio to assure that every learner has the opportunity
to submit a new response and be regraded. Note that both options require you to
@@ -271,10 +273,18 @@ the answers for all the problems in the component appear.
than one problem. Each custom JavaScript problem must be in its own
component.
+****************************************************
+Adding Feedback and Hints to a Problem
+****************************************************
+
.. include:: /educators/references/course_development/exercise_tools/adding_hints.rst
:start-after: .. START ADDING FEEDBACK AND HINTS
:end-before: .. END ADDING FEEDBACK AND HINTS
+**************************
+Awarding Partial Credit
+**************************
+
.. include:: /educators/references/course_development/awarding_partial_credit.rst
:start-after: .. START PARTIAL CREDIT
:end-before: .. END PARTIAL CREDIT
@@ -314,6 +324,10 @@ content blocks, which randomly draw problems from pools of problems stored in
content libraries. For more information, see
:ref:`Randomized Content Blocks`.
+**************************
+Tooltips
+**************************
+
.. include:: /educators/references/course_development/adding_tooltips.rst
:start-after: .. START ADDING TOOLTIPS
:end-before: .. END ADDING TOOLTIPS
@@ -330,8 +344,6 @@ content libraries. For more information, see
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/components/video-components.rst b/source/educators/olx/components/video-components.rst
index 7b3d7b959..6260890ff 100644
--- a/source/educators/olx/components/video-components.rst
+++ b/source/educators/olx/components/video-components.rst
@@ -6,9 +6,7 @@ Video Components in OLX
.. tags:: educator, reference
-You can add video components to any container in your course (such as
-a vertical or sequential). Studio places all video components inside
-verticals (which it calls units).
+You can add video components to a course unit via the ``video/.xml`` file.
.. contents::
:local:
@@ -19,19 +17,23 @@ Create the XML File for a Video Component
**********************************************
To add a video component to your course, add it to the course XML tree as
-follows.
+follows. This is ``video/purpose_power_reach.xml`` in the olx_example_course.
.. code-block:: xml
+ youtube="1.00:lVPPPpyUOR4"
+ url_name="purpose_power_reach"
+ display_name="The Purpose, Power and Reach of the Open edX® Platform"
+ edx_video_id=""
+ end_time="00:00:00"
+ html5_sources="[]"
+ start_time="00:00:00"
+ track=""
+ youtube_id_1_0="lVPPPpyUOR4"/>
+
-If you prefer to place the video component in its own file, you create an XML
-file in the ``video`` directory for each video component in your course.
+Place an XML file in the ``video`` directory for each video component in your course.
The name of the XML file must match the value of the @url_name attribute of the
``video`` element in the vertical XML file.
@@ -40,12 +42,12 @@ For example, the vertical XML file uses the following format.
.. code-block:: xml
-
-
- . . .
+
+
-You create the file ``video/Introduction_Lecture.xml`` to define the video
+
+You create the file ``video/purpose_power_reach.xml`` to define the video
component.
*************************************
@@ -54,24 +56,6 @@ Video Component XML File Elements
The root element of the XML file for the HTML component is file is ``video``.
-The ``video`` element contains a single ``source`` element.
-
-==============================
-``source`` Element
-==============================
-
-The ``source`` element contains the following attribute.
-
-.. list-table::
- :widths: 10 70
- :header-rows: 1
-
- * - Attribute
- - Meaning
- * - ``src``
- - The file path for the video file.
-
-
*************************************
``video`` Element Attributes
*************************************
@@ -83,33 +67,53 @@ The ``source`` element contains the following attribute.
* - Attribute
- Meaning
* - ``display_name``
- - Required. The value that is displayed to students as the name of the
- video component. If you do not supply a ``display_name`` value, "video"
- is supplied for you.
+ - Required. The value that is displayed to learners as the name of the
+ video component. If a ``display_name`` is not supplied, "video" will appear to learners.
* - ``youtube``
- - The speed and ID pairings for the YouTube video source. The value can
- contain multiple speed:ID pairs, separated by commas.
+ - The speed and 1.0 pairings for the YouTube video source (see Note below)
+ * - ``youtube_id_1_0``
+ - The YouTube id for the video
* - ``download_track``
- - Whether students can download the video track. ``true`` or ``false``.
+ - Whether learners can download the video track. ``true`` or ``false``.
* - ``download_video``
- - Whether students can download the video. ``true`` or ``false``.
+ - Whether learners can download the video. ``true`` or ``false``.
* - ``html5_sources``
- The file path for the HTML5 version of the video.
* - ``show_captions``
- - Whether students can view the video captions. ``true`` or ``false``.
- * - ``source``
+ - Whether learners can view the video captions. ``true`` or ``false``.
+ * - ``start_time``
+ - The HH:MM:SS value of when within the video playback should begin. Defaults to ``00:00:00``
+ * - ``end_time``
+ - The HH:MM:SS value of when within the video playback should end. Defaults to ``00:00:00`` (will play whole video)
+ * - ``track``
- TBD
- * - ``sub``
- - TBD
- * - ``youtube_id_0_75``
- - The YouTube ID for the video that plays at 75% normal speed.
- * - ``youtube_id_1_0``
- - The YouTube ID for the video that plays at 100% normal speed.
- * - ``youtube_id_1_25``
- - The YouTube ID for the video that plays at 125% normal speed.
- * - ``youtube_id_1_5``
- - The YouTube ID for the video that plays at 150% normal speed.
+ * - ``edx_video_id``
+ - Only used on ``edx.org`` courses. Will be deprecated.
+
+.. note::
+
+ For historical reasons, the ``youtube`` attribute requires a speed mapping. Since YouTube introduced the
+ native ability to speed up/slow down video circa 2014, the speed mapping is no longer required. However, the ``youtube``
+ attribute still maps the YouTube id to the 1.0 speed as follows:
+
+ .. code-block:: xml
+
+ youtube="1.00:lVPPPpyUOR4"
+
+==============================
+``source`` Element
+==============================
+The optional ``source`` element contains the following attribute.
+
+.. list-table::
+ :widths: 10 70
+ :header-rows: 1
+
+ * - Attribute
+ - Meaning
+ * - ``src``
+ - The file path for the video file.
*************************************
Example Video Component XML File
@@ -120,16 +124,15 @@ The following example shows an XML file for a video component.
.. code-block:: xml
@@ -147,8 +150,6 @@ The following example shows an XML file for a video component.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
diff --git a/source/educators/olx/content-experiments/content_experiments_test_olx.rst b/source/educators/olx/content-experiments/content_experiments_test_olx.rst
index 40a3c463c..da7bd3459 100644
--- a/source/educators/olx/content-experiments/content_experiments_test_olx.rst
+++ b/source/educators/olx/content-experiments/content_experiments_test_olx.rst
@@ -25,8 +25,6 @@ For more information, see :ref:`Test Content Experiments`.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/directory-structure.rst b/source/educators/olx/directory-structure.rst
index 5a01ecb7e..c858022ad 100644
--- a/source/educators/olx/directory-structure.rst
+++ b/source/educators/olx/directory-structure.rst
@@ -6,7 +6,26 @@ What is the OLX Course Structure?
.. tags:: educator, concept
-This topic describes the structure of a generic OLX (open learning XML) course.
+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 :ref:`Work with the targz 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.
+
.. contents::
:local:
@@ -15,57 +34,54 @@ This topic describes the structure of a generic OLX (open learning XML) course.
For more information about how a specific OLX course is structured, see
:ref:`The Structure of a Sample Course`.
-For more information about how a course exported from Open edX Studio is structured,
-see :ref:`Example of OLX for a Studio Course`.
-
-
****************************************
OLX and Directory File Structures
****************************************
All files and subdirectories that comprise your OLX course are stored within
-a single directory.
-
-OLX provides for some flexibility in the directory and file structure
-you use to build your course.
+a single directory, called the ``course/`` directory.
************************
Top-level Directory
************************
-Starting out, it is easiest to create your courseware structure in a
-single file, the ``course.xml file``.
-
-This file can contain your entire course, but in most cases, it is convenient
-to split out large chunks of content into individual files. This is typically
-done either at the level of large components, such as problems or homework
-assignments.
+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).
-Currently, when Studio exports a course, it places each component in its own
-file.
-
-For example, the Open edX Platform contains a directory called
-`manual-testing-complete`_ that contains a course with all component
-types for testing purposes.
+For example, the `Open edX DemoX Course
+`_ contains a course with many
+component types, and the `OLX Example Course
+`_
+(described in more detail in :ref:`The 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.
+
+ 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
+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
+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.
+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.
@@ -81,15 +97,14 @@ and directories.
Open edX Platform Directories
*******************************
-In addition to the course hierarchy, which is designed to be generic
-and cross-platform, OLX courses contain a set of JSON and HTML
+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.
+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).
@@ -97,13 +112,25 @@ The ``about`` directory contains the following files.
* ``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 :ref:`Course Overview`.
+==========================
+``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.
+The ``info`` directory contains the following files:
* ``handouts.html``, which contains the content for the **Course Handouts**
page in the course.
@@ -115,16 +142,27 @@ The ``info`` directory contains the following files.
``policies`` Directory
=======================
-The ``policies`` directory contains the following files.
+The ``policies`` directory contains:
-* ``grading_policy.json``, which defines how work is graded in the course.
+* ``assets.json``, which defines all files used in the course, such as images.
-* ``policy.json``, which defines various settings in the course.
+The ``policies`` directory also contains a folder for the course run, which holds:
-* ``assets.json``, which defines all files used in the course, such as images.
+* ``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 :ref:`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
====================
@@ -141,7 +179,16 @@ For more information, see :ref:`Course Assets`.
The ``tabs`` directory contains an HTML file for each page you add to your
course.
-For more information, see :ref:`Course Tabs`.
+For more information, see :ref:`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.
+
.. seealso::
@@ -153,12 +200,12 @@ For more information, see :ref:`Course Tabs`.
:ref:`The Courseware Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
+ :ref:`Work with the targz File` (reference)
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/example-course/index.rst b/source/educators/olx/example-course/index.rst
index 7f1855871..56609082c 100644
--- a/source/educators/olx/example-course/index.rst
+++ b/source/educators/olx/example-course/index.rst
@@ -11,8 +11,8 @@ courses in many ways. While there is no best way to structure courses in all
situations, there are best practices that help make an OLX course easier to
create and maintain.
-This section uses the `olx-example`_ course as an example of how to create an
-OLX course. The files for `olx-example`_ are stored in GitHub, so you can
+This section uses the `olx_example_course`_ as an example of how to create an
+OLX course. The files for the `olx_example_course`_ are stored in GitHub, so you can
explore how the course is made for yourself.
These topics examine the overall structure of the olx-example course and how the
diff --git a/source/educators/olx/example-course/insider-course-xml.rst b/source/educators/olx/example-course/insider-course-xml.rst
index c9ad40f88..27fc93b50 100644
--- a/source/educators/olx/example-course/insider-course-xml.rst
+++ b/source/educators/olx/example-course/insider-course-xml.rst
@@ -1,29 +1,33 @@
.. _The olx-example course.xml File:
-###################################
-The olx-example ``course.xml`` File
-###################################
+#########################################
+The ``course.xml`` file (advanced usage)
+#########################################
.. tags:: educator, reference
-The `olx-example`_ course is a sample course that was originally developed for edX.org.
+.. warning::
-The courseware for `olx-example`_ is defined in the `course.xml`_ file and
-follows the organization described in :ref:`The Courseware Structure`.
+ This page was written in 2013 and may no longer work for imports into Open edX Studio.
+ Alternative ways of structuring OLX aside from the Studio export format described elsewhere
+ in this OLX guide are not guaranteed by the Open edX project to work with 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 elsewhere in this guide.
.. contents::
:local:
:depth: 1
*****************************
-olx-example Course Hierarchy
+Example Course Hierarchy
*****************************
-The olx-example courseware is organized into chapters, sequentials, and
+Open edX courseware is organized into chapters, sequentials, and
verticals.
For example, the following XML defines the first chapter, sequential, and
-vertical in the course.
+vertical directly in the ``course.xml`` file.
.. code-block:: xml
@@ -53,11 +57,15 @@ Sequentials that Contain XBlocks
*********************************
One advantage of OLX (open learning XML) is the flexibility it allows in how
-you organize your course. For example, olx-example demonstrates that you can
+you organize your course. For example, you can
nest XBlocks and problems directly in a sequential, without the need for a
vertical. This streamlines the course creation process while maintaining
consistency in how students interact with courseware.
+.. warning::
+
+ This structure is not guaranteed to successfully import into Open edX Studio.
+
The following example XML defines a sequential that has, as children, an HTML
XBlock, a reference to a vertical that is defined in another file, and a
reference to a problem defined in another file.
@@ -99,16 +107,18 @@ The learner sees this sequential as follows.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
:ref:`The Courseware Structure` (reference)
+ :ref:`Work with the targz File` (reference)
+
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
| Review Date | Reviewer | Release | Test situation |
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
+| 2025-11-06 | sarina | Ulmo | Deprecated - this method is no longer guaranteed to work with Open edX Studio |
++--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
| 2025-04-11 | Sarina Canelake | Sumac |`Fail `_ |
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
diff --git a/source/educators/olx/example-course/insider-structure.rst b/source/educators/olx/example-course/insider-structure.rst
index d78d699dc..563af3a8a 100644
--- a/source/educators/olx/example-course/insider-structure.rst
+++ b/source/educators/olx/example-course/insider-structure.rst
@@ -6,63 +6,70 @@ The OLX Structure of a Sample Course
.. tags:: educator, reference
-This topic describes the structure of a sample course known as the `olx-example`_ course that was originally developed for edX.org.
+This topic describes the structure of a sample course known as the
+`olx_example_course`_, a course with the structure of an Open edX Studio export.
.. contents::
:local:
:depth: 1
-For information about how a generic OLX (open learning XML) course is
-structured, see :ref:`OLX Directory Structure`.
-
-For information about how a course exported from Open edX Studio is structured, see
-:ref:`Example of OLX for a Studio Course`.
-
.. note::
- The structure and content of olx-example can change without corresponding
+ The structure and content of the *olx_example_course* can change without corresponding
updates being made to this reference guide.
-******************************************
-olx-example and Directory File Structures
-******************************************
+**************************************************
+olx_example_course and Directory File Structures
+**************************************************
-All files and subdirectories that comprise olx-example are stored in the
-`olx-example course`_ directory in the olx-example Git repository.
+All files and subdirectories that comprise *olx_example_course* are stored in the
+`olx_example_course course`_ directory in the ``training-courses`` GitHub repository.
-.. Image:: /_images/olx-example-images/olx-example-github.png
- :alt: The olx-example course in GitHub.
+.. admonition:: TODO
-********************
-Top-level Directory
-********************
+ Fix this image
+
+.. Image:: /_images/olx-example-images/olx-example-github.png
+ :alt: The olx_example_course in GitHub, showing the file structure of the ``course/`` directory.
-The `olx-example course`_ directory in the olx-example Git repository contains the
-``course.xml`` file as well as XBlock and Platform directories.
+**********************
+Top-level Directories
+**********************
-* The `course.xml`_ file contains the XML for the courseware. All chapters and
- sequentials are defined in ``course.xml``.
+The `olx_example_course course`_ directory in the ``training-courses`` GitHub
+repository contains the ``course.xml`` file as well as various XBlock and
+Platform directories.
-* Most verticals are defined in ``course.xml``; two verticals are referenced in
- other files.
+* The `course.xml`_ file contains the XML for the courseware. In the
+ ``olx_example_course``, this simply contains the course key, ````; this is how the Studio
+ export works. It is possible to define course sections, subsections, and units
+ (``chapter`` s, ``sequential`` s, and ``vertical`` s) within the ``course.xml`` file, however,
+ if imported into Studio and then exported, the format of the
+ ``olx_example_course`` will be applied.
-* The content of some HTML XBlocks is embedded within ``course.xml``; other
- HTML XBlocks are referenced in other files.
+* Course sections are defined in the ``chapter`` directory, subsections in the
+ ``sequential`` directory, and units in the ``vertical`` directory.
-* Problems are referenced in other files.
+* HTML units are referenced in the ``html`` directory, where you'll find two
+ files: an XML file that calls an associated HTML file, which defines the HTML
+ content.
-For more information, see :ref:`The olx-example course.xml File`.
+* Videos are defined in the ``video`` directory.
-******************************
-The HTML XBlock Directory
-******************************
+* Problems are referenced in other directories, such as ``problem`` and ``lti``.
-While some HTML content is embedded in ``course.xml``, many HTML XBlocks are
-stored as separate files in the ``HTML`` directory.
+For more information, see the olx_example_course `course.xml`_ file.
==============================
Example of a Referenced XBlock
==============================
+.. warning::
+
+ This part of the guide was written in 2013. As of the Teak release, it is
+ untested and not guaranteed to work when imported into Open edX Studio,
+ either currently or in future releases.
+
You can reference an XBlock from the ``course.xml`` file.
For example, in ``course.xml``, the first vertical in the courseware contains a
@@ -94,6 +101,12 @@ For a learner, that HTML component appears as the first unit of the course.
Example of an Inline XBlock
==============================
+.. warning::
+
+ This part of the guide was written in 2013. As of the Teak release, it is
+ untested and not guaranteed to work when imported into Open edX Studio,
+ either currently or in future releases.
+
You can include XBlock content within the ``course.xml`` file. You can do
this for ease of reading and maintenance when you do not need to reuse the
content.
@@ -131,7 +144,7 @@ way as a referenced HTML component does.
Platform Directories
********************
-The olx-example course contains information in the course subdirectories as
+The olx_example_course course contains information in the course subdirectories as
described below.
====================
@@ -168,7 +181,7 @@ The ``policies`` directory contains the following files.
* ``assets.json``, which defines all files used in the course, such as images.
-* A course directory named ``course``, which contains:
+* A course directory named ``2025`` (the "course run"), which contains:
* ``grading_policy.json``, which defines how student work is graded in the
course.
@@ -190,30 +203,34 @@ For more information, see :ref:`Course Assets`.
``vertical`` Directory
=======================
-The ``vertical`` directory contains the XML for two verticals used in the
+The ``vertical`` directory contains the XML for the 14 units used in the
course.
-* ``constructive_ora_exercise.xml``
-* ``in_class_ora.xml``
-
-You can embed verticals in the ``course.xml`` file, and this is usually the
-most straightforward option. However, with OLX, you can also store XML for
-verticals in separate files in the ``vertical`` directory.
+You can embed *units* (verticals) in the ``course.xml`` file, however this method
+is not guaranteed to work on Open edX Studio imports. It is recommended
+to store XML for units in separate files in the ``vertical`` directory.
-In this case, verticals for open response assessments are stored in their own
-files.
-
-The vertical files are referenced in ``course.xml`` as follows:
+The *units* are referenced in associated XML files for course *subsections* (in the
+``sequential/`` directory). For example, in
+``sequential/subsection_1_midterm_exam.xml``, you'll see:
.. code-block:: html
-
+
+
+
+
+
+
-And:
+And in ``vertical/unit_1_input_problems.xml``:
.. code-block:: html
-
+
+
+
+
.. seealso::
@@ -229,16 +246,18 @@ And:
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
:ref:`The Courseware Structure` (reference)
+ :ref:`Work with the targz File` (reference)
+
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
| Review Date | Reviewer | Release | Test situation |
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
+| 2025-11-06 | sarina | Ulmo | Pass |
++--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
| 2025-03-19 | Peter Pinch | Sumac |`Fail content `_ |
| | Sarina Canelake | |`Fail insider course hosting `_ |
+--------------+-------------------------------+----------------+--------------------------------------------------------------------------------------------------------------------+
diff --git a/source/educators/olx/front_matter/read_me.rst b/source/educators/olx/front_matter/read_me.rst
deleted file mode 100644
index 48c34bd2a..000000000
--- a/source/educators/olx/front_matter/read_me.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-*******
-Read Me
-*******
-
-The *Open edX Open Learning XML Guide* provides the information you need to build an
-Open edX course through OLX (open learning XML) and supporting files, without using
-Studio.
-
-This documentation is created using RST_ files and Sphinx_. The Open edX community welcomes contributions from Open edX community
-members. You can find guidelines for how to :ref:`contribute to Open edX Documentation`.
-
-.. seealso::
-
- :ref:`What is Open Learning XML?` (concept)
-
- :ref:`Example of an OLX Course` (reference)
-
- :ref:`Getting Started with OLX` (quickstart)
-
- :ref:`OLX Directory Structure` (reference)
-
- :ref:`Example of OLX for a Studio Course` (reference)
-
-**Maintenance chart**
-
-+--------------+-------------------------------+----------------+--------------------------------+
-| Review Date | Working Group Reviewer | Release |Test situation |
-+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
-+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/getting-started.rst b/source/educators/olx/getting-started.rst
index d27824766..3bb5b86ac 100644
--- a/source/educators/olx/getting-started.rst
+++ b/source/educators/olx/getting-started.rst
@@ -1,25 +1,37 @@
.. _Getting Started with OLX:
-###########################
Getting Started with OLX
-###########################
+##########################
.. tags:: educator, quickstart
-To develop your course in OLX (open learning XML), the XML markup format for the Open edX platform, you
+The **Open edX Open Learning XML Guide** provides the information you need to
+build an Open edX course through OLX (open learning XML) and supporting files,
+without (or in addition to) using Studio.
+
+This documentation is created using RST_ files and Sphinx_. The Open edX
+community welcomes contributions from Open edX community members. You can find
+guidelines for how to :ref:`contribute to Open edX Documentation`.
+
+Create an OLX Course
+***********************
+
+To develop your course in OLX, the XML markup format for the Open edX platform, you
complete the following steps.
#. :ref:`Define course policies`.
#. :ref:`Add course assets`.
#. :ref:`Create the course Overview page`.
- #. :ref:`Create tabs, or pages, in your course`.
+ #. :ref:`Create tabs, or pages, in your course`.
#. :ref:`Organize Courseware`.
#. :ref:`Create course components`.
#. :ref:`Create problems and tools`.
-
.. seealso::
+ :ref:`OLX Documentation ` (reference)
+
:ref:`What is Open Learning XML?` (concept)
:ref:`Example of an OLX Course` (reference)
@@ -30,12 +42,10 @@ complete the following steps.
:ref:`The Courseware Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/organizing-course/course-structure-overview.rst b/source/educators/olx/organizing-course/course-structure-overview.rst
index 3c1b3735c..41a85b92d 100644
--- a/source/educators/olx/organizing-course/course-structure-overview.rst
+++ b/source/educators/olx/organizing-course/course-structure-overview.rst
@@ -21,19 +21,23 @@ Courseware is the main content of your course and consists mainly of lessons
and assessments. The following list describes how courseware is organized in
OLX.
-* Course chapters are at the top level of your course and typically
- represent a time period. In Studio, chapters are called *sections*.
+* Course sections are at the top level of your course and typically
+ represent a time period. In OLX, sections are defined in the ``chapter`` directory.
-* A chapter contains one or more children which correspond to
- top-level pages in the course. In Studio, these are called 'subsections' and
- are currently restricted to ``sequential`` elements at this
- level. OLX supports any XBlock at this level.
+* A section contains one or more children ("subsections") which correspond to
+ top-level pages in the course. In Studio, these
+ are defined within ``sequential`` elements at this level.
-* Courses are composed of structural elements, such as ``sequential``
- and ``vertical``, and leaf-nodes or content elements, such as
+ .. note::
+
+ Technically, OLX supports any XBlock at this level. This is not
+ guaranteed to work upon Studio import.
+
+* Courses are composed of structural elements, such as ``sequential`` (subsections),
+ ``vertical`` (units), and leaf-nodes (content elements/components), such as
``html`` or ``problem``. Studio has a fixed hierarchy where children
of ``sequential`` elements are ``vertical`` elements (called units),
- and children of ``vertical`` elements are leaf elements (called modules).
+ and children of ``vertical`` elements are leaf elements (called components).
* :ref:`Course Components`
* :ref:`Problems`
@@ -48,7 +52,7 @@ In addition to the courseware described above, you course can contain
supplemental content, such as textbooks, custom pages, and files. The
following list describes the types of supported content.
-* Course about pages appear in the course list for prospective students and are
+* Course about pages appear in the default Open edX course catalog for prospective students and are
used to market your course. For more information, see :ref:`Course Overview`.
* Course assets are any supplemental files you use in your course, such as a
@@ -56,7 +60,7 @@ following list describes the types of supported content.
more information, see :ref:`Course Assets`.
* Course pages are custom pages that you can have appear in the top navigation
- menu of your course. For more information, see :ref:`Course Tabs`.
+ menu of your course. For more information, see :ref:`Create tabs, or pages, in your course`.
****************************
Course Policies
@@ -82,12 +86,10 @@ control grading and content experiments. For more information, see
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/organizing-course/course-xml-file.rst b/source/educators/olx/organizing-course/course-xml-file.rst
index c16a3cb25..07f46c820 100644
--- a/source/educators/olx/organizing-course/course-xml-file.rst
+++ b/source/educators/olx/organizing-course/course-xml-file.rst
@@ -6,98 +6,145 @@ The OLX Courseware Structure
.. tags:: educator, reference
-You develop the courseware structure in the ``course.xml`` file, in the top-
-level directory.
+The courseware structure in the ``course.xml`` file is defined in the top-level
+directory. In Studio, the ``course.xml`` file is simple, and points to the specific
+course run xml file in the ``course/run.xml`` file like so:
+
+.. code-block:: xml
+
+
+
+The rest of this page would describe the file that this ``course.xml`` points to,
+called `course/2025.xml `_.
.. contents::
:local:
:depth: 1
-For an example of a ``course.xml`` file, see :ref:`The olx-example course.xml
-File`.
+.. admonition:: Other course.xml usages
+
+ :ref:`The olx-example course.xml File` describes an alternative way of structuring
+ the top-level ``course.xml`` file - it is not the format Studio exports in, and may
+ not be supported by Studio.
*************************************
-The ``course.xml`` File
+The ``course/run.xml`` File
*************************************
-The root element of the ``course.xml`` file is ``course``.
+In our example ``course.xml`` file, we point to the 2025 run:
-An example of the contents of a ``course.xml`` file follows.
+.. code-block:: xml
+
+
+
+A partial example of the contents of a ``2025.xml`` file follows.
.. code-block:: xml
-
- . . .
- . . .
+
+ . . .
+
==============================
``course`` Attributes
==============================
+.. note::
+
+ There are many more ``course`` attributes than described in this guide; no such complete guide of all
+ available attributes currentliy exists. Many attributes can be discovered by setting them in Studio
+ and then inspecting the exported ``course/run.xml`` file.
+
.. list-table::
:widths: 10 70
:header-rows: 1
* - 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).
+ organization, and course name. The url_name must also be the name of the course run 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.
+ * - ``advanced_modules``
+ - The list of advanced modules, or custom XBlocks, used in your course.
* - ``course_image``
- - The filename of the image used on the course About page.
+ - The path to the course image, used in the Open edX Course Catalog and on the learner dashboard
+ * - ``display_name``
+ - The human-readable name, used throughout the course
* - ``enrollment_start``
- - The date and time that students can start enrolling in the course.
+ - The date and time that learners can start enrolling in the course (defined as a UTC datestamp such as ``"2025-05-01T00:00:00Z"``)
+ * - ``grace_period``
+ - The amount of time a learner is allowed to submit beyond a problem's due date (applies across all course elements)
+ * - ``language``
+ - The two-letter `ISO 639 language code `_ that the course is authored in
+ * - ``lti_passports``
+ - A list of LTI passports required for LTI units in the course
+ * - ``minimum_grade_credit``
+ - A floating-point number less than or equal to 1.0 which defines the minimum grade required to obtain a course certificate
+ * - ``pdf_textbooks``
+ - A list of PDF textbooks, each defined with lists that contain information about each chapter and its associated asset file
+ * - ``start``
+ - The date and time that the course starts (defined as a UTC datestamp)
============================================================
-``course`` Element Attributes and Course URLS
+``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.
+course. The following example URL shows where these values are used (note
+different areas of the platform have different URL structures, but the course
+*key* (`course-v1:<@org value/<@course value>/<@url_name value>/>`)) will be
+present in each URL.
.. code-block:: none
- http://my-edx-server.org/courses/<@org value>/<@course value>/<@url_name value>/info
+ https://apps.training.openedx.io/learning/course/course-v1:<@org value>/<@course value>/<@url_name value>/home
For example:
.. code-block:: none
- http://my-edx-server.org/courses/edX/DemoX/Demo_Course/info
+ https://apps.training.openedx.io/learning/course/course-v1:OpenedX+DemoX+Demo_Course/home
*******************************
-Course Chapters
+Course Sections
*******************************
-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 Open 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.
+You create a course section with the ``chapter`` element, as a child of the
+``course`` element. Chapter elements are top-level sections of the course.
+The Open edX platform renders navigation chrome around them (accordion on the left).
-For example, the course outline is defined by elements in the following format.
+For example, the course outline is defined by elements in the following format,
+defined in the ``course/run.xml`` (`course/2025.xml
+`_,
+in our example).
.. code-block:: xml
-
-
- . . .
-
+
+
+
+
+ . . .
+
==============================================
``chapter`` Attributes
@@ -109,132 +156,147 @@ For example, the course outline is defined by elements in the following format.
* - Attribute
- Meaning
+ * - ``url_name``
+ - The url_name must be the name of the XML file (without the ``.xml`` extension) in the ``chapter/`` directory.
* - ``display_name``
- - The value that is displayed to students as the name of the chapter, or
- section.
+ - The value that is displayed to learners as the name of the 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.
+ - The date and time, in UTC, that the section is released to learners.
+ Before this date and time, learners do not see the section.
=========================
``chapter`` Children
=========================
The ``chapter`` element contains one or more children. Studio uses
-``sequential`` elements for all children of chapters, and calls these
-``subsections``.
+*subsections*, defined by ``sequential`` elements, for all children of chapters.
-The following example shows a chapter with two sequentials, or subsections.
+The following example shows a chapter with two subsections, (``sequential`` items),
+from `chapter/section_1_homework.xml `_.
.. code-block:: xml
-
-
- . . .
-
- . . .
+
+
+
*******************************
-Course Sequentials
+Course Subsections
*******************************
-You create a course sequential with the ``sequential`` element, for each
+You create a course subsection with the ``sequential`` element, for each
subsection in the chapter.
-For example, the course can contain a sequential in this format.
+For example, the course can contain a subsection in this format, from
+`sequential/subsection_2_graded_as_homework.xml
+`_.
.. code-block:: xml
-
-
-
- . . .
-
-
- . . .
-
+
+
+
+
+
+
+
+
==============================================
``sequential`` Attributes
==============================================
+.. note::
+
+ There may be more ``course`` attributes than described in this guide; no such complete guide of all
+ available attributes currentliy exists. Many attributes can be discovered by setting them in Studio
+ and then inspecting the exported ``sequential/.xml`` file.
+
+
.. list-table::
:widths: 10 70
:header-rows: 1
* - Attribute
- Meaning
+ * - ``url_name``
+ - The url_name must be the name of the XML file (without the ``.xml`` extension) in the ``sequential/`` directory.
* - ``display_name``
- - The value that is displayed to students as the name of the sequential,
+ - The value that is displayed to learners as the name of the sequential,
or subsection.
+ * - ``due``
+ - The date and time, in UTC, that the subsection is due.
+ After this date and time, learners cannot answer questions in this 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.
+ - The date and time, in UTC, that the subsection is released to learners.
+ Before this date and time, learners do not see the subsection.
* - ``graded``
- - Whether the sequential is a graded subsection; ``true`` or ``false``.
+ - Whether the subsection is a graded subsection; ``true`` or ``false``.
* - ``format``
- - If the sequential is graded, the assignment type.
+ - If the subsection is graded, the assignment type.
* - ``graceperiod``
- - If the sequential is graded, the number of seconds in the grace period.
- * - ``rerandomize``
- - TBD
+ - If the subsection is graded, the number of seconds in the grace period.
+ * - ``hide_after_due``
+ - Whether the subsection should be visible past the due date; ``true`` or ``false``.
+ * - ``show_correctness``
+ - Defines when to show whether a learner's answer to the problem is correct;
+ ``"always"``, ``"never"``, or ``"past_due"``
* - ``showanswer``
- - TBD
- * - ``xqa_key``
- - TBD
+ - Defines when to show the answer to the problem. ``"always"``, ``"answered"``, ``"attempted"``, ``"closed"``,
+ ``"finished"``, ``"correct_or_past_due"``, ``"past_due"``, ``"never"``, ``"after_attempts"``, ``"after_all_attempts"``,
+ ``"after_all_attempts_or_correct"``, ``"attempted_no_past_due"``, or ``"never_show_correctness_but_include_grade_description"``
+
+.. admonition:: "never_show_correctness_but_include_grade_description"
+
+ This option was added to the Ulmo release. In this option, learners do not see
+ question-level correctness or scores before or after the due date. However,
+ once the due date passes, they can see their overall score for the subsection
+ on the Progress page.
==============================================
``sequential`` Children
==============================================
-The ``sequential`` element contains one or more child ``vertical`` elements.
+The ``sequential`` element contains one or more units (child ``vertical`` elements).
-The ``vertical`` element references a vertical, or unit, in the course.
+The ``vertical`` element references a unit in the course.
-The following example shows a chapter with a sequential that has three
-verticals, or units.
+For example, the subsection can contain units in this format, from
+`vertical/unit_2_selection_problems.xml
+`_.
.. code-block:: xml
-
-
-
-
- . . . .
-
- . . . .
-
-
- . . .
-
+
+
+
+
+
*******************************
-Course Verticals
+Course Units
*******************************
-In the course structure, a course vertical serves the following functions.
+In the course structure, a course unit serves the following functions.
-* Defines the display name for the vertical, or unit.
-* Organizes components and other verticals in the vertical.
+* Defines the display name for the unit.
+* Organizes components.
-You create a course vertical with the ``vertical`` element, for each
-unit in the subsection.
+You create a course unit with the ``vertical`` element, for each unit in the
+subsection.
For example, the course can contain a vertical in this format.
.. code-block:: xml
-
-
-
-
- . . .
-
-
- . . .
-
+
+
+
+
+
=========================
``vertical`` Attributes
@@ -246,8 +308,10 @@ For example, the course can contain a vertical in this format.
* - Attribute
- Meaning
+ * - ``url_name``
+ - The url_name must be the name of the XML file (without the ``.xml`` extension) in the ``vertical/`` directory.
* - ``display_name``
- - The value that is displayed to students as the name of the sequential,
+ - The value that is displayed to learners as the name of the sequential,
or subsection.
==============================
@@ -255,27 +319,15 @@ For example, the course can contain a vertical in this format.
==============================
The ``vertical`` element contains one or more child elements for each component
-in the vertical, or unit.
+in the 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.
+.. warning::
-A vertical element can also contain a vertical element. You can nest
-verticals, or units, recursively.
+ A unit element can also contain a vertical element, potentially creating a recursive definition of verticals.
+ This is unsupported by Studio and not guaranteed to render properly - or at all - in the Open edX LMS or Libraries.
Child elements of ``vertical`` refer to components in your course. The Open edX
-Platform supports a wide range of components, including custom XBlocks.
-
-The following example shows a vertical with two components.
-
-.. code-block:: xml
-
-
-
-
-
+platform supports a wide range of components, including custom XBlocks.
.. seealso::
@@ -287,12 +339,11 @@ The following example shows a vertical with two components.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/pages/pages.rst b/source/educators/olx/pages/pages.rst
index f574720b8..998187b30 100644
--- a/source/educators/olx/pages/pages.rst
+++ b/source/educators/olx/pages/pages.rst
@@ -1,12 +1,12 @@
-.. _Course Tabs:
+.. _Course Tabs OLX:
-#################################
+########################################
Create Course Tabs in OLX
-#################################
+########################################
.. tags:: educator, how-to
-You can add tabs, or pages, to your course. Each page appears in your course's
+You can add custom tabs, or pages, to your course. Each page appears in your course's
navigation bar.
*********************************************
@@ -14,13 +14,38 @@ Create the Tab File
*********************************************
For each page you want your course to offer, you create an HTML file in the
-``tabs`` directory.
+``tabs`` directory. It can be as simple as this:
+
+*Contents of* ``html_custom_tab.html``:
+
+.. code-block:: html
+
+
Welcome to the OLX Example Course!
+
+
This is a custom HTML page added as a custom tab to the course.
You can add any text and HTML markup to the page. Pages can also be links or
other types of content. One design pattern is to link a tab to a chromeless
XBlock in the courseware, which allows for top-level interactive course
content.
+Ensure you place the custom tab properly in the ``policy.json`` file as detailed
+in :ref:`Course Policies`.
+
+.. code-block:: json
+
+ {
+ "course/2025": {
+ {
+ "course_staff_only": false,
+ "name": "HTML Custom Tab",
+ "type": "static_tab",
+ "url_slug": "html_custom_tab"
+ },
+ }
+
+
+
.. seealso::
:ref:`What is Open Learning XML?` (concept)
@@ -33,7 +58,6 @@ content.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
**Maintenance chart**
diff --git a/source/educators/olx/policies/assets-policy.rst b/source/educators/olx/policies/assets-policy.rst
index bb04a7042..90ea34a20 100644
--- a/source/educators/olx/policies/assets-policy.rst
+++ b/source/educators/olx/policies/assets-policy.rst
@@ -1,14 +1,13 @@
.. _Course Asset Policy:
-#####################################
-Create the Course Asset Policy in OLX
-#####################################
+#####################################################
+Create Course Assets and Textbooks in OLX
+#####################################################
.. tags:: educator, how-to
You create an asset policy file to provide details of the assets used in your
-course. Assets can include image files, textbooks, handouts, and supporting
-JavaScript files.
+course. Assets can include image files, textbooks, and handouts.
.. contents::
:local:
@@ -31,75 +30,131 @@ structure.
Asset Policy JSON Objects
************************************
- .. list-table::
- :widths: 10 80
- :header-rows: 0
-
- * - ``contentType``
- - The MIME type of the file.
- * - ``displayname``
- - The file name.
- * - ``locked``
- - ``true`` if users can only access the file from within your course.
- ``false`` if users can access the file from outside of your course.
- * - ``content_son``
- - A collection that contains:
+For each asset, the following fields must be provided in a JSON dict for that asset:
+
+.. list-table::
+ :widths: 10 80
+ :header-rows: 0
+
+ * - ``contentType``
+ - The MIME type of the file.
+ * - ``content_son``
+ - A collection that contains:
* ``category``: Equal to ``asset``.
- * ``name``: The file name.
* ``course``: The course number.
+ * ``name``: The file name.
* ``tag``:
* ``org``: The organization that created the course.
* ``revision``
- * - ``filename``
- - The full path and name of the file in the Open edX Platform.
- * - ``import_path``
- - TBD
- * - ``thumbnail_location``
- - An array containing:
+ * - ``displayname``
+ - The file name.
+ * - ``filename``
+ - The full path and name of the file in the Open edX Platform.
+ * - ``import_path``
+ - ``null`` (TBD - why?)
+ * - ``locked``
+ - ``true`` if users can only access the file from within your course.
+ ``false`` if users can access the file from outside of your course.
+ * - ``thumbnail_location``
+ - Either ``null`` (for assets without a thumbnail type, such as PDFs), or, an array containing:
* ``c4x``
* The organization.
* The course number.
* ``thumbnail``
* The filename for the thumbnail.
+ * ``null`` (TBD - why?)
*******************************
Example Asset Policy File
*******************************
-The following example shows the JSON policy for one image file.
+The following example shows the JSON policy for an image file and a PDF textbook.
.. code-block:: json
- {
- "dashboard.png":
- {
- "contentType": "image/png",
- "displayname": "dashboard.png",
- "locked": false,
- "content_son":
- {
- "category": "asset",
- "name": "dashboard.png",
- "course": "Course number",
- "tag": "c4x",
- "org": "Organization",
- "revision": null
- },
- "filename": "/c4x/Organization/Course-number/asset/dashboard.png",
- "import_path": null,
- "thumbnail_location":
- [
- "c4x",
- "Organization",
- "Course number",
- "thumbnail",
- "dashboard.jpg",
- null
- ]
- }
+ {
+ "Education_for_a_Digital_World.pdf": {
+ "contentType": "application/pdf",
+ "content_son": {
+ "category": "asset",
+ "course": "OLXex",
+ "name": "Education_for_a_Digital_World.pdf",
+ "org": "OpenedX",
+ "revision": null,
+ "run": "2025",
+ "tag": "c4x"
+ },
+ "custom_md5": "be2c4a1483397675d7bd124c100d02f9",
+ "displayname": "Education_for_a_Digital_World.pdf",
+ "filename": "asset-v1:OpenedX+OLXex+2025+type@asset+block@Education_for_a_Digital_World.pdf",
+ "import_path": null,
+ "locked": false,
+ "thumbnail_location": null
+ },
+ "Intro_to_OLX_course_card.png": {
+ "contentType": "image/png",
+ "content_son": {
+ "category": "asset",
+ "course": "OLXex",
+ "name": "Intro_to_OLX_course_card.png",
+ "org": "OpenedX",
+ "revision": null,
+ "run": "2025",
+ "tag": "c4x"
+ },
+ "custom_md5": "f007dbebf9fb14d666a01614b97a860e",
+ "displayname": "Intro to OLX course card.png",
+ "filename": "asset-v1:OpenedX+OLXex+2025+type@asset+block@Intro_to_OLX_course_card.png",
+ "import_path": null,
+ "locked": false,
+ "thumbnail_location": [
+ "c4x",
+ "OpenedX",
+ "OLXex",
+ "thumbnail",
+ "Intro_to_OLX_course_card-png.jpg",
+ null
+ ]
+ },
}
+.. _Course Textbooks OLX:
+
+*********************************************
+Create Textbooks
+*********************************************
+
+As described above, first upload a textbook asset to
+your course in the ``static`` directory.
+
+.. admonition:: Accessibility concerns
+
+ See the notes in the :ref:`Add Course Textbooks` article around accessibility - namely, that
+ PDF textbooks are accessible whereas PNG/image files are not.
+
+Then, as described above, link it in your ``assets.json`` file.
+
+Finally, update the ``policy.json`` file (described in :ref:`Course Policies`)
+with information in the ``pdf_textbooks`` key:
+
+.. code-block:: json
+
+ {
+ "course/2025": {
+ "pdf_textbooks": [
+ {
+ "chapters": [
+ {
+ "title": "Full Book",
+ "url": "/asset-v1:OpenedX+OLXex+2025+type@asset+block@Education_for_a_Digital_World.pdf"
+ }
+ ],
+ "id": "6Education_for_a_Digital_World",
+ "tab_title": "Education for a Digital World: Advice, Guidelines and Effective Practice from Around Globe"
+ }
+ ],
+ }
.. seealso::
@@ -115,13 +170,11 @@ The following example shows the JSON policy for one image file.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/policies/course.rst b/source/educators/olx/policies/course.rst
index fd152494d..6db06f064 100644
--- a/source/educators/olx/policies/course.rst
+++ b/source/educators/olx/policies/course.rst
@@ -27,66 +27,70 @@ attribute in the ``course.xml`` file.
Course Policy JSON Objects
************************************
- .. list-table::
- :widths: 10 80
- :header-rows: 0
-
- * - ``start``
- - The start date for the course. For example: ``"2017-09-05T12:00"``.
- * - ``advertised_start``
- - The start date displayed in the course listing and course about pages.
- For example: ``"2017-09-05T12:00``.
- * - ``disable_policy_graph``
- - Whether the policy graph should be disabled (``true``) or not
- (``false)``.
- * - ``enrollment_start``, ``enrollment_end``
- - The dates in which students can enroll in the course. For example,
- ``"2017-09-05T12:00"``. If not specified, students can enroll any
- time.
- * - ``end``
- - The end date for the course. For example: ``"2017-11-05T12:00"``.
- * - ``end_of_course_survey_url``
- - The URL for an end of course survey. The link is shown after the
- course is over, next to certificate download links.
- * - ``tabs``
- - Custom pages, or tabs, in the courseware. See below for details.
- * - ``discussion_blackouts``
- - An array of time intervals during which students cannot create or edit
- discussion posts. For example, you could specify blackout dates during
- exams. For example:
-
- ``[[""2017-10-29T04:00", "2017-11-03T04:00"], ["2017-12-30T04:00", "2018-01-02T04:00"]]``
-
- Course team members with the Discussion Moderator, Community TAs, or
- Administrator role are not restricted during blackout periods.
-
- * - ``show_calculator``
- - Whether the calculator is shown in the course (``true``) or not
- (``false)``.
- * - ``days_early_for_beta``
- - The number of days early that students in the beta-testers group can
- access the course.
- * - ``cohort_config``
- -
- * ``cohorted`` : Boolean. Set to ``true`` if this course uses
- student cohorts. If so, all inline discussions are automatically
- cohorted, and top-level discussion topics are configurable via the
- ``cohorted_discussions`` list. Default is ``false``, not cohorted).
- * ``cohorted_discussions``: list of discussion topics that should be
- cohorted. Any not specified in this list are not cohorted.
- * ``auto_cohort_groups``: ``["group name 1", "group name 2", ...]``
- If ``cohorted`` is ``true``, each student is automatically assigned
- to a random group from this list, creating the group if needed.
- * - ``pdf_textbooks``
- - Have pdf-based textbooks on tabs in the courseware. See below for
- details.
- * - ``html_textbooks``
- - The addition of HTML-based textbooks on tabs in the courseware has
- been deprecated.
-
-
-
-.. disable_policy_graph above had "SUPPORTED?" after it, moved to this comment 26 Oct 2015 - Alison
+.. note::
+
+ This is a partial list of supported fields in the ``policy.json`` file.
+ Many more are available; these can be variously found on the Open edX Studio's "Advanced
+ Settings" page, the Pages & Resources view, and the Course Settings page.
+
+
+
+.. list-table::
+ :widths: 10 80
+ :header-rows: 0
+
+ * - ``start``
+ - The start date for the course, in UTC. For example: ``"2025-06-01T00:00:00Z"``.
+ * - ``advertised_start``
+ - The start date, in UTC, displayed in the course listing and course about pages.
+ For example: ``"2025-06-15T00:00:00Z``.
+ * - ``advanced_modules``
+ - A list of non-standard XBlocks to use in the course, eg ``["lti", "scorm"]``
+ * - ``enrollment_start``, ``enrollment_end``
+ - The dates (in UTC) in which students can enroll in the course. For example,
+ ``"2025-05-01T00:00:00Z"``. If not specified, students can enroll any
+ time.
+ * - ``end``
+ - The end date for the course, in UTC. For example: ``"2027-06-01T12:00:00Z"``.
+ * - ``graceperiod``
+ - The amount of time learners have after a deadline to provide their answers,
+ for example, ``"7200 seconds"``.
+ * - ``tabs``
+ - Custom pages, or tabs, in the courseware. See below for details.
+ * - ``discussion_blackouts``
+ - An array of time intervals during which students cannot create or edit
+ discussion posts. For example, you could specify blackout dates during
+ exams. For example:
+
+ ``[[""2017-10-29T04:00", "2017-11-03T04:00"], ["2017-12-30T04:00", "2018-01-02T04:00"]]``
+
+ Course team members with the Discussion Moderator, Community TAs, or
+ Administrator role are not restricted during blackout periods.
+
+ * - ``show_calculator``
+ - Whether the calculator is shown in the course (``true``) or not
+ (``false``).
+ * - ``days_early_for_beta``
+ - The number of days early that students in the beta-testers group can
+ access the course.
+ * - ``cohort_config``
+ -
+ * ``cohorted`` : Boolean. Set to ``true`` if this course uses
+ student cohorts. If so, all inline discussions are automatically
+ cohorted, and top-level discussion topics are configurable via the
+ ``cohorted_discussions`` list. Default is ``false``, not cohorted).
+ * ``cohorted_discussions``: list of discussion topics that should be
+ cohorted. Any not specified in this list are not cohorted.
+ * ``auto_cohort_groups``: ``["group name 1", "group name 2", ...]``
+ If ``cohorted`` is ``true``, each student is automatically assigned
+ to a random group from this list, creating the group if needed.
+ * - ``pdf_textbooks``
+ - Have pdf-based textbooks on tabs in the courseware. See below for
+ details.
+ * - ``html_textbooks``
+ - The addition of HTML-based textbooks on tabs in the courseware has
+ been deprecated.
+
*******************************
Example Course Policy File
@@ -95,69 +99,107 @@ Example Course Policy File
An example with a few of the settings defined in the course policy file
follows.
-::
-
- {
- "course/course": {
- "advanced_modules": [
- "poll",
- "survey",
- ],
- "discussion_blackouts": [],
- "discussion_topics": {
- "General": {
- "id": "course"
- }
- "show_calculator": true,
- "show_reset_button": true,
- "start": "2017-10-01T00:30:00Z",
- "tabs": [
- {
- "course_staff_only": false,
- "name": "Course",
- "type": "course_info"
- },
- {
- "course_staff_only": false,
- "name": "Discussion",
- "type": "discussion"
- },
- {
- "course_staff_only": false,
- "is_hidden": true,
- "name": "Wiki",
- "type": "wiki"
- },
- {
- "course_staff_only": false,
- "name": "Progress",
- "type": "progress"
- },
- {
- "course_staff_only": true,
- "name": "Staff only (Alison)",
- "type": "static_tab",
- "url_slug": "7cf2fccec33541dc81ce5e0e34e2689c"
- }
- ],
- "user_partitions": [
- {
- "active": true,
- "description": "The groups in this configuration can be mapped to cohort groups in the LMS.",
- "groups": [
- {
- "id": 1124782865,
- "name": "Group A",
- "version": 1
- },
- {
- "id": 254579781,
- "name": "Group B",
- "version": 1
- }
- }
- ]
- }
+.. code-block:: json
+
+
+
+ {
+ "course/2025": {
+ "advanced_modules": [
+ "edx_sga",
+ "lti",
+ "scorm",
+ "poll",
+ "survey"
+ ],
+ "cert_html_view_enabled": true,
+ "certificates_display_behavior": "CertificatesDisplayBehaviors.END",
+ "course_image": "Intro_to_OLX_course_card.png",
+ "discussion_topics": {
+ "General": {
+ "id": "course"
+ }
+ },
+ "discussions_settings": {
+ "enable_graded_units": false,
+ "enable_in_context": true,
+ "provider_type": "openedx",
+ "unit_level_visibility": true
+ },
+ "display_name": "OLX Example Course",
+ "end": "2027-06-01T00:00:00Z",
+ "enrollment_end": "2026-01-31T00:00:00Z",
+ "enrollment_start": "2025-05-01T00:00:00Z",
+ "graceperiod": "7200 seconds",
+ "instructor_info": {
+ "instructors": []
+ },
+ "language": "en",
+ "learning_info": [],
+ "lti_passports": [
+ "codeboard:codeboard_key_1:codeboard_secret_1234",
+ "jupyter:811a447706c152588c436ee13addeeb889e7f256033679408737bd5bc4118225:869e9639af7de74929b13ae17ad22e4efb60d9d112143e287589289102e1de00"
+ ],
+ "minimum_grade_credit": 0.8,
+ "pdf_textbooks": [
+ {
+ "chapters": [
+ {
+ "title": "Full Book",
+ "url": "/asset-v1:OpenedX+OLXex+2025+type@asset+block@Education_for_a_Digital_World.pdf"
+ }
+ ],
+ "id": "6Education_for_a_Digital_World",
+ "tab_title": "Education for a Digital World: Advice, Guidelines and Effective Practice from Around Globe"
+ }
+ ],
+ "start": "2025-06-01T00:00:00Z",
+ "tabs": [
+ {
+ "course_staff_only": false,
+ "name": "Course",
+ "type": "courseware"
+ },
+ {
+ "course_staff_only": false,
+ "name": "Progress",
+ "type": "progress"
+ },
+ {
+ "course_staff_only": false,
+ "name": "Dates",
+ "type": "dates"
+ },
+ {
+ "course_staff_only": false,
+ "name": "Discussion",
+ "type": "discussion"
+ },
+ {
+ "course_staff_only": false,
+ "is_hidden": true,
+ "name": "Wiki",
+ "type": "wiki"
+ },
+ {
+ "course_staff_only": false,
+ "name": "Textbooks",
+ "type": "textbooks"
+ },
+ {
+ "course_staff_only": false,
+ "name": "Textbooks",
+ "type": "pdf_textbooks"
+ },
+ {
+ "course_staff_only": false,
+ "name": "HTML Custom Tab",
+ "type": "static_tab",
+ "url_slug": "html_custom_tab"
+ }
+ ]
+ }
+ }
.. seealso::
@@ -171,13 +213,11 @@ follows.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/policies/grading.rst b/source/educators/olx/policies/grading.rst
index 3b274ca9c..a6e2273e5 100644
--- a/source/educators/olx/policies/grading.rst
+++ b/source/educators/olx/policies/grading.rst
@@ -39,15 +39,16 @@ Course Policy JSON Objects
* - ``GRADER``
- For each assignment type:
+ * ``drop_count``: The number of assignments of this type that can be
+ dropped when calculating the final grade.
* ``min_count``: TBD
- * ``weight``: The percentage of the total grade determined by
- assignments of this type. The total value for all assignment types
- must equal 1.0.
- * ``type``: The name of the assignment type.
* ``short_label``: The label for the assignment type shown on the
student's Progress page.
- * ``drop_count``: The number of assignments of this type that can be
- dropped when calculating the final grade.
+ * ``type``: The name of the assignment type.
+ * ``weight``: The percentage of the total grade determined by
+ assignments of this type (for example, ``0.5`` for 50%).
+ The total value for all assignment types must equal 1.0.
+
*******************************
Example Grading Policy File
@@ -55,25 +56,34 @@ Example Grading Policy File
.. code-block:: json
- {
- "GRADE_CUTOFFS": {"Pass": 0.6},
- "GRADER": [
- {
- "min_count": 3,
- "weight": 0.75,
- "type": "Homework",
- "drop_count": 1,
- "short_label": "Ex"
- },
- {
- "short_label": "",
- "min_count": 1,
- "type": "Exam",
- "drop_count": 0,
- "weight": 0.25
- }
- ]
- }
+ {
+ "GRADER": [
+ {
+ "drop_count": 2,
+ "min_count": 1,
+ "short_label": "HW",
+ "type": "Homework",
+ "weight": 0.3
+ },
+ {
+ "drop_count": 0,
+ "min_count": 1,
+ "short_label": "Midterm",
+ "type": "Midterm Exam",
+ "weight": 0.3
+ },
+ {
+ "drop_count": 0,
+ "min_count": 1,
+ "short_label": "Final",
+ "type": "Final Exam",
+ "weight": 0.4
+ }
+ ],
+ "GRADE_CUTOFFS": {
+ "Pass": 0.41
+ }
+ }
.. seealso::
@@ -89,12 +99,10 @@ Example Grading Policy File
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/problem-xml/symbolic_response.rst b/source/educators/olx/problem-xml/symbolic_response.rst
index 2479138a3..b8eed4123 100644
--- a/source/educators/olx/problem-xml/symbolic_response.rst
+++ b/source/educators/olx/problem-xml/symbolic_response.rst
@@ -6,6 +6,12 @@ Symbolic Response
.. tags:: educator, reference
+.. warning::
+
+ Symbolic response is not a problem type exposed in Open edX Studio.
+
+ Studio and LMS support of symbolic response is not guaranteed to work.
+
This topic is planned to document features that the current symbolic response
supports. In general, it allows the input and validation of math expressions,
up to commutativity and some identities.
@@ -16,34 +22,34 @@ Features
This is a partial list of features, to be revised over time.
- * sub and superscripts: an expression following the ``^`` character
- indicates exponentiation. To use superscripts in variables, the syntax
- is ``b_x__d`` for the variable ``b`` with subscript ``x`` and super
- ``d``.
+* sub and superscripts: an expression following the ``^`` character
+ indicates exponentiation. To use superscripts in variables, the syntax
+ is ``b_x__d`` for the variable ``b`` with subscript ``x`` and super
+ ``d``.
- An example of a problem.
+ An example of a problem.
- ::
+ ::
-
-
-
+
+
+
- It's a bit of a pain to enter that.
+ It's a bit of a pain to enter that.
- * The script-style math variant. What would be outputted in LaTeX if you
- entered ``\mathcal{N}``. This is used in some variables.
+* The script-style math variant. What would be outputted in LaTeX if you
+ entered ``\mathcal{N}``. This is used in some variables.
- An example::
+ An example::
-
-
-
+
+
+
- There is no fancy preprocessing needed, but if you had superscripts or
- something, you would need to include that part.
+ There is no fancy preprocessing needed, but if you had superscripts or
+ something, you would need to include that part.
.. seealso::
@@ -60,12 +66,10 @@ This is a partial list of features, to be revised over time.
:ref:`OLX Directory Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/studio-example/index.rst b/source/educators/olx/studio-example/index.rst
deleted file mode 100644
index a5c9c0b8c..000000000
--- a/source/educators/olx/studio-example/index.rst
+++ /dev/null
@@ -1,66 +0,0 @@
-.. _Example of OLX for a Studio Course:
-
-##################################
-Example of OLX for a Studio Course
-##################################
-
-.. tags:: educator, reference
-
-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.
-
-As explained in this document, OLX provides for flexibility in how you
-structure your course content. However, the Open edX Studio exports OLX content in a
-specific structure.
-
-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.
-
-.. note::
- The format of Studio course exports is subject to change. As a result, any
- tools that you create specifically for the current Studio export format might
- not work for future versions. To avoid problems with manually authored OLX
- courses, we strongly recommend that you base any scripts that you create on
- the OLX format specification rather than on the current Studio export format.
-
-In this section, we use a course that is part of the Open edX Platform, the `Manual
-Testing`_ course, as an example of the OLX course exported from the Open edX Studio. We
-examine the overall structure of the `Manual Testing`_ course, as well as how
-the courseware is defined.
-
-The files for the `Manual Testing`_ course are stored in GitHub, so you can
-explore how the course is structured for yourself.
-
-For more information, see the following topics.
-
-.. toctree::
- :maxdepth: 2
-
- manual-testing-structure
-
-
-.. seealso::
-
- :ref:`What is Open Learning XML?` (concept)
-
- :ref:`Example of an OLX Course` (reference)
-
- :ref:`Getting Started with OLX` (quickstart)
-
- :ref:`OLX Directory Structure` (reference)
-
- :ref:`The Courseware Structure` (reference)
-
- :ref:`Example of OLX for a Studio Course` (reference)
-
-
-**Maintenance chart**
-
-+--------------+-------------------------------+----------------+--------------------------------+
-| Review Date | Working Group Reviewer | Release |Test situation |
-+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
-+--------------+-------------------------------+----------------+--------------------------------+
\ No newline at end of file
diff --git a/source/educators/olx/studio-example/manual-testing-structure.rst b/source/educators/olx/studio-example/manual-testing-structure.rst
index 060946cdb..b18b68eb7 100644
--- a/source/educators/olx/studio-example/manual-testing-structure.rst
+++ b/source/educators/olx/studio-example/manual-testing-structure.rst
@@ -246,9 +246,6 @@ non-courseware parts of the OLX course. For more information, see
:ref:`The Courseware Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/olx/what-is-olx.rst b/source/educators/olx/what-is-olx.rst
index cb7997ff2..d26a0bab2 100644
--- a/source/educators/olx/what-is-olx.rst
+++ b/source/educators/olx/what-is-olx.rst
@@ -7,14 +7,17 @@ What is Open Learning XML?
.. tags:: educator, concept
OLX (open learning XML) is the XML-based standard used to build courses for the
-edX Platform.
+Open edX Platform.
With OLX, you can:
-* Move content between instances of Open edX.
+* Move content between different Open edX instances, either by using the
+ ``.tar.gz`` export of OLX that Studio provides, or by hand-writing OLX and
+ compiling it into a ``.tar.gz`` file (see :ref:`Work with the targz File`).
* Create course content outside of Open edX Studio, including by conversion from
- other content formats.
-* Ensure content remains free of proprietary encoding and allow portability.
+ other content formats (note: the `cc2olx converter
+ `_ can be used to convert Common
+ Cartridge exports into OLX).
**************
XML Resources
@@ -32,6 +35,8 @@ For a primer on XML, see the `Wikipedia XML entry`_ .
.. seealso::
+ :ref:`OLX Documentation ` (reference)
+
:ref:`Example of an OLX Course` (reference)
:ref:`Getting Started with OLX` (quickstart)
@@ -40,13 +45,11 @@ For a primer on XML, see the `Wikipedia XML entry`_ .
:ref:`The Courseware Structure` (reference)
- :ref:`Example of OLX for a Studio Course` (reference)
-
**Maintenance chart**
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/references/course_development/adding_tooltips.rst b/source/educators/references/course_development/adding_tooltips.rst
index 8c67cdc4c..dd652591a 100644
--- a/source/educators/references/course_development/adding_tooltips.rst
+++ b/source/educators/references/course_development/adding_tooltips.rst
@@ -7,6 +7,12 @@ Adding Tooltips to a Problem
.. START ADDING TOOLTIPS
+.. warning::
+
+ Tooltips are not exposed in the Open edX Studio problem editor.
+
+ Studio and LMS support of tooltips is not guaranteed to work.
+
You can add inline tooltips to help learners understand terminology or other aspects of a problem. Tooltips display text to learners when they move their
cursors over a tooltip icon.
@@ -76,5 +82,5 @@ tooltips.
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/references/course_development/awarding_partial_credit.rst b/source/educators/references/course_development/awarding_partial_credit.rst
index d194ee35d..c17b225fa 100644
--- a/source/educators/references/course_development/awarding_partial_credit.rst
+++ b/source/educators/references/course_development/awarding_partial_credit.rst
@@ -7,6 +7,12 @@ Awarding Partial Credit for a Problem
.. START PARTIAL CREDIT
+.. warning::
+
+ Partial credit is not an option exposed in Open edX Studio.
+
+ Studio and LMS support of partial credit is not guaranteed to work.
+
You can configure the following problem types so that learners can receive
partial credit for a problem if they submit a partially correct answer.
diff --git a/source/educators/references/course_development/exercise_tools/adding_hints.rst b/source/educators/references/course_development/exercise_tools/adding_hints.rst
index 90dd13d57..dcea32ef2 100644
--- a/source/educators/references/course_development/exercise_tools/adding_hints.rst
+++ b/source/educators/references/course_development/exercise_tools/adding_hints.rst
@@ -76,16 +76,17 @@ Best Practices for Providing Hints
**********************************
To ensure that your hints can assist learners with varying backgrounds and
-levels of understanding, you should provide multiple hints with different
-levels of detail.
+levels of understanding, you should provide multiple hints with different levels
+of detail.
-For example, the first hint can orient the learner to the problem and help
-those struggling to better understand what is being asked.
+For example, the first hint can orient the learner to the problem and help those
+struggling to better understand what is being asked.
-The second hint can then take the learner further towards the answer.
+The second, and any subsequent, hint can then take the learner further towards
+the answer.
-In problems that are not graded, the third and final hint can explain the
-solution for learners who are still confused.
+In problems that are not graded, the final hint can explain the solution for
+learners who are still confused.
***************************************
Create Problems with Feedback and Hints
diff --git a/source/educators/references/course_development/learner_problem_view.rst b/source/educators/references/course_development/learner_problem_view.rst
index 68509819d..be573eeeb 100644
--- a/source/educators/references/course_development/learner_problem_view.rst
+++ b/source/educators/references/course_development/learner_problem_view.rst
@@ -37,29 +37,32 @@ an option is available in problems.
LMS immediately provides feedback about whether the response is correct
or incorrect, as well as the problem score. The **Submit** option remains
available if the learner has unused attempts remaining, so that they can
- try to answer the problem again.
+ try to answer the problem again
- .. note::
- If you want to temporarily or permanently hide learners' results for
- problems inside of a subsection, see :ref:`Problem Results Visibility`.
+ .. note::
+ If you want to temporarily or permanently hide learners' results for
+ problems inside of a subsection, see :ref:`Problem Results Visibility`.
#. **Attempts.** You can set a specific number of attempts or allow unlimited
- attempts for a problem. By default, the course-wide **Maximum Attempts**
+ attempts for a problem. By default, the course-wide **Maximum attempts**
advanced setting is null, meaning that the maximum number of attempts for
problems is unlimited.
In courses where a specific number has been specified for **Maximum
- Attempts** in Advanced Settings, if you do not specify a value for **Maximum
- Attempts** for an individual problem, the number of attempts for that
+ attempts** in Advanced Settings, if you do not specify a value for **Maximum
+ attempts** for an individual problem, the number of attempts for that
problem defaults to the number of attempts defined in Advanced Settings.
+ Note that if the course-wide setting is a specific number, the Maximum
+ attempts for individual problems cannot be set to unlimited.
+
#. **Save.** The learner can select **Save** to save their current response
without submitting it for grading. This allows the learner to stop working
on a problem and come back to it later.
#. **Reset.** You can specify whether the **Reset** option is available for a
- problem. This setting at the problem level overrides the default setting
- for the course in **Advanced Settings**.
+ problem. This setting at the problem level overrides the default setting of
+ **Show reset button for problems** for the course in Advanced Settings.
If the **Reset** option is available, learners can select **Reset** to
clear any input that has not yet been submitted, and try again to answer
@@ -80,22 +83,28 @@ an option is available in problems.
problem. If a learner selects **Show Answer**, the learner sees both the
correct answer and the explanation, if any.
- If you specify a number in **Show Answer: After Some Number of Attempts**, the learner
- must submit at least that number of attempted answers before the **Show
- Answer** option is available for the problem.
+ The **Show answer** setting in Advanced Settings allows course authors to
+ specify when the Show Answer button appears for each problem. Valid values
+ are "always", "answered", "attempted", "closed", "finished", "past_due",
+ "correct_or_past_due", "after_all_attempts", "after_all_attempts_or_correct",
+ "attempted_no_past_due", and "never".
+
+ If you specify a number in the problem-level setting **Show Answer: After
+ Some Number of Attempts**, the learner must submit at least that number of
+ attempted answers before the **Show Answer** option is available for the
+ problem.
#. **Feedback.** After a learner selects **Submit**, an icon appears beside
each response field or selection within a problem. A green check mark
- indicates that the response was correct, a green asterisk (*) indicates that
- the response was partially correct, and a red X indicates that the response
+ indicates that the response was correct while a red X indicates that the response
was incorrect. Underneath the problem, feedback text indicates whether the
- problem was answered correctly, incorrectly, or partially correctly, and
+ problem was answered correctly or incorrectly, and
shows the problem score.
-.. image:: /_images/educator_references/AnatomyOfExercise2.png
- :alt: A problem from a learner's point of view, with callouts showing the
- feedback elements of an answered problem.
- :width: 600
+ .. image:: /_images/educator_references/AnatomyOfExercise2.png
+ :alt: A problem from a learner's point of view, with callouts showing the
+ feedback elements of an answered problem.
+ :width: 600
.. note::
If you want to temporarily or permanently hide learners' results for
@@ -110,17 +119,24 @@ have the following elements.
* **Explanation.** You can include an explanation that appears when a learner
selects **Show Answer**.
-* **Grading.** You can specify whether a group of problems is graded.
+ .. image:: /_images/educator_references/AnatomyOfExercise3.png
+ :alt: A problem from a learner's point of view, with a problem explanation shown
+ below the input box after "Show Answer" has been selected.
+ :width: 600
+
+* **Points.** You can specify the number of points for a problem (default is 1).
* **Due date.** The date that the problem is due. Learners cannot submit
answers for problems whose due dates have passed, although they can select
**Show Answer** to show the correct answer and the explanation, if any.
+ This is set at the subsection level.
.. note::
Problems can be **open** or **closed**. Closed problems, such as problems
whose due dates are in the past, do not accept further responses and cannot
- be reset. Learners can still see questions, solutions, and revealed
- explanations, but they cannot submit responses or reset problems.
+ be reset. Depending on the value of **Show answer**, learners may be able to
+ still see questions, solutions, and revealed explanations, but they cannot
+ submit responses or reset problems.
There are also some attributes of problems that are not immediately
visible. You can set these attributes in Studio.
diff --git a/source/links.txt b/source/links.txt
index 746cc0d9c..d75d31f05 100644
--- a/source/links.txt
+++ b/source/links.txt
@@ -24,13 +24,13 @@
.. _2014.xml: https://github.com/openedx/edx-platform/blob/master/common/test/data/manual-testing-complete/course/2014.xml
-.. _olx-example: https://github.com/openedx/training-courses/tree/main/olx-example
+.. _olx_example_course: https://github.com/openedx/training-courses/tree/main/olx_example_course
-.. _olx-example course: https://github.com/openedx/training-courses/tree/main/olx-example/course
+.. _olx_example_course course: https://github.com/openedx/training-courses/tree/main/olx_example_course/course
-.. _Week_overview.html: https://github.com/openedx/training-courses/blob/main/olx-example/course/html/Week_overview.html
+.. _Week_overview.html: https://github.com/openedx/training-courses/blob/main/olx_example_course/course/html/Week_overview.html
-.. _course.xml: https://github.com/openedx/training-courses/blob/main/olx-example/course/course.xml
+.. _course.xml: https://github.com/openedx/training-courses/blob/main/olx_example_course/course/course.xml
.. _Open edX Demo Course GitHub: https://github.com/openedx/openedx-demo-course