Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
alexlittle committed Sep 20, 2022
1 parent 1612999 commit 0ce767a
Show file tree
Hide file tree
Showing 6 changed files with 99 additions and 1 deletion.
78 changes: 78 additions & 0 deletions content/preserve_activity_identifiers.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Preserving Activity Identifiers when Updating Content
=======================================================

When activity content is updated a new identifier is generated, as the identifier is the MD5 hash of the activity
content. The rationale for this is so that the specific version of an activity can be identified, and analysis can show
if learners have been using older versions of the content.

The downside to this approach is that any change (even a single character) then generates a new identifier, making it
hard to analyse users activity in content where they may only be very minor changes, for example fixing typos or
phrasing that doesn't really affect the learning content being presented.

As of :ref:`block version 1.3.5<blockv1.3.5>` you have the option to keep the previous activity identifier. This needs
to be flagged manually since it's not possible for Oppia to know how significant a change is and so whether or not this
should be classed as a new version of an activity, or just a minor update to and existing one.

Where an activity has been updated, as part of the export process you'll be given the option to retain the previous
identifier.

Criteria
----------

The criteria used for whether you have the option to retain the previous identifier is specific to the activity type:

Page/URL/File activities
^^^^^^^^^^^^^^^^^^^^^^^^^
* Any change in the activity title, description or content

Quiz activities
^^^^^^^^^^^^^^^^
Change the quiz settings

Feedback activities
^^^^^^^^^^^^^^^^^^^


Example cases
-------------

Example Cases A - where you might want to retain the old identifier:

* Fixing minor typo
* New translation of an activity
* Reordering of quiz/feedback questions

Example Cases B - where you will not be given the option to retain the old identifer:

* Change in the number of questions in quiz or feedback activity

Example Cases C - where you would be given the option to retain, but in most cases you should not retain the previous
identifier:

* changes in the learning content, where users do need to be aware that the information in the content is different to
the previous version
* replacing a question in a quiz or feedback activity, but retaining the same number of questions overall
* changing the settings for a quiz, for example pass threshold, number of attempts allowed, password protection
* changing the skip logic in a feedback activity
* changing the scoring for a question

The comparison of previous vs updated activity content identifiers doesn't take into account what these changes
specifically are, only that there has been a change. In the example cases C, retaining the previous identifier could
result in:

* Odd results when reviewing quiz responses, for example responses from an old question matching to the new question,
both in the app (for users) and when exporting/downloading quiz responses from the dashboard (for analytics)
* Different users being scored on different criteria/basis. For example, if user A passes a quiz based on a single
attempt allowed and a threshold of 80%, then user B passes the quiz when the no attempts allowed are changed and the
threshold reduced to 50%, but the quiz activity identifier has been retained, then users are not being compared
like-for-like. This will affect the badge and certificate awarding as well as M&E analysis.



Notes
------

* The previous activity identifier is the one that has been pushed to the Oppia server, so it is specific to the
combination of the Oppia server it has been published with and the status it was published with.


1 change: 1 addition & 0 deletions index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ Content Creation Guide
content/style/index
content/adapt/index
content/updating
content/preserve_activity_identifiers

Implementers Guide
--------------------------
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
sphinx==5.0.2
sphinx==5.1.1
sphinx_rtd_theme==1.0.0
sphinx-intl==2.0.1
2 changes: 2 additions & 0 deletions technical/releases/app/changelog_android_v7.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ v103 (7.3.13) - not yet released

Issue list:

* OPPIA-1093 Update Gradle and remove deprecation warnings for Gradle 8

.. _appv102:

v102 (7.3.12) - Fix release 10 Sept 2022
Expand Down
14 changes: 14 additions & 0 deletions technical/releases/block/changelog_block_current.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ OppiaMobile Moodle Block Change Log
v1.3.5 - not yet released
------------------------------------

.. note::
If you have a lot of courses that have been exported to Oppia, the upgrade process in Moodle may take some time, due
to backfilling of activity identifiers as part of issue OPPIA-1267

* OPPIA-1274 Change location of output folder
* OPPIA-1277 Allow use of non-latin script in course shortname
* OPPIA-1287 Fix regex in multichoice (rated) questions
* OPPIA-1265 Option to preserve activity identifiers:

* OPPIA-1266 Create new table for storing current activity MD5s
* OPPIA-1267 Create script for baseline MD5s
* OPPIA-1272 New export step to allow selection of preserving ids/MD5
* OPPIA-1273 Update MD5s in block table (only on publishing to Oppia server)

.. _blockv1.3.4:

v1.3.4 - released 28 June 2022
Expand Down
3 changes: 3 additions & 0 deletions technical/releases/server/changelog_server_v0.14.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ v0.14.4 - not yet released

Issue list:

* Update library package versions
* OPPIA-1255 Solved Github action failing when it includes a migration


.. _serverv0.14.3:

Expand Down

0 comments on commit 0ce767a

Please sign in to comment.