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/_images/educator_references/partial_credit_multiple_choice.png b/source/_images/educator_references/partial_credit_multiple_choice.png
index d3845d49c..959a5fd7e 100644
Binary files a/source/_images/educator_references/partial_credit_multiple_choice.png and b/source/_images/educator_references/partial_credit_multiple_choice.png differ
diff --git a/source/_images/olx-example-images/olx-example-github.png b/source/_images/olx-example-images/olx-example-github.png
index ed56fac11..0660e02b2 100644
Binary files a/source/_images/olx-example-images/olx-example-github.png and b/source/_images/olx-example-images/olx-example-github.png differ
diff --git a/source/conf.py b/source/conf.py
index e83857e74..b3e351b44 100644
--- a/source/conf.py
+++ b/source/conf.py
@@ -66,6 +66,7 @@
"learners/sfd_discussions/explore_posts.rst": "learners/sfd_discussions/find_follow_conversations.rst",
"learners/sfd_discussions/keep_up.rst": "learners/sfd_discussions/discussions_notifications.rst",
"learners/sfd_discussions/provide_feedback.rst": "learners/sfd_discussions/find_follow_conversations.rst",
+ "educators/references/course_development/working_with_targz_file.rst": "educators/how-tos/course_development/work_with_targz_file.rst",
}
tags_create_tags = True
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/references/course_development/working_with_targz_file.rst b/source/educators/how-tos/course_development/work_with_targz_file.rst
similarity index 96%
rename from source/educators/references/course_development/working_with_targz_file.rst
rename to source/educators/how-tos/course_development/work_with_targz_file.rst
index 27ed6f37f..e102405f7 100644
--- a/source/educators/references/course_development/working_with_targz_file.rst
+++ b/source/educators/how-tos/course_development/work_with_targz_file.rst
@@ -1,9 +1,9 @@
.. _Work with the targz File:
-Working with the ``.tar.gz`` File
+Work with the ``.tar.gz`` File
###################################
-.. tags:: educator, reference
+.. tags:: educator, how-to
Courses are exported and imported in ``.tar.gz`` files containing OLX (Open
Learning XML), the Open edX markup format for open course exchange. For more
diff --git a/source/educators/how-tos/releasing-course/import_course.rst b/source/educators/how-tos/releasing-course/import_course.rst
index d0aeecd18..3ba09e8ba 100644
--- a/source/educators/how-tos/releasing-course/import_course.rst
+++ b/source/educators/how-tos/releasing-course/import_course.rst
@@ -77,7 +77,7 @@ To import a course, follow these steps.
:ref:`Course Export File Terminology` (reference)
- :ref:`Work with the targz File` (reference)
+ :ref:`Work with the targz File` (how-to)
**Maintenance chart**
diff --git a/source/educators/navigation/content_creation_management.rst b/source/educators/navigation/content_creation_management.rst
index 7cdb20df4..7ac8d9120 100644
--- a/source/educators/navigation/content_creation_management.rst
+++ b/source/educators/navigation/content_creation_management.rst
@@ -182,7 +182,7 @@ Re-run a Course
:glob:
../references/course_development/course_export_terminology.rst
- ../references/course_development/working_with_targz_file.rst
+ ../how-tos/course_development/work_with_targz_file.rst
Test Your Course
diff --git a/source/educators/navigation/olx.rst b/source/educators/navigation/olx.rst
index 96e9acc52..f422121b8 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
@@ -113,7 +128,8 @@ The topics in this section describe how to use OLX (open learning XML) to create
../olx/components/html-components.rst
../olx/components/discussion-components.rst
../olx/components/video-components.rst
- ../olx/components/problem-components.rst
+ ../olx/components/problem-components.rst
+ ../olx/components/multipart-components.rst
.. _OLX Exercises, Tools, and Problem Types:
@@ -182,30 +198,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..27420402a 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
+ a course, provided the Open edX instance the course is hosted on is using the default
+ Open edX course catalog. Some Open edX instances 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, 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.
+learners. Within the ``section`` tags, use valid HTML.
-The overview must contain sections with the following names.
+The overview may contain section(s) with the following names.
* ``about``
* ``prerequisites``
@@ -38,10 +48,10 @@ The overview must contain sections with the following names.
.. _A Template For Course Overview:
************************************************
-A Template For Your Course Overview
+A Template For A Course Overview
************************************************
-Replace the placeholders in the following template with your information.
+Replace the placeholders in the following template with relevant course information.
.. code-block:: html
@@ -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..12f4a387c 100644
--- a/source/educators/olx/about/short-description.rst
+++ b/source/educators/olx/about/short-description.rst
@@ -6,22 +6,25 @@ 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
+ a course, provided the Open edX instance the course is hosted on is using the default
+ Open edX course catalog. Some Open edX instances might utilize a different
+ way of publishing and advertising courses.
+
+A short description of the 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``
+Create an HTML file called ``short_description.html`` in the ``about``
directory.
The short description is limited to 150 characters.
-Within that limit, you can add any text and HTML markup to the short
-description file.
+Within that limit, any text and HTML markup to the short description file can be added.
.. seealso::
@@ -33,12 +36,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..0a5435bcf 100644
--- a/source/educators/olx/assets/assets.rst
+++ b/source/educators/olx/assets/assets.rst
@@ -6,17 +6,15 @@ Create Course Assets in OLX
.. tags:: educator, how-to
-You must put all assets, or files that support your course, in the ``static``
+All assets, or files that support the course, must be placed in the ``static``
directory. Assets include any image files, textbooks, handouts, and supporting
JavaScript files.
-You must also define the asset in the assets policy file. For more information,
+Assets must be defined in the assets policy file. For more information,
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)
@@ -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..3ab63e03d 100644
--- a/source/educators/olx/components/html-components.rst
+++ b/source/educators/olx/components/html-components.rst
@@ -14,55 +14,46 @@ 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 a 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::
+
+ HTML that is not valid HTML must be broken out into 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
-choose to break out into separate HTML files.
+Create an XML file in the ``html`` directory for the content that is broken 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
- HTML component. If you do not supply a ``display_name`` value, "html" is
- supplied for you.
+ - Required. The value that is displayed to learners as the name of the
+ HTML component. If a ``display_name`` value is not supplied, "html" is
+ supplied.
* - ``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:
+In the component's HTML file, add valid HTML to represent the content that will
+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/multipart-components.rst b/source/educators/olx/components/multipart-components.rst
new file mode 100644
index 000000000..ca37e27e5
--- /dev/null
+++ b/source/educators/olx/components/multipart-components.rst
@@ -0,0 +1,148 @@
+.. _Multipart Components OLX:
+
+Multipart Components in OLX
+############################
+
+.. tags:: educator, reference
+
+In OLX, authors can create one component that gate multiple problems behind a
+single Submit button.
+
+.. contents::
+ :local:
+ :depth: 1
+
+.. _Multiple Problems in One Component OLX:
+
+Multiple Problems in One Component
+***********************************
+
+Authors can create a problem that includes more than one response type. For
+example, authors might want to create a numerical input problem and then include a
+multiple choice problem that refers to the numerical input problem. Or,
+authors might want a learner to be able to check the answers to many problems at
+one time. To do this, authors can include multiple problems inside a single
+```` element. The problems can be different types.
+
+Each question and its answer options are enclosed by the element that
+identifies the type of problem, such as ```` for a
+multiple choice question or ```` for a math expression input
+question.
+
+A different explanation for each question can be supplied by using the
+```` element.
+
+As a best practice, Open edX accessibility best practices recommend that
+unformatted paragraph text between the questions be avoided; insert text
+using a ``
`` element. Screen readers can skip over text that is inserted
+among multiple questions.
+
+Elements such as the **Submit**, **Show Answer**, and **Reset** buttons, as
+well as the settings that are selected for the problem component, apply to all
+of the problems in that component. Thus, if the maximum number of
+attempts is set to 3, the learner has three attempts to answer the entire set of
+problems in the component as a whole rather than three attempts to answer each
+problem individually. If a learner selects **Submit**, the LMS scores all of
+the problems in the component at once. If a learner selects **Show Answer**,
+the answers for all the problems in the component appear.
+
+.. note::
+ :ref:`Custom JavaScript` cannot be used
+ in a component that contains more than one problem. Each custom JavaScript problem must be in its own
+ component.
+
+Create a Multipart Component
+*********************************************
+
+Typically when making a :ref:`problem component `, there is
+one type of component nested within the ```` element. However, in a
+multipart component, authors can nest multiple components within a single
+```` element.
+
+An `example of a multipart problem
+`_
+follows:
+
+.. code-block:: xml
+
+
+
+
What is the correct answer?
+
+
+
Incorrect
+
+
+
Incorrect
+
+
+
Correct
+
+
+
+
+
Explanation
+
The correct answer is called "Correct"
+
+
+
+
+
+
What is the incorrect answer?
+
+
+
Incorrect
+
+
+
Correct
+
+
+
Correct
+
+
+
+
+
Explanation
+
The correct answer is called "Incorrect"
+
+
+
+
+
+Note in the above example, there is exactly one ```` element. Within
+this element, there are two ```` elements.
+
+Multipart Grading
+*********************************************
+
+The LMS will distribute the total number of points available for the problem
+evenly across all problems. So in the above example (worth 2.0 points -
+``weight="2.0"``), if a learner answers one part correctly and the second
+incorrectly, they will be awarded 1/2 points.
+
+.. image:: /_images/educator_references/partial_credit_multiple_choice.png
+ :alt: A two part problem, worth 2 points, receiving one point for getting only one of two answers correct.
+ :width: 500
+
+.. seealso::
+
+ :ref:`What is Open Learning XML?` (concept)
+
+ :ref:`Problem Components` (reference)
+
+ :ref:`Components and Activities TOC` (reference)
+
+ :ref:`Example of an OLX Course` (reference)
+
+ :ref:`Getting Started with OLX` (quickstart)
+
+ :ref:`OLX Directory Structure` (reference)
+
+
+**Maintenance chart**
+
++--------------+-------------------------------+----------------+--------------------------------+
+| Review Date | Working Group Reviewer | Release |Test situation |
++--------------+-------------------------------+----------------+--------------------------------+
+| 2025-11-06 | sarina | Ulmo | Pass |
++--------------+-------------------------------+----------------+--------------------------------+
\ No newline at end of file
diff --git a/source/educators/olx/components/problem-components.rst b/source/educators/olx/components/problem-components.rst
index 3071a4969..2da002c8a 100644
--- a/source/educators/olx/components/problem-components.rst
+++ b/source/educators/olx/components/problem-components.rst
@@ -6,10 +6,10 @@ Problem Components in OLX
.. tags:: educator, reference
-The problem component allows you to add interactive exercises to the verticals
-in your course. You can add many different types of exercises and problems.
+The problem component allows authors to add interactive exercises to the units
+in a course. Many different types of exercises and problems can be added.
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.
+authors and learners, and the options that every problem component has.
.. contents::
:local:
@@ -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, this grader could
+be used 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,27 +37,27 @@ 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
=====================================
-All problems receive a point score. However, when you establish the grading
-policy for your course, you specify the assignment types that will count toward
-learners' grades; for example, homework, lab, midterm, and final.
+All problems receive a point score. However, when a grading policy is
+established for a course, the assignment types that will count toward learners'
+grades are defined; for example, homework, lab, midterm, and final.
-As you develop your course, you can add problem components to the units in any
-subsection. The problem components that you add automatically inherit the
-assignment type that is defined at the subsection level. You can only set
-assignment types at the subsection level, not at the unit or individual
-component level.
+As a course is developed, problem components can be added to the units in any
+subsection. The problem components that are added automatically inherit the
+assignment type that is defined at the subsection level. Assignment types can
+only be set at the subsection level, not at the unit or individual component
+level.
For more information, see :ref:`Grading Policy`.
@@ -72,18 +67,49 @@ For more information, see :ref:`Grading Policy`.
:start-after: .. START LEARNER VIEW OF PROBLEM
:end-before: .. END LEARNER VIEW OF PROBLEM
+=====================================
+Example OLX - Single Select Problem
+=====================================
+
+See the `single select problem `_
+in the ``olx_example_course``; it is replicated here:
+
+.. code-block:: xml
+
+
+
+
What is the correct answer?
+
+
+
Incorrect
+
+
+
Incorrect
+
+
+
Correct
+
+
+
+
+
Explanation
+
The correct answer is called "Correct"
+
+
+
+
+
******************
Problem Settings
******************
-In addition to the text of the problem, problems that you create have the
-following settings.
+In addition to the text of the problem, problems have the following settings.
.. contents::
:local:
:depth: 1
-This section describes the OLX elements and attributes that you define for the
+This section describes the OLX elements and attributes that can be defined for the
problem settings. For a detailed description of each setting, see
:ref:`Guide to Problem Settings`.
@@ -91,7 +117,7 @@ problem settings. For a detailed description of each setting, see
Display Name
===============
-Using OLX, you set the display name as an attribute of the ````
+Using OLX, set the display name as an attribute of the ````
element.
.. code-block:: xml
@@ -102,7 +128,7 @@ element.
Maximum Attempts
==============================
-Using OLX, you set the maximum attempts as an attribute of the ````
+Using OLX, set the maximum attempts as an attribute of the ````
element.
.. code-block:: xml
@@ -116,7 +142,7 @@ element.
Problem Weight
==============================
-Using OLX, you set the component weight as an attribute of the ````
+Using OLX, set the score of the component as an attribute of the ````
element.
.. code-block:: xml
@@ -129,14 +155,14 @@ element.
Randomization
===============
-Using OLX, you set value randomization as an attribute of the ````
+Using OLX, set value randomization as an attribute of the ````
element.
.. code-block:: xml
-You can specify the following values for this attribute.
+The following values can be set for this attribute:
* always
* on_reset
@@ -149,23 +175,26 @@ You can specify the following values for this attribute.
Show Answer
===============
-Using OLX, you set the show answer preference as an attribute of the
+Using OLX, set set the show answer preference as an attribute of the
```` element.
.. code-block:: xml
-You can specify the following values for this attribute.
+The following values can be set 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:
@@ -173,7 +202,7 @@ You can specify the following values for this attribute.
Show Reset Button
=================
-Using OLX, you set the show reset button preference as an attribute of the
+Using OLX, set the show reset button preference as an attribute of the
```` element.
.. code-block:: xml
@@ -186,30 +215,29 @@ Using OLX, you set the show reset button preference as an attribute of the
Modifying a Released Problem
*********************************
-.. warning:: Be careful when you modify problems after they have been
- released! Changes that you make to published problems can affect the learner
+.. warning:: Be careful when modifying problems after they have been
+ released! Changes that are made to published problems can affect the learner
experience in the course and analysis of course data.
After a learner submits a response to a problem, the LMS stores the learner's
response, the score that the learner received, and the maximum score for the
problem. For problems with a **Maximum Attempts** setting greater than 1, the
LMS updates these values each time the learner submits a new response to a
-problem. However, if you change a problem or its attributes,
-existing learner information for that problem is not automatically updated.
-
-For example, you might release a problem and specify that its answer is 3.
-After some learners have submitted responses, you notice that the answer
-should be 2 instead of 3. When you update the problem with the correct
-answer, the LMS does not update scores for learners who answered 2 for the
-original problem and thus received the wrong score.
-
-For another example, you might change the number of response fields to
-three. Learners who submitted answers before the change have a score of
-0, 1, or 2 out of 2.0 for that problem. Learners who submitted answers
-after the change have scores of 0, 1, 2, or 3 out of 3.0 for the same
-problem.
-
-If you change the weight setting for the problem in Studio, however, existing
+problem. However, if a problem or its attributes are changed, existing learner
+information for that problem is not automatically updated.
+
+For example, a problem might be released with the answer specified as "3". After
+some learners have submitted responses, the course team notices that the answer
+should be 2 instead of 3. When the problem is updated with the correct answer,
+the LMS does not update scores for learners who answered 2 for the original
+problem and thus received the wrong score.
+
+For another example, the number of response fields is changed fom two to three.
+Learners who submitted answers before the change have a score of 0, 1, or 2 out
+of 2.0 for that problem. Learners who submitted answers after the change have
+scores of 0, 1, 2, or 3 out of 3.0 for the same problem.
+
+If the weight setting for the problem in Studio is changed, however, existing
learner scores update when the learner's **Progress** page is refreshed. In a
live section, learners will see the effect of these changes.
@@ -217,64 +245,35 @@ live section, learners will see the effect of these changes.
Workarounds
===============
-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
-ask your learners to go back and resubmit answers to a problem.
-
-* In the problem component that you changed, increase the number of attempts
- for the problem. Then ask all your learners to redo the problem.
-
-* Delete the entire Problem component in Studio and create a new Problem
- component with the content and settings that you want. (If the revisions you
- must make are minor, duplicate the problem component before you delete it
- and revise the copy.) Then ask all your learners to complete the new
- problem.
+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 a released problem has to be modifyed in a way that affects grading, there are
+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 the course
+team to ask their learners to go back and resubmit answers to a problem.
-.. _Multiple Problems in One Component OLX:
+* In the problem component that was changed, increase the number of attempts
+ for the problem. Then ask all learners to redo the problem.
-***********************************
-Multiple Problems in One Component
-***********************************
+* Delete the entire Problem component in Studio and create a new Problem
+ component with the correct content and settings. (If the revisions needed are
+ minor, duplicate the problem component before it is deleted and revise the
+ copy.) Then ask all learners to complete the new problem.
-You can create a problem that includes more than one response type. For
-example, you might want to create a numerical input problem and then include a
-multiple choice problem that refers to the numerical input problem. Or,
-you might want a learner to be able to check the answers to many problems at
-one time. To do this, you can include multiple problems inside a single
-```` element. The problems can be different types.
-
-Each question and its answer options are enclosed by the element that
-identifies the type of problem, such as ```` for a
-multiple choice question or ```` for a math expression input
-question.
-
-You can provide a different explanation for each question by using the
-```` element.
-
-As a best practice, Open edX accessibility best practices recommend that you avoid including unformatted
-paragraph text between the questions. Screen readers can skip over text that is
-inserted among multiple questions.
-
-Elements such as the **Submit**, **Show Answer**, and **Reset** buttons, as
-well as the settings that you select for the problem component, apply to all
-of the problems in that component. Thus, if you set the maximum number of
-attempts to 3, the learner has three attempts to answer the entire set of
-problems in the component as a whole rather than three attempts to answer each
-problem individually. If a learner selects **Submit**, the LMS scores all of
-the problems in the component at once. If a learner selects **Show Answer**,
-the answers for all the problems in the component appear.
-
-.. note::
- You cannot use a :ref:`Custom JavaScript` in a component that contains more
- 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
@@ -288,9 +287,10 @@ Problem Randomization
Presenting different learners with different problems or with different
versions of the same problem is referred to as "problem randomization".
-You can provide different learners with different problems by using randomized
-content blocks, which randomly draw problems from pools of problems stored in
-content libraries. For more information, see :ref:`Randomized Content Blocks`.
+Different learners can be provided with with different problems by using
+randomized content blocks, which randomly draw problems from pools of problems
+stored in content libraries. For more information, see :ref:`Randomized Content
+Blocks`.
.. note:: Problem randomization is different from the **Randomization** setting
in Studio. Problem randomization offers different problems or problem
@@ -306,13 +306,17 @@ content libraries. For more information, see :ref:`Randomized Content Blocks`.
Create Randomized Problems
====================================
-.. note:: Creating randomized problems by exporting your course and editing
- some of your course's XML files is no longer supported.
+.. note:: Creating randomized problems by exporting a course and editing
+ some of the course's XML files is no longer supported.
-You can provide different learners with different problems by using randomized
-content blocks, which randomly draw problems from pools of problems stored in
-content libraries. For more information, see
-:ref:`Randomized Content Blocks`.
+Different learners can be provided with with different problems by using
+randomized 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
@@ -322,6 +326,8 @@ content libraries. For more information, see
:ref:`What is Open Learning XML?` (concept)
+ :ref:`Multipart Components OLX` (reference)
+
:ref:`Components and Activities TOC` (reference)
:ref:`Example of an OLX Course` (reference)
@@ -330,12 +336,10 @@ content libraries. 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/components/video-components.rst b/source/educators/olx/components/video-components.rst
index 7b3d7b959..fee305595 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).
+Authors can add video components to a course unit via the ``video/.xml`` file.
.. contents::
:local:
@@ -18,20 +16,24 @@ verticals (which it calls units).
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.
+To add a video component to a course, add it to the course XML tree as
+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 the 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,13 +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
-component.
+
+Create the file ``video/purpose_power_reach.xml`` to define the video component.
*************************************
Video Component XML File Elements
@@ -54,24 +55,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 +66,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 +123,15 @@ The following example shows an XML file for a video component.
.. code-block:: xml
@@ -147,8 +149,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..4a31e4ac4 100644
--- a/source/educators/olx/content-experiments/content_experiments_test_olx.rst
+++ b/source/educators/olx/content-experiments/content_experiments_test_olx.rst
@@ -8,8 +8,8 @@ Test Content Experiments in OLX
.. tags:: educator, how-to
-You should test content experiments in your course before the course starts, to
-ensure that content is delivered to experiment groups as you intended.
+Content experiments should be tested before the course starts, to
+ensure that content is delivered to experiment groups as intended.
For more information, see :ref:`Test Content Experiments`.
@@ -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..f2e3e06af 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.
+Courses can be exported from Open edX Studio. When courses are exported, a
+``.tar.gz`` file with the OLX (open learning XML) course content is made
+available to download. Using local tools or a source control system such as
+GitHub (see :ref:`Work with the targz File`), the downloaded course OLX files
+can be extracted. 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 *containers* described in this guide.
+
+
+This section documents how Open edX Studio currently exports courses, so that
+authors can understand and manually navigate through the structure of exported
+courses.
+
.. contents::
:local:
@@ -15,57 +34,60 @@ 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.
+All files and subdirectories that comprise an OLX course are stored within
+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 an entire course, but in Studio
+exports, content is split out into individual files. This is done at the level
+of *containers* such as sections (``chapter``), subsections (``sequential``) &
+units (``vertical``), and *components*, such as problems, videos, or HTML (text
+components). Certain components, such as `the LTI component
+`_,
+appear in-line, while others appear in their own files as detailed below.
-Currently, when Studio exports a course, it places each component in its own
-file.
+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 authors follow the flow of Studio OLX exports.
-For example, the Open edX Platform contains a directory called
-`manual-testing-complete`_ that contains a course with all component
-types for testing purposes.
+Descriptions of the directories needed for a typical course follow. To manually
+develop course content, these directories will need to be set up if not already
+present.
-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.
+
+ Custom blocks cannot be put in their own directory; they must be put in-line, such as ``edx-sga``.
*******************
XBlock Directories
*******************
-Open EdX course components can be broken out of the main ``course.xml`` file
+Open edX course *containers* and *components* can be broken out of the main ``course.xml`` file
into individual files. Those files go into directories of the name of
the component type (XML tag). For example, components of type ``html``
-can be placed as individual files in the ``html`` directory. If your
-course does not contain .html files, or if they are all embedded in
-their top-level components, you do not need to create an ``html``
-directory.
+can be placed as individual files in the ``html`` directory. If a
+course does not contain ``.html`` files, or if they are all embedded in
+their top-level components, an ``html`` directory does not need to be created.
+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 +103,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 +118,26 @@ 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. ``chapter``
+files are known as *containers*.
+
====================
``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,21 +149,33 @@ 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. ``sequential``
+files are known as *containers*.
+
+
====================
``static`` Directory
====================
-The ``static`` directory contains the files used in your course, such as images
+The ``static`` directory contains the files used in a course, such as images
or PDFs.
For more information, see :ref:`Course Assets`.
@@ -138,10 +184,19 @@ For more information, see :ref:`Course Assets`.
``tabs`` Directory
====================
-The ``tabs`` directory contains an HTML file for each page you add to your
-course.
+The ``tabs`` directory contains an HTML file for each custom page in the course.
+
+For more information, see :ref:`Create tabs, or pages, in a 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. ``vertical``
+files are known as *containers*.
-For more information, see :ref:`Course Tabs`.
.. seealso::
@@ -153,12 +208,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` (how-to)
**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..2c8f831eb 100644
--- a/source/educators/olx/example-course/index.rst
+++ b/source/educators/olx/example-course/index.rst
@@ -6,14 +6,14 @@ Example of an OLX Course
.. tags:: educator, reference
-OLX (open learning XML) is a flexible system that you can use to create Open edX
+OLX (open learning XML) is a flexible system that can be used to create Open edX
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
-explore how the course is made for yourself.
+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 as a
+companion reference to this guide.
These topics examine the overall structure of the olx-example course and how the
courseware is defined.
diff --git a/source/educators/olx/example-course/insider-course-xml.rst b/source/educators/olx/example-course/insider-course-xml.rst
index c9ad40f88..43ff7b6c9 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 *containers* 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
+a course is organized. For example, authors 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` (how-to)
+
**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..9f0081f11 100644
--- a/source/educators/olx/example-course/insider-structure.rst
+++ b/source/educators/olx/example-course/insider-structure.rst
@@ -6,64 +6,67 @@ 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.
+ :alt: The olx_example_course in GitHub, showing the file structure of the ``course/`` directory.
-********************
-Top-level Directory
-********************
+**********************
+Top-level Directories
+**********************
-The `olx-example course`_ directory in the olx-example Git repository contains the
-``course.xml`` file as well as XBlock and Platform directories.
+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.
-* The `course.xml`_ file contains the XML for the courseware. All chapters and
- sequentials are defined in ``course.xml``.
+* 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.
-* Most verticals are defined in ``course.xml``; two verticals are referenced in
- other files.
+* Course sections are defined in the ``chapter`` directory, subsections in the
+ ``sequential`` directory, and units in the ``vertical`` directory.
-* The content of some HTML XBlocks is embedded within ``course.xml``; other
- HTML XBlocks are referenced in other files.
+* HTML units are referenced in the ``html`` directory, where there are two
+ files: an XML file that calls an associated HTML file, which defines the HTML
+ content.
-* Problems are referenced in other files.
+* Videos are defined in the ``video`` directory.
-For more information, see :ref:`The olx-example course.xml File`.
+* Problems are referenced in other directories, such as ``problem`` and ``lti``.
-******************************
-The HTML XBlock Directory
-******************************
-
-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
==============================
-You can reference an XBlock from the ``course.xml`` file.
+.. warning::
+
+ The "Example of a Referenced Block" part of this 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.
+
+Authors can reference an XBlock from the ``course.xml`` file.
For example, in ``course.xml``, the first vertical in the courseware contains a
single HTML XBlock with the display name ``Week overview``, which references
@@ -80,9 +83,8 @@ single HTML XBlock with the display name ``Week overview``, which references
-There is a file called ``Week_overview.html`` in the ``html`` directory that
-contains the content for that HTML component. For detailed information, see the
-`Week_overview.html`_ file in GitHub.
+There would be a file called ``Week_overview.html`` in the ``html`` directory that
+contains the content for that HTML component.
For a learner, that HTML component appears as the first unit of the course.
@@ -94,9 +96,14 @@ For a learner, that HTML component appears as the first unit of the course.
Example of an Inline XBlock
==============================
-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.
+.. warning::
+
+ The "Example of an Inline XBlock" part of this 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.
+
+Authors can include XBlock content within the ``course.xml`` file, for
+ease of reading and maintenance when the content is not needed for reuse.
For example, in ``course.xml``, the sequential with the display name ``In-class
exercise`` contains embedded HTML content.
@@ -131,7 +138,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 +175,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 +197,35 @@ 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 15 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.
-
-In this case, verticals for open response assessments are stored in their own
-files.
+*Units* (``vertical`` s) can be embedded 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.
-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``:
.. code-block:: html
-
+
+
+
+
+
+
-And:
+And in ``vertical/unit_1_input_problems.xml``:
.. code-block:: html
-
+
+
+
+
.. seealso::
@@ -229,16 +241,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` (how-to)
+
**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..c84b7816e 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 needed 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. Contributors can find
+guidelines for how to :ref:`contribute to Open edX Documentation`.
+
+Create an OLX Course
+***********************
+
+To develop a course in OLX, the XML markup format for the Open edX platform, follow
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 a 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..4be849ec1 100644
--- a/source/educators/olx/organizing-course/course-structure-overview.rst
+++ b/source/educators/olx/organizing-course/course-structure-overview.rst
@@ -6,8 +6,8 @@ OLX Course Building Blocks
.. tags:: educator, concept
-Before you begin using OLX (open learning XML) to set up a course, you should
-understand the building blocks of an Open edX course.
+Before beginning to use OLX (open learning XML) to set up a course, it is
+important to understand the building blocks of an Open edX course.
.. contents::
:local:
@@ -17,23 +17,27 @@ understand the building blocks of an Open edX course.
Courseware
**************
-Courseware is the main content of your course and consists mainly of lessons
+Courseware is the main content of a 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 a 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`
@@ -44,25 +48,25 @@ For more information, see :ref:`The Courseware Structure`.
Supplemental Course Content
****************************
-In addition to the courseware described above, you course can contain
+In addition to the courseware described above, a 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
- used to market your course. For more information, see :ref:`Course Overview`.
+* Course about pages appear in the default Open edX course catalog for prospective students and are
+ used to market a course. For more information, see :ref:`Course Overview`.
-* Course assets are any supplemental files you use in your course, such as a
+* Course assets are any supplemental files used in a course, such as a
syllabus as a PDF file or an image that appears in an HTML component. For
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`.
+* Course pages are custom pages that appear in the top navigation
+ menu of a course. For more information, see :ref:`Create tabs, or pages, in a course`.
****************************
Course Policies
****************************
-Course policies determine how your course functions. For example, policies
+Course policies determine how a course functions. For example, policies
control grading and content experiments. For more information, see
:ref:`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..5f61dc717 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 the 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.
+Authors 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,129 @@ 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
+Authors 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 ``sequential`` 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
-
-==============================================
-``sequential`` Children
-==============================================
+ - 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"``
-The ``sequential`` element contains one or more child ``vertical`` elements.
+.. admonition:: "never_show_correctness_but_include_grade_description"
-The ``vertical`` element references a vertical, or unit, in the course.
+ 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.
-The following example shows a chapter with a sequential that has three
-verticals, or units.
+==============================================
+``sequential`` Children (Course Units)
+==============================================
-.. code-block:: xml
+In the course structure, a course unit serves the following functions.
-
-
-
-
- . . . .
-
- . . . .
-
-
- . . .
-
+* Defines the display name for the unit.
+* Organizes components.
-*******************************
-Course Verticals
-*******************************
+The ``sequential`` element contains one or more units (child ``vertical`` elements).
-In the course structure, a course vertical serves the following functions.
+The ``vertical`` element references a unit in the course.
-* Defines the display name for the vertical, or unit.
-* Organizes components and other verticals in the vertical.
-
-You create a course vertical with the ``vertical`` element, for each
-unit in the subsection.
-
-For example, the course can contain a vertical in this format.
+For example, the subsection can contain units in this format, from
+`vertical/unit_2_selection_problems.xml`_.
.. code-block:: xml
-
-
-
-
- . . .
-
-
- . . .
-
+
+
+
+
+
=========================
``vertical`` Attributes
@@ -246,8 +290,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 +301,21 @@ 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.
-
-.. 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.
+in the unit.
-A vertical element can also contain a vertical element. You can nest
-verticals, or units, recursively.
+.. warning::
-Child elements of ``vertical`` refer to components in your course. The Open edX
-Platform supports a wide range of components, including custom XBlocks.
+ 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.
-The following example shows a vertical with two components.
+Child elements of ``vertical`` refer to components in the course. The Open edX
+platform supports a wide range of components, including custom XBlocks.
-.. code-block:: xml
+.. note::
+ Some course components appear as a reference to a component in a directory, such as the ``problem`` components referenced in `vertical/unit_2_selection_problems.xml`_.
-
-
-
-
+ However, some course components, such as custom XBlocks like LTI or ORA components, appear directly in-line in the ``vertical`` element.
+ See `vertical/unit_3_lti.xml `_ for an example of this.
.. seealso::
@@ -287,12 +327,13 @@ 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 |
+--------------+-------------------------------+----------------+--------------------------------+
+
+.. _vertical/unit_2_selection_problems.xml: https://github.com/openedx/training-courses/tree/main/olx_example_course/course/vertical/unit_2_selection_problems.xml
\ No newline at end of file
diff --git a/source/educators/olx/pages/pages.rst b/source/educators/olx/pages/pages.rst
index f574720b8..bb8e9bbe4 100644
--- a/source/educators/olx/pages/pages.rst
+++ b/source/educators/olx/pages/pages.rst
@@ -1,26 +1,51 @@
-.. _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
+Authors can add custom tabs, or pages, to a course. Each page appears in the course's
navigation bar.
*********************************************
Create the Tab File
*********************************************
-For each page you want your course to offer, you create an HTML file in the
-``tabs`` directory.
+For each custom page in the course, create an HTML file in the
+``tabs`` directory. It can be as simple as this:
-You can add any text and HTML markup to the page. Pages can also be links or
+*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.
+
+Any text and HTML markup can be added 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 the custom tab is placed 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..295b83251 100644
--- a/source/educators/olx/policies/assets-policy.rst
+++ b/source/educators/olx/policies/assets-policy.rst
@@ -1,105 +1,159 @@
.. _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.
+Authors create an asset policy file to provide details of the assets used in a
+course. Assets can include image files, textbooks, and handouts.
.. contents::
:local:
:depth: 1
-You must enter policy details for each asset you add to the ``static``
+Authors must enter policy details for each asset added to the ``static``
directory. For more information, see :ref:`Course Assets`.
*******************************
Create the Asset Policy File
*******************************
-You define policies for your assets in the ``assets.json`` file.
+Authors define policies for course assets in the ``assets.json`` file.
-Save the ``assets.json`` file in the ``policy`` directory. You use one
-``assets.json`` file for all of the courses you might have in your directory
-structure.
+Save the ``assets.json`` file in the ``policy`` directory. Use one
+``assets.json`` file for all of the courses that might be in the directory 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 the course.
+ ``false`` if users can access the file from outside of the 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 the 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 the course ``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 +169,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..1e422dd94 100644
--- a/source/educators/olx/policies/course.rst
+++ b/source/educators/olx/policies/course.rst
@@ -6,7 +6,7 @@ Create OLX Course Policies
.. tags:: educator, how-to
-You create a course policy file to specify metadata about your course.
+Authors create a course policy file to specify metadata about a course.
.. contents::
:local:
@@ -16,7 +16,7 @@ You create a course policy file to specify metadata about your course.
Create the Course Policy File
*******************************
-You define policies for your course in the ``policy.json`` file.
+Define policies for the course in the ``policy.json`` file.
Save the ``policy.json`` file in the ``policy/`` directory.
@@ -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, specifying 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..c2794826b 100644
--- a/source/educators/olx/policies/grading.rst
+++ b/source/educators/olx/policies/grading.rst
@@ -6,7 +6,7 @@ Create OLX Grading Policy
.. tags:: educator, how-to
-You create a grading policy file to specify how problems are graded in your
+Authors create a grading policy file to specify how problems are graded in the
course.
.. contents::
@@ -17,7 +17,7 @@ course.
Create the Grading Policy File
*******************************
-You define policies for your course in the ``grading_policy.json`` file.
+Define policies for the course in the ``grading_policy.json`` file.
Save the ``grading_policy.json`` file in the ``policy/``
directory.
@@ -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..83b204836 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
+ ``\mathcal{N}`` was entered. 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 superscripts or
+ complicated typesetting is used, that part would need to be included.
.. 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..f47c147f2 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:
+With OLX, authors 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
@@ -24,14 +27,16 @@ OLX is based on XML. XML, or Extensible Markup Language, is a set of rules
for creating documents in a format that is both human-readable and machine-
readable.
-To work with OLX, you should have a strong understanding of XML. This
-document presumes you understand XML and can use tools to create and edit XML
+To work with OLX, authors should have a strong understanding of XML. This
+document presumes authors understand XML and can use tools to create and edit XML
files.
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..a2a70df51 100644
--- a/source/educators/references/course_development/awarding_partial_credit.rst
+++ b/source/educators/references/course_development/awarding_partial_credit.rst
@@ -7,6 +7,14 @@ Awarding Partial Credit for a Problem
.. START PARTIAL CREDIT
+.. warning::
+
+ Partial credit is only available in multipart problems, which can currently
+ only be authored directly in OLX. Multipart problems cannot be authored in
+ Studio. See :ref:`Multipart Components OLX`.
+
+ 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.
@@ -28,13 +36,13 @@ How Learners Receive Partial Credit
Learners receive partial credit when they submit an answer in the LMS.
-In the following example, the course team configured a single select problem
-to award 25% of the possible points (instead of 0) for one of the
-incorrect answer options. The learner selected this incorrect option and
-received 25% of the possible points.
+The LMS will distribute the total number of points available for the problem
+evenly across all problems. So in the following screenshot, with a two-part
+problem worth 2 points, if a learner answers one part correctly and the second
+incorrectly, they will be awarded 1/2 points.
.. image:: /_images/educator_references/partial_credit_multiple_choice.png
- :alt: A single select problem with partial credit for an incorrect
+ :alt: A multipart problem with partial credit for an incorrect
answer.
:width: 500
@@ -103,5 +111,5 @@ the learner received out of the total available score and the value in the
+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
-| | | | |
+| 2025-11-06 | sarina | Ulmo | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
diff --git a/source/educators/references/course_development/course_export_terminology.rst b/source/educators/references/course_development/course_export_terminology.rst
index ccb16574d..a1ba0502d 100644
--- a/source/educators/references/course_development/course_export_terminology.rst
+++ b/source/educators/references/course_development/course_export_terminology.rst
@@ -37,7 +37,7 @@ directory. To find a unit, look in the **Vertical** directory.
:ref:`Import a Course` (how-to)
- :ref:`Work with the targz File` (reference)
+ :ref:`Work with the targz File` (how-to)
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..2c50bda4b 100644
--- a/source/links.txt
+++ b/source/links.txt
@@ -24,13 +24,11 @@
.. _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
-
-.. _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