What does it do?
As stated on the Github repository, the plugin “emits events from the Moodle Logstore as xAPI statements.” For those that don’t know, the Moodle Logstore is a log of activities within Moodle. When you view a course, complete a quiz, or grade a student, a log of that activity is recorded in the Logstore. The plugin uses these logs to produce xAPI statements and then sends (emits) them to an LRS (Learning Record Store).
How does it work?
The plugin is made up of three parts, an Expander, a Translator, and an Emitter. Every log entry goes through each of these parts in a six-step process before finally reaching the LRS (see below).
- The plugin passes the log entry from the logstore_standard_log to the Expander.
- The Expander expands the log entry with data from your Moodle database.
- The plugin passes the expanded event from step 2 to the Translator.
- The Translator translates the expanded event to xAPI/TinCan recipe options.
- The plugin passes the translated event from step 4 to the Emitter.
- The Emitter constructs the translated event as an xAPI/TinCan statement and emits it to the LRS.