Git Product home page Git Product logo

cmi5-client-library's Introduction

cmi5-Client-Library

Overview

This is a client library for creating cmi5 content (called AU's - Assignable Units) to work with a cmi5 conformant LMS (Learning Management System)

(Derived from the AU Simulator Project created by Art Werkenthin)

cmi5-client-library's People

Contributors

andyjohnson avatar brianjmiller avatar cawerkenthin avatar mrbillmcdonald avatar thomasturrell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cmi5-client-library's Issues

Double callback of successCallback in getAuthToken

Lacking a "return" on line 285 after auth token is fetched from session storage. The current behavior is read from session, call the successCallback then continue on, make the fetch request, then call either the tokenErrorCallBack incorrectly (since it was read from session anyway) or call successCallback again. Double callback on successCallback leads to fetching the activityState twice.

withCredentials causes cross domain errors if Access-Control-Origin is set to *

I received an error in chrome when trying to use cmi5 content that was not in the same domain as the LMS. The error message in chrome indicates that an Access-Control-Allow-Origin cannot be set to "*" when withCredentials is set to true. Since I do not wish to continually add domains to the Access-Control-Allow-Origin header, I removed that line from the cmi5Controller and I no longer had the error. I don't see this as particularly dangerous as I am only setting the Origin header when a request is made to my cmi5 controllers. I am considering removing it from this libraries source as well unless someone can give me a better idea.

Thanks.

Multiple Completed and Passed statements could be sent for one registration

I believe that the cmi5 spec requires that only one Completed and or Passed statement is sent by the AU.

The AU could use the agent xAPI state resource to store if it has previously sent Completed or Passed statements. I don't believe the AU should attempt to check the existence of the Statements in the LRS because some LMS might prohibit an AU from requesting statements.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.