New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@openlearning/xapi

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@openlearning/xapi

xAPI Library for OpenLearning Widgets

  • 0.1.8
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

xApi Client Library for OpenLearning

Install:

npm install @openlearning/xapi --save 

Usage:

import {
  initLrs,
  saveStatement,
  saveAttachments,
  saveCompletion,
  saveActivityState,
  retrieveActivityState,
  savePassed,
  saveFailed
} from "@openlearning/xapi";

The webpage will be loaded with query string arguments that configure the LRS connection. The initLrs function returns the configuration retrieved from the query (search) string.

// on load
const lrsConfig = initLrs();

Once an LRS connection is configured, this config can be used with the other functions, e.g. to mark this activity as completed:

// mark as completed
saveCompletion(lrsConfig);

// mark as completed, saving additional (JSON serializable) data
saveCompletion(lrsConfig, myData);

Or to send file URLs to OpenLearning as attachments that can then be shared by the learner:

// publish (replace) attachments (default, last argument is optional)
saveAttachments(lrsConfig, [{
  contentType: "text/plain",
  display: "attachment.txt",
  description: "A text file written by the learner",
  fileUrl: "https://www.example.com/attachment.txt"
}], "published");

// publish (replace) attachments and specify a thumbnail URL
saveAttachments(lrsConfig, [{
  contentType: "text/plain",
  display: "attachment.txt",
  description: "A text file written by the learner",
  fileUrl: "https://www.example.com/attachment.txt"
}], "published", "https://www.example.com/thumbnail.png");

// append attachments
saveAttachments(lrsConfig, [{
  contentType: "text/plain",
  display: "attachment.txt",
  description: "A text file written by the learner",
  fileUrl: "https://www.example.com/attachment.txt"
}], "attached");

Or to set a score:

// save a passing scaled score
savePassed(lrsConfig, { scaled: 0.95 });

// save a failing raw score
saveFailed(lrsConfig, { min: 0, max: 10, raw: 3 })

Activity State can also be set and retrieved for the current user of this activity:

Note, to use these, the setting: "OpenLearning LRS: Use OpenLearning to store xAPI documents and state (Experimental)" needs to be activated under Course Setup > Advanced.

// store state (for the activity and current user)
saveActivityState(lrsConfig, stateId, state);

// retrieve state (for the activity and current user)
retrieveActivityState(lrsConfig, stateId).then((state) => {
  console.log(state);
});

Standalone Bundle

If you're not using npm (e.g. you're not building with webpack, etc.) and want to just use a <script> tag, using:

<script src="./bundle/openlearning-xapi.js"></script>

will define:

window.xApi = {
  initLrs,
  saveStatement,
  saveAttachments,
  saveCompletion,
  saveActivityState,
  retrieveActivityState,
  savePassed,
  saveFailed
};

Development

Build the ./dist folder:

npm run build

Build the standalone bundle: ./bundle/openlearning-xapi.js:

npm run bundle

FAQs

Package last updated on 12 Aug 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc