PressPrimer Assignment School can send xAPI 1.0.3 statements to a Learning Record Store (LRS). Five submission lifecycle events are tracked, statements queue locally, and a background worker delivers them to your LRS on a one-minute interval with automatic retry on failure.
What’s an LRS?
A Learning Record Store (LRS) is a system that tracks xAPI statements from learning tools and stores them centrally for reporting. Common LRS products include Learning Locker, SCORM Cloud, and Watershed.
Assignment School works with any xAPI 1.0.3-compliant LRS that supports basic authentication.
Statement Types Emitted
Five statements are emitted for each submission as it moves through the lifecycle:
- submitted — when a student submits an assignment
- graded — when a grader saves a grade
- passed — when the final score meets or exceeds the assignment’s passing score (fires in addition to graded)
- failed — when the final score is below the passing score (fires in addition to graded)
- returned — when a grader releases the grade to the student
Each statement includes the actor (student), the verb (one of the five above), the object (the assignment), and a result section with the score where applicable. Score data is included in graded, passed, and failed statements.
Configuring xAPI
Open Assignments > Settings and select the xAPI tab.
Enable xAPI
Toggle Enable xAPI at the top of the tab. When enabled, the queue worker starts and statements begin emitting. When disabled, no new statements are queued and the worker stops — but any statements already in the queue stay there and resume sending when xAPI is re-enabled.
LRS Endpoint
Enter your LRS’s xAPI endpoint URL — typically something like https://lrs.example.com/xapi/.
Authentication
Enter the Username and Password (or API key and secret, depending on your LRS) provided by your LRS. The password is encrypted before storage; the UI only ever shows it as a masked string after saving.
Actor Type
Pick how students are identified in xAPI statements:
- Email (default) — the student’s email address is used as the unique actor identifier (
mboxin xAPI terms) - Account name — the student’s WordPress username is used
Testing the Connection
After saving your endpoint and credentials, click Test Connection. School sends a small test request to your LRS and reports whether it was accepted. If the test fails, the error message shows the underlying cause (typically a wrong URL, invalid credentials, or a network/firewall issue).
Handling Failed Statements
Scroll to the Failed Statements section to see statements that exceeded the retry limit. Each row shows the statement type, the submission it relates to, the last error message, and when it failed.
Retrying
Click Retry on any individual failed statement to move it back to pending. Use Retry All to requeue every failed statement at once. After fixing whatever was causing the failures (an invalid LRS URL, expired credentials, etc.), Retry All is the quickest way to recover.
Purging Failed Statements
If you’ve decided not to recover certain failed statements, Delete Failed Statements permanently removes them. This action cannot be undone — purged statements are gone.
