tincan | A WebRTC demonstration | SDK library
kandi X-RAY | tincan Summary
kandi X-RAY | tincan Summary
A WebRTC demonstration
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of tincan
tincan Key Features
tincan Examples and Code Snippets
Community Discussions
Trending Discussions on tincan
QUESTION
here's a problem I'm struggling with:
The configuration below used to work fine (site's binding was http, port 81). It fails now, after the site's binding was changed to be https, port 443 and use a valid server authentication certificate. The error message in Event Viewer is this:
ANSWER
Answered 2021-May-14 at 02:56If you want to use https, please refer to the following configuration:
QUESTION
A bit introduction, I'm trying to create a LMS that will launch cmi5 course. But, I've trouble in understanding about cmi5 package and some other terms. Here I would like to ask/clarify several points to make it clear.
I've seen TinCan/xAPI sample course/spec (I saw it here) and cmi5 spec here. I found out that they need different query string to launch the content.
To be precised, in TinCan, for the authentication, we could pass auth
query string and the Basic {encoded username:password}
as the value (here is the reference). The auth
then processed by the TinCanJS package (I'm using Javascript). But, in the cmi5 spec, it said to get the token, we could pass fetch
query string and the value is our lms that return one time token only. The fetch
url will called with POST
method.
But, I couldn't found "where is the fetch
value being processed in the cmi5 course?" in the AU? I'm still confused with the terms of AU.
- Who will create it?
- How it looks like?
- is it included in the cmi5 course or do I have (as the creator of LMS) to create the AU?
Thank you in advance.
...ANSWER
Answered 2021-Apr-26 at 13:34The specification includes a specific definition for an AU:
Assignable Unit (AU): A learning content presentation launched from an LMS. The AU is the unit of tracking and management. The AU collects data on the learner and sends it to the LMS.
The AU is essentially what we've come to consider the lesson inside the course. AU is a holdover term from the AICC specifications, and is similar to a SCO in SCORM or the launched thing in a package with a tincan.xml
file.
To explicitly answer your questions:
A content creator would generally create an AU and potentially a course of one or more AUs. This would be the output of a "Rapid Authoring Tool" a la Storyline, Captivate, etc.
Entirely depends on the AU and the content being developed.
The AU will either be included in a course package zip, or it would be an external URL that can be linked to directly. Strictly speaking an LMS wouldn't generally create an AU, having said that, there could be generic implementations of AUs that could receive enough configuration information via the launch parameters such that they could be provided by an LMS. Rustici Software's Engine product which provides standards support for many LMSs (and SCORM Cloud) uses this methodology to provide support for certain content types.
You should have a look at the resources available from the cmi5 spec website:
http://aicc.github.io/CMI-5_Spec_Current/
As well as the high level overview about cmi5 here: https://xapi.com/cmi5/
QUESTION
ANSWER
Answered 2020-Aug-17 at 14:07actor
is not one of the available query parameters. You would need to use agent
, and to filter statements by an Agent you have to provide the IFI, in your case the account
value, name
is not an acceptable identifier in xAPI so it can't be used as a filter value. The list of available properties matches the set of query string parameters listed in the GET /statements
resource here: https://github.com/adlnet/xAPI-Spec/blob/master/xAPI-Communication.md#213-get-statements
QUESTION
I feel like I've tried everything, but I keep coming up short. I am working on a course in Storyline 360, and I am able to return statements just fine when using verbs and object IDs, but no matter what I do to try and return statements for a specific Agent, I cannot get a query to go through.
Here's my code as it stands now - where I do return plenty of statements...what I need to know is how to have it query the current learner's statements for matches. I'm able to pull in their name or mbox, but trying to pass those through in my params fails on me every time.
Any help is very much appreciated!
...ANSWER
Answered 2020-Jun-25 at 15:42You need to set an agent
property in the params
object passed in the first argument. Assuming the Agent is the actor
in statements.
QUESTION
What url parameters needs to launch xApi (TinCan api) package with oAuth authorization on LRS?
I found only examples with basic auth:
...ANSWER
Answered 2019-Dec-14 at 16:43There are no additional URL parameters when doing OAuth launch based on the Tin Can launch guidelines. The LRS endpoint should be all that is needed, the rest of the authentication process uses resources provided by the LRS. See the various OAuth workflows in the xAPI specification itself. See https://stackoverflow.com/a/24212579/1464957 for more.
QUESTION
I'm trying to get my head around the workings of an xAPI package authored in Rise which has been supplied to me so I can build a test PoC app.
I can see the functions built into the index.html page, and that things like progress and quiz scores are genrated, but where do I find the end-point for a LRS within the package?
I have incorporated the package into a test app I built, but rather than generate and send statements myself I would like use what comes as part of the package.
If I import and play the package in SCORM Cloud, I get generated statements returned.
The only thing I can see is an entry in the tincan.js file, this.recordStores=[]
other than that I'm unsure where to go next, any suggestions?
ANSWER
Answered 2019-May-09 at 15:24Generally this kind of package implements a set of guidelines that were released with the 0.9 version of the specification (at the time named the Tin Can API and then later changed to xAPI). Those guidelines provide for a packaging and launch mechanism which is what Rise has implemented. The launch mechanism indicates that the endpoint and authentication credentials will be passed on the query string to the launched content where it can retrieve them. The TinCanJS library used by Rise implements functionality to digest the query string and set up objects, those you find in this.recordStores
to communicate with the xAPI LRS identified in the query string parameters.
You have two primary options,
- Get the query string parameters directly from the launch URL and
process it yourself, potentially using the same global library objects
(
TinCan.LRS
) already available to get an LRS object that you can then interact with as you see fit, - Leverage the object already created for you via the
this.recordStores
list that is already prepared by the package itself
There are pros/cons to both methods and they largely depend on your familiarity with JavaScript and how flexible you need/want to be.
QUESTION
I'm trying to update elements within an existing instance of an object. When I do, some of what I presume are inherited characteristics do show up under proto in Chrome's Dev Tools.
...ANSWER
Answered 2019-Mar-25 at 15:30You are losing the "TinCan.InteractionComponent" because you are setting the array position to be a new object.
QUESTION
I am trying to work with TinCanJS library in angular 6
I installed the package using npm install tincanjs --save
I imported the files in angular.json as follow:
...ANSWER
Answered 2019-Jan-11 at 09:42remove the xhr2
it should be,
QUESTION
I have a xAPI course created in Storyline which I'm trying to launch in the browser. After referring to the documentation on the internet I performed following steps:
1) Configured the Learning locker LRS locally.
2) Created the launch URL with the LRS end point, key and secret details.
Launch URL:
...ANSWER
Answered 2018-Apr-09 at 20:07The launch URL you pasted appears to be incorrectly encoded. The %26
at the end of the endpoint should be a literal &
, so that the next query parameter, auth
is separated. This is the case on through actor
which is what I'm guessing is giving the null
reference error when Storyline (and the underlying library, TinCanJS) is trying to serialize the Agent when making the xAPI State retrieve request.
QUESTION
Array
(
[0] => TinCan\Statement Object
(
[id:protected] => 0a53e06c-64a7-4902-930e-993bb228cd49
[stored:protected] => 2018-02-24T04:21:22.456Z
[authority:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => sabarish
[mbox:protected] =>
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] => TinCan\AgentAccount Object
(
[name:protected] => 248a06f20aa62f
[homePage:protected] => https://sandbox.watershedlrs.com
)
)
[version:protected] => 1.0.0
[attachments:protected] => Array
(
)
[actor:protected] => TinCan\Agent Object
(
[objectType:protected] => Agent
[name:protected] => Akshaya Manikandan
[mbox:protected] => mailto:aksh.m14@gmail.com
[mbox_sha1sum:protected] =>
[openid:protected] =>
[account:protected] =>
)
[verb:protected] => TinCan\Verb Object
(
[id:protected] => http://adlnet.gov/expapi/verbs/skipped
[display:protected] => TinCan\LanguageMap Object
(
[_map:protected] => Array
(
[en] => skipped
)
)
)
[target:protected] => TinCan\Activity Object
(
[objectType:TinCan\Activity:private] => Activity
[id:protected] => https://app.acuizen.com/populate_form/965/1573/4690
[definition:protected] =>
)
[result:protected] =>
[context:protected] => TinCan\Context Object
(
[registration:protected] =>
[instructor:protected] =>
[team:protected] =>
[contextActivities:protected] => TinCan\ContextActivities Object
(
[category:protected] => Array
(
[0] => TinCan\Activity Object
(
[objectType:TinCan\Activity:private] => Activity
[id:protected] => http://acuizen.com/ActivitySkipped
[definition:protected] => TinCan\ActivityDefinition Object
(
[type:protected] => http://id.tincanapi.com/activitytype/Assignment
[name:protected] => TinCan\LanguageMap Object
(
[_map:protected] => Array
(
)
)
[description:protected] => TinCan\LanguageMap Object
(
[_map:protected] => Array
(
)
)
[moreInfo:protected] =>
[extensions:protected] => TinCan\Extensions Object
(
[_map:protected] => Array
(
)
)
[interactionType:protected] =>
[correctResponsesPattern:protected] =>
[choices:protected] =>
[scale:protected] =>
[source:protected] =>
[target:protected] =>
[steps:protected] =>
)
)
)
[parent:protected] => Array
(
)
[grouping:protected] => Array
(
)
[other:protected] => Array
(
)
)
[revision:protected] =>
[platform:protected] =>
[language:protected] =>
[statement:protected] =>
[extensions:protected] => TinCan\Extensions Object
(
[_map:protected] => Array
(
)
)
)
[timestamp:protected] => 2018-02-24T04:21:22.456Z
)
...ANSWER
Answered 2018-Feb-24 at 10:14Without your php code I can only assume you are using json_decode($response)
instead of json_decode($response, true)
. Second parameter in this function decides whether to decode into a class as you have or simple array.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install tincan
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page