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)
This project forked from cawerkenthin/cmi5-au-simulator
This application simulates the AU-side of the cmi5 specification. It is an example of how to send cmi5 statements from an AU.
Home Page: https://adlnet.gov/projects/cmi5-specification/
License: Apache License 2.0
This would make it possible for the launching LMS/LRS to restrict access to the fetch endpoint to the client that requested the launch.
Per July 17 meeting add issues tracker
cmi5Controller.js line 93. Does not differentiate between a 404 with a string response and a 200 with a JSON response.
I believe that Passed, Completed and Terminated statements must include duration.
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.
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.
When the user reloads / refreshes the page an additional initialized statement is sent. I believe that only one statement should be sent per session.
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.
When attempting to read cached Auth token from session_storage, "data" is undefined on line 282
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.