WP Experience API

Description

Sends xAPI statements to LRS (tested against LearningLocker and cloud.scorm.com). Some features are enabled
ONLY if the dependent plugins have also been installed. The plugin can be used as a MU plugin as well.

It has been partially tested with:

Statements that can be sent are:

  • page views
  • post status changes
  • commenting
  • earning badges(1)
  • voting(2)

(1) requires

(2) currently only works with PulsePress theme (https://wordpress.org/themes/pulsepress/) when voting or starring

This plugin was developed at the UBC Centre for Teaching, Learning and Technology.

Screenshots

  • The network level administration screen for a Multisite WordPress installtion.
  • Site level administration page for users autorized to set the LRS at the site level.

Installation

Assumes you are using PHP version >= 5.4 (requirement of TinCanPHP Library that the plugin includes)

  1. plunk folder into plugins
  2. Activate the plugin “WP Experience API” through the “Plugins” menu in WordPress

EXTRA NOTES FOR MU:

If you want to install in wp-content/mu-plugins folder, the plugin uses a proxy loader file.

  1. copy wp-experience-api directory to mu-plugins folder
  2. copy wp-experience-api/wp-experience-api-mu-loader.php to directory one level up (same level as wp-experience-api itself AKA just under mu-plugins folder)
  3. it should be installed! Enjoy!

EXTRA EXTRA NOTES:

  • now that the plugin uses the TinCanPHP library (http://rusticisoftware.github.io/TinCanPHP/), please make sure that it is updated regularly as well! current version is 0.11.4

FAQ

How can I add more xAPI statements to the plugin?

You can create your own plugin and use the plugin’s hooks!

How come nothing is being sent to the LRS after I activate the plugin?

The settings are defaulted so that nothing is sent by default. Please go to the dashboard and the WP xAPI settings page to configure what statements are sent.

What is the queue for?

The queue is used for when for some reason, LRS can’t be reached, then statements meant to be sent will be added to the queue to be sent later in the admin screen.

Reviews

Great work!

Thank you for the great work! The plugin allows integration with other plugins. We just implemented sending xAPI statements from Namaste! LMS through WP Experience API by adding triggers and it works like a charm.

This plugin deserves far more popularity that it has.

Simple and Solid

Really impressive, as I had about zero expectations that this would even function. What’s unbelievable about this add-in is that it is i) about one of two hits on “tin can” or “xapi” on plugins library (the other being one for the H5P connector); and ii) 20+ downloads in last 6 – 12 months this has been available. Makes me think that Tin Can doesn’t have much of a following (yet), but given SCORM is, or should be, dead or dying, would think only a matter of time.

Suggests that there are fewer than 20 sites out there with i) non-PHP programmers managing them; and ii) any interest in sending standard “left a comment on my WP site” statements to an LRS.

In any event, the plug-in does exactly what it should. I punched in some user codes for a GrassBlade LRS I have, and it worked just as you’d expect, so you can add that LRS to the list of “somewhat test” set-ups. (I used the API keys, etc. that were derived from spending $49.00 on that plugin — did see if more normal credentials would work or not.)

Only reason not 5 stars, is that the plugin is just not that fully developed to allow for the range of interactions one might hope for. For instance, it did recognize the action of leaving a comment on a BBPress forum, but the title, but what showed up in the LRS as a “title” (I guess object of statement), didn’t seem quite connected to the specific page.

As well, and in fairness to developer who certainly has not indicated otherwise, I use some random ratings plug-in (not the theme item specifically noted), and I can’t capture the action of “rating a post”, which is on my list of activities I’d like to track.

In any event, all good. This plug-in would think deserves some more downloads and a few more reviews.

Read all 2 reviews

Contributors & Developers

“WP Experience API” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.6

  • tweaked syntax to fit with wordpress better (got codesniffer to work on my ide again!)
  • fixed bug where posts with empty body makes invalid statements.

1.0.5

  • tweaked the queueing system so that you click on a button on the admin pages to run the queue instead of trying to use wp-cron.
  • bug fixes (made timestamp follow iso8601 more strictly and fixed typo)

1.0.4

  • added a queueing system. Also setting timestamp field is done by the plugin.

1.0.3

  • added additional options for whitelisted users access level. Options are whitelisted users have full control or only control LRS info at the site level.

1.0.2

  • changed verb for commented statements from created to commented

1.0.1

  • fixed bug found where statements are invalid if site tagline is left blank. Now it will dispay ‘n/a’ for empty website taglines.
  • updated readme formatting

1.0.0

  • Initial public release