• Stars
    star
    202
  • Rank 193,691 (Top 4 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created over 12 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

JavaScript library for the Experience API (Tin Can API)

A JavaScript library for implementing the Experience API (Tin Can API).

Build Status GitHub release npm license

For hosted API documentation, basic usage instructions, supported version listing, etc. visit the main project website at:

http://rusticisoftware.github.io/TinCanJS/

For more information about the Experience API visit:

http://experienceapi.com/

Browser Usage

TinCanJS is available via npm and Bower.

The browser environment is well tested and supports two kinds of Cross Origin requests which is sufficient to cover most versions of Chrome, FireFox, Safari as well as IE 8+. IE 6+ are supported for non-CORS (because they don't support it).

Include one of build/tincan-min.js or build/tincan.js as follows:

<script src="build/tincan-min.js"></script>

Node.js Usage

TinCanJS is available via npm.

The Environment/Node.js wrapper used in this version has a dependency on the 'xhr2' module which is also available via npm. It is used to allow the interfaces to the underlying LRS requests to have the same API. As such currently there is no support for synchronous requests when using this environment.

Install via:

npm install tincanjs

And within code:

var TinCan = require('tincanjs');

Environments

Implementing a new Environment should be straightforward and requires overloading a couple of methods in the library. There are currently two examples, Environment/Browser and Environment/Node.

Attachment Support

Sending and retrieving statements with attachments via the multipart/mixed request/response cycle works end to end with binary attachments in Node.js 4+ and in the typical modern browsers: Chrome 53+, Firefox 48+, Safari 9+, IE 10+ (current versions at time of implementation, older versions may work without changes but have not been tested). Attachments without included content (those using only the fileUrl property) should be supported in all environments supported by the library.

Several polyfills (TypedArrays, ArrayBuffer w/ slice, Blob, TextDecoder/TextEncoder) are needed to support various browser versions, if you are targeting a recent enough set of browsers you can reduce the overall size of the built library by commenting out those polyfills in the Gruntfile.js file and building yourself.

More Repositories

1

TinCanPHP

PHP library for the Experience API (Tin Can API)
PHP
86
star
2

TinCan_Prototypes

Examples which use the Tin Can API
HTML
84
star
3

TinCanPython

Python Library for xAPI (originally Tin Can API)
Python
45
star
4

launch

See cmi5 (Non-Evolving Guidelines for Incorporating a Tin Can LRS into an LMS)
44
star
5

TinCan.NET

C#/.NET library for Tin Can API
C#
43
star
6

TinCanJava

Tin Can Java Library
Java
43
star
7

SCORMCloud_PHPLibrary

A PHP library to aid in the integration of the SCORM Cloud web services into PHP applications.
PHP
42
star
8

SCORMCloud_PythonLibrary

A Python library to assist in the integration of the SCORM Cloud service into Python applications.
Python
19
star
9

scormcloud-api-v2-client-php

Swagger Generated PHP Client for SCORM Cloud API v2
PHP
18
star
10

TinCanRecipes

Contains JavaScript Client API and dog fooding site
JavaScript
17
star
11

SCORMCloud_MoodleModule

Moodle module for the SCORM Cloud
JavaScript
16
star
12

TinCanObjC

Objective-C library for TinCanAPI
Objective-C
16
star
13

TinCanSchema

JSON Schema for Tin Can Structures
JavaScript
14
star
14

TinCanAPILibraryCSharp

DEPRECATION NOTICE: This library is deprecated, use the TinCan.NET library instead
C#
14
star
15

TinCanStatementViewer

A statement viewing page for the Tin Can API.
JavaScript
13
star
16

SCORMCloud_NetLibrary

A C# library to assist in the integration of the SCORM Cloud service into .Net 2.0+ applications.
C#
11
star
17

TinCanAndroid-Offline

Offline wrapper for TinCanJava with Android
Java
10
star
18

scormcloud-api-v2-client-net

Swagger Generated C# Client for SCORM Cloud API v2
C#
9
star
19

scormcloud-api-v2-client-javascript

Swagger Generated Java Script Client for SCORM Cloud API v2
JavaScript
9
star
20

SCORMCloud_NetDemoApp

A C# demo app with samples of the common functions of the SCORM Cloud .Net Library. Master is now .Net 4.0
C#
9
star
21

SCORMCloud_JavaDemoApp

A Java application serving as a demo app with samples of the common functions of the SCORM Cloud Java Library.
Java
8
star
22

SCORMCloud_WordPressPlugin

A plugin for integrating the SCORM Cloud service into WordPress.
PHP
8
star
23

SCORMCloud_JavaLibrary

A Java library to assist in the integration of the SCORM Cloud service into java applications.
Java
7
star
24

SCORMCloud_PythonDemoApp

Sample application using the SCORMCloud_PythonLibrary
Python
6
star
25

TinCanObjC-Offline

Offline wrapper for TinCanObjC
Objective-C
6
star
26

SCORMCloud_GoogAppEngApp

EOL (Unsupported) - Do NOT Use - A SCORM Cloud integrated application for Google App Engine
Python
6
star
27

cmi5.js

JavaScript implementation of cmi5 AU runtime
JavaScript
5
star
28

scormcloud-api-v2-client-python

Swagger Generated Python Client for SCORM Cloud API v2
Python
5
star
29

CheddarClient

Java wrapper for CheddarGetter API
Java
4
star
30

scormcloud-api-v2-client-java

Swagger Generated Java Client for SCORM Cloud API v2
Java
4
star
31

TinCanValidator

JavaScript Utilities to do validation of Tin Can structures based off of TinCanSchema
JavaScript
3
star
32

scormcloud-api-v2-client-ruby

Swagger Generated Ruby Client for SCORM Cloud API v2
Ruby
3
star
33

SCORMCloud_SakaiPlugin

SCORM Cloud plugin for Sakai
Java
2
star
34

TinCanDraw

Example for capturing canvas data to tin can statements
JavaScript
2
star
35

SCORMCloud_LegacyJava142Library

This is the legacy java library for 1.4.2. If you are able, please use the other Java library we provide as it is intended for newer Java versions.
Java
2
star
36

eslint-config-rusticisoftware

JavaScript
1
star
37

SCORMCloud_IliasPlugin

SCORM Cloud plugin for Ilias.
JavaScript
1
star
38

PENSExampleCode

Example code for working with the PENS standard
PHP
1
star
39

ContentController-PublicDeploy

Ansible deployment bits for Rustici Content Controller
ApacheConf
1
star
40

LETSI_RTWS_Client

C#
1
star