Course Statuses

Draft

Designed for testing a course before being made available to users.

Only users with Admin/Staff permissions, or those specifically with course viewer permissions for the course will be able to download this course to the app.

Live

Designed for releasing a course to all users.

All users will be able to download this course in the app.

New downloads disabled

Designed for making courses unavailable to new users

Users who already have the course installed can continue to use the course as normal, however new users will not be able to download the course.

Read only

Designed so users can only view course content

Users who already have the course installed can continue to use it, although they will not be able to access/view any of the quiz or feedback activities. New users will not be able to download the course.

Archived

Designed for courses which are no longer in use.

No users will be able to download this in the app (including Admin/staff users)

Deleted

Not strictly a status, as this means that the course has been deleted from the OppiaMobile server. Archiving a course is usually much more appropriate.

Changing a course status

If a course is status is changed, then this will affect who can access it in the app.

If a course becomes newly available to a user (eg moving from draft to live), they will get notified in the app that a new course is available for them to download.

If a users has a course on their app and they no longer have access to this course (due to change in status, eg live to archived), they will no longer be able to access the course in the app, they will get a message that it should be deleted from their app.

Changing availability of statuses

In some cases you might not want to have all the statuses available on a particular server, for example, not having the draft status available on a production server.

You can edit the statuses available on a server by editing the OPPIA_AVAILABLE_COURSE_STATUSES list in your settings_secret.py file. Copy this list from the settings_base.py if it’s not already in your settings_secret.py file, and then edit there.

The changes will take effect after you restart your webserver.

Note

If you are removing a status, first check that no course already uses this status, if this status is in use by courses, then first either change the status of these courses or delete the course.

Status functionalities

App

Status functionalities for Oppia app
# Function Status
Draft Live Archived New download disabled Read only
Course editors can download course
Course editors receive updates for the course (a) (a)
Course editors can access course (don’t delete)
New learners can download course
Learners receive updates for the course (b) (b) (a) (a)
Course accessible (don’t delete it from app) (c) (c) (d) (d)
Download pending course media (b) (b)
Users earn points for activities (b) (b)
Quizzes/feedback accessible (b) (b) (h)
Send activity trackers to server (b) (b)
Send quiz results (b) (b) (i)
Send feedback responses (b) (b) (i)

Server Dashboard

Status functionalities for Oppia server
# Function Status
Draft Live Archived New download disabled Read only
Course editors can edit course gamification (f) (f) (f)
Course editors can view course activity
New course activity adds to aggregated stats (b,e) (b,e)
Learners can download course
Learners can view course in listing (g) (g)
Learners can view their activity (g) (g)
Activity contributes to earning certificates
    Enabled
    Disabled
    Not applicable

Notes

  1. Not applicable as courses with this status can’t be updated

  2. Not applicable as learners cannot download a course with this status, or will be flagged as to delete if changed to this status

  3. Course will be deleted from the app if it is updated to have one of these statuses

  4. Only for learners who already have the course installed

  5. If the course is moved from another status to one of these statues, then the course will get flagged as to delete, but depending on connectivity this might not happen instantly. So any pending activity will still get added to the aggregated stats until the course is removed form the users device.

  6. Changing the gamification is a change in the course, requiring an update to the course in the app, so needs to be disabled if updating courses is disabled

  7. Since assumes that the course has previously been live, so users could have activity in this

  8. Users will not be able to access the quizzes or feedback, but they will be able to review their previous attempts/responses

  9. Since the quizzes and feedback aren’t accessible they won’t create any new activity logs/trackers for these

Restrictions on statuses when republishing from Moodle Block

The Moodle Oppia Export Block only allows courses to be pushed in either draft or live status, and so if a course has been marked on the Oppia server as having (eg) read-only status, you will be prevented from re-publishing from the Moodle Oppia Export Block. The combination of what status you can re-publish vs what status the course has on the server is as follows:

Status republishing from Moodle to Oppia
Republish status from Moodle Status on Oppia server
Live Draft Archived New download disabled Read only
Live allowed blocked blocked blocked blocked
Draft will update to draft status allowed blocked blocked blocked

The rationale for this is that new-download-disabled, read-only and archive statuses are for course that have previously been live but are no longer being updated. For read-only and new-download-disabled, new users will not be able to install these and archived course will get marked as to be removed from users devices.

Courses which have a status which is not draft or live, have been explicitly marked as such on the server, so should not be updated from Moodle. If these course really do need to be updated and republished, then the status on the server should be moved back to draft or live first.