Audit Trails & Course Version Tracking

Hi all,
Sorry for the cross post but I’m looking for existing solutions or suggestions for how to approach developing a solution for audit trails and course version tracking for a regulated corporate environment. It’s critical we’re able to track every change made in the LMS and require information about the type of change that occurred, who initiated it, when, and why with reporting capabilities. These changes can include creating, updating, and deleting sensitive data from:

  • Course records
  • Employee learning records
  • Courseware design and content

Due to the fact that our courses are updated regularly we must track:

  • Course completion by version, which employee completed which version
  • Individual employee logs, which employee did what, when (date, time)
  • The date, time, and employee who last updated the course (even the tiniest changes)
  • A record of historical course materials (if changes are made old courses should NOT be discarded)

Any ideas or suggestions for how this has been or might be accomplished with Open edX would be greatly appreciated.


Hi @awasklewicz, currently courses don’t have strict versioning, so the first point will be difficult to meet with a standard installation. There is a project working on updating the content and course storage system currently which while it is not yet the default system and is still under some development, is available for use and may fit this need.

Specifically this is the blockstore project. The project announcement post has some additional description of it’s features and purpose.

For logging, edX has an event tracking infrastructure which logs many of the actions users take around the platform. This may not be a fully complete set of logs intended for auditing user actions, but it will log a large majority of actions around the platform.

The date and time of last course update is shown in the studio (course editing tool) per section:
Screenshot_2021-02-11 Introduction Video and Sequences

For historical course materials, using the blockstore would be your best bet as well. Since it’s versioned, you can store history of changes and historical course material. Unfortunately the standard installation won’t work for this requirement, as it doesn’t support versioning of courses, but you can likely meet this requirement by installing and authoring courses in the blockstore instead.

1 Like

@joshm Thanks Josh this is very helpful, I’m definitely going to look into the blockstore project.