In theory, any two LRSs should be able to communicate with one another, but does it work in practice? Recently, Rustici Software, Saltbox and HT2 collaborated on a project to find out.
Join Andrew Downes from Rustici Software and Ali Shahrazad from Saltbox to find out how this project worked and the lessons we learned from the experience. We’ll also explore the benefits of sharing statements to you and your organization, and the different technical methods of achieving statement sharing, beyond the methods we used in our experiment.
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Webinar: Sharing Statements a Collaborative Project
1. Sharing Statements:
a Collaborative Project
Andrew Downes
andrew.downes@tincanapi.com
hello@learninglocker.net Ali Shahrazad
ali.shahrazad@saltbox.com
2. Today’s webinar
Benefits of sharing statements to L&D and the business
Our collaborative project: what we did and what happened
Technical background: how it all works
Time for questions
4. Handset &
Service Sales
e-Observation
Forms
Feature & Benefit
Scavenger Hunt
LMS #2 (partner
sales)
LMS #1
(retail/B2B)
Role Play
Guides (forms)
Business
Intelligence
FAQ sheets
(intranet)
Social Business
Community
A Sales Trainer’s Story
Formal training not enough
Custom mobile app
Online resources
Leadership engagement
Business outcomes
5. Handset &
Service Sales
Observation
Forms
Feature & Benefit Scavenger Hunt
(mobile app)
LMS #2 (partner
sales)
LMS #1
(retail/B2B)
Role Play
Guides (forms)
BI Reporting
Tool
FAQ sheets
(intranet)
Social Business
Community
A Sales Trainer’s Story
Invested a bunch of
money & time
6. Handset &
Service Sales
Observation
Forms
Feature & Benefit Scavenger Hunt
(mobile app)
LMS #2 (partner
sales)
LMS #1
(retail/B2B)
Role Play
Guides (forms)
BI Reporting
Tool
FAQ sheets
(intranet)
Social Business
Community
A Sales Trainer’s Story
IT Business Analyst
(reporting & integration)
7. Pain Points
What if we had a new analyst or LMS?
Expensive to manually integrate applications
Business analysts don’t scale well
I wasn’t the only one. Multiple regions
Content/apps didn’t exchange information
Sometimes took 4-6 weeks to get reporting
8. Why Statement Sharing?
Organisation
LRS
Vendor
LRS
LRSs owned by different
stakeholders
LMS
External
LRS
LRS
Getting data out
of (or into) an LMS
New LRS
Old
LRS
Migrating to a new system
Some
Other
System
LRS
Pushing data to another non-LRS
system
LRSLRS LRS
LRSLRS LRS
An organisation has multiple LRS.
14. It sort of worked...
● Statements went to all the places they were
supposed to!
But...
● The two way syncing only worked 1 way at a time!
● Some statements always failed.
● The system had to be reset after each batch of
statements.
We had some work to do...
15. Step 2: Things to fix
● Developers worked independently on each LRS (no
communication between them)
● Improvements were proposed for the specification
and conformance suite.
● I fixed some issues with the Golf Prototype
Time to try again...
22. Six ways to share
One LRS pushes
statements to another
LRS LRS
One LRS queries (pulls)
Statements from another
LRS LRS
Two way sharing
(both LRS push or pull)
LRS LRS
Two way sharing
(one LRS pushes and pulls)
LRS LRS
Man-in-the-middle
LRS LRS
Statement
sharing
tool
Download and upload
Statements as a file
LRS LRS
JSON
file
23. One Way Sharing
● All statements in the first LRS
sent to the second.
● Statements do not go the other
way.
● Useful for a central LRS
collecting from multiple sources
or migrating LRS.
● The pushing/pulling LRS plays
the role of an activity provider
sending or retrieving
statements.
24. Two Way Sharing
● All statements from each LRS
are shared with the other.
● Useful for systems that need to
be kept in sync.
25. Man-in-the-middle application
● Stand alone application
specifically for moving
statements around
● Doesn’t store statements itself
● Doesn’t exist as a product
today
(aka Statement Piping)
26. Download and upload
● Useful for one-off batches
● Direct connection between LRS
not required
● Useful for backup and
migration
27. How does the spec ensure
interoperability?
● Common data structure. Statements have a defined
set of properties.
● Common data transfer mechanism, Statements are
sent and received in the same way.
● Special rules for handling conflicting and duplicate
statements; allows for two way sharing.
28. Not just statements
There’s other types of data to consider sharing:
● Canonical activity definitions
● Documents e.g. bookmarking data
● Person information
29. Poll: Which are you most interested in?
● Getting data from many sources into an LRS for
analytics.
● Pushing data about e-learning courses into another
system.
● Migrating all of my learning data into a new LRS.
Sharing statements between LRS is an important concept.
We wanted to test the spec and our LRS to make sure it worked in practice.
We also want to share our challenges and successes with the wider community.
This required collaboration! Sharing Statements between LRS by the same vendor is no big deal.
In this example, Learning Locker has been integrated into Moodle such that Moodle launches the Golf Example prototype and Statements from Moodle and the Golf Example are sent to Learning Locker. These are forwarded on to Watershed.
At the same time, Statements from the Bookmarklet are sent to Wax LRS. As Wax and Watershed are linked, Statements from the Golf Example are passed on to Wax and Statements from Bookmarklet are passed to Watershed.
Moodle then pulls all statements from Watershed (including those that came via Wax) and displays them to the learner as an activity stream.
We have a screencast that shows this in practice.
In this example, Learning Locker has been integrated into Moodle such that Moodle launches the Golf Example prototype and Statements from Moodle and the Golf Example are sent to Learning Locker. These are forwarded on to Watershed.
At the same time, Statements from the Bookmarklet are sent to Wax LRS. As Wax and Watershed are linked, Statements from the Golf Example are passed on to Wax and Statements from Bookmarklet are passed to Watershed.
Moodle then pulls all statements from Watershed (including those that came via Wax) and displays them to the learner as an activity stream.
We have a screencast that shows this in practice.
In this example, Learning Locker has been integrated into Moodle such that Moodle launches the Golf Example prototype and Statements from Moodle and the Golf Example are sent to Learning Locker. These are forwarded on to Watershed.
At the same time, Statements from the Bookmarklet are sent to Wax LRS. As Wax and Watershed are linked, Statements from the Golf Example are passed on to Wax and Statements from Bookmarklet are passed to Watershed.
Moodle then pulls all statements from Watershed (including those that came via Wax) and displays them to the learner as an activity stream.
We have a screencast that shows this in practice.
Our first attempt was to configure the LRSs with no configuration. This had some success but there were a lot of issues!
After we fixed the issues, we tried again. It worked perfectly!
Details of the issues we hit are in the white paper and will be outlined in a webinar in late April/early May.
Email us for the white paper and screencast (addresses on next slide)
In this example, Learning Locker has been integrated into Moodle such that Moodle launches the Golf Example prototype and Statements from Moodle and the Golf Example are sent to Learning Locker. These are forwarded on to Watershed.
At the same time, Statements from the Bookmarklet are sent to Wax LRS. As Wax and Watershed are linked, Statements from the Golf Example are passed on to Wax and Statements from Bookmarklet are passed to Watershed.
Moodle then pulls all statements from Watershed (including those that came via Wax) and displays them to the learner as an activity stream.
We have a screencast that shows this in practice.