This repository contains the raw Open Learning XML (OLX) of:
- A course named "Open edX Test Course" and the key
course-v1:TestX+Course+1
. - A library named "Open edX Test Problem Bank" and the key
library-v1:TestX+ProblemBank
.
In the future, it will also contain:
- A library named "Open edX Test Video Bank" and the key
library-v1:TestX+VideoBank
. - A library named "Open edX Test Text Bank" and the key
library-v1:TestX+TextBank
. - A library named "Open edX Test Mixed Library" and the key
library-v1:TestX+MixedLibrary
. - A few v2 (Blockstore-backed) libraries, when they import/export of them is supported.
In order to make testing Open edX easier, this course and its associated libraries aim to expose as many Open edX Studio & courseware features as possible. It does so by providing example usages of various block types and by enabling various features through Advanced Settings.
This course serves as a supplement to the simpler & more curated Open edX Demo Course, which is useful for basic testing, but also needs to remain a suitable first experience for Open edX learners.
This course is new as of the Nutmeg (June 2022) release. It is pretty barebones and rough around the edges. As we continue to use it to test releases, it will likely become more comprehensive and more polished.
Currently, the test course contains at least one usage of all advanced block types that come pre-installed in edx-platform. Some of the block usages aren't yet configured in a useful way; for example, the LTI Consumer block usage exists, but it isn't set up to consume an LTI tool yet.
To use this course and its libraries, you will need to import them into an Open edX instance. As of June 2022, this has been tested with both Maple and Nutmeg.
First, generate the tar.gz
archives for the test course and each test library:
make tar
If you are running Open edX via tutor local
and have a user named admin
, then you can easily import the test course and libraries from the command line. Just activate your Tutor virtual environment, navigate to this repository, and run:
make import
The import
Makefile recipe takes a few variables that you can tweak. For example, if you are using /my/custom/tutor dev
and have a user named library-owner
, then you would write:
make import TUTOR=/my/custom/tutor TUTOR_CONTEXT=dev LIBRARY_IMPORT_USER=library-owner
Otherwise, if you do not have command-line access to your instance or if it's not Tutor-managed, then you can always import the course manually via Studio:
- Create a library in Studio with the org
TestX
and the slugProblemBank
. - Import
test-problem-bank.tar.gz
into the library. - Create a course run in STudio with the org
TestX
, nameCourse
, and run1
. - Import
test-course.tar.gz
into the course run.
There are two ways you can make changes to this course.
If you are experienced with editing raw OLX, then you can make changes directly in this repository. Before opening a pull request, please test out your changes by building the .tar.gz
archives, importing them into an Open edX Studio (as described above), and ensuring the course still works as expected, both in Studio and in LMS.
Once you've built the .tar.gz
archives and importing them into an Open edX instance (as described above), you can edit the course and its libraries in Studio. Make sure to publish any changes you make and test them out in LMS.
When you're ready to contribute the changes back into this repository, simply:
- Export the course and any library you changed.
- Move to exported .tar.gz archives into this repository and name them to match the folders. For example, the course archive should be named
test-course.tar.gz
, and the problem bank archive should be namedtest-problem-bank.tar.gz
. - Run
make untar
, which will unpack the archives into your local repository. - Review your changes using
git diff
. - Commit your changes and open a pull request.
Tag @openedx/openedx-test-course-maintainers in all pull requests. We'll do our best to take a look! All pull requests should pass the GitHub Actions suite, which ensures that the course and libraries can be imported into a freshly-provisioned Tutor instance.
All content is made available under a Creative Commons BY-NC-SA 3.0 US License.
All code is made available under an AGPLv3 License