- Tin Can Explained
- Tin Can Solutions
Posted by Andy Whitaker
Posted 11 December 2012
Our first Tin Can API Technical Webinar was a big success. Thanks to everyone who attended. For those of you who missed it, you can find a recording of the webinar here, and can see the Q & A from the webinar within this blog post.
Q. Is there already an implementation using OAuth?
A. The Tin Can implementation which is part of the SCORM Engine includes facilities for working with OAuth Tin Can authentication. SCORM Cloud private endpoints also have this functionality, but it has not yet been exposed there. Additional support for OAuth is forthcoming.
Q. Will it remain OAuth v1 or become v2?
A. Currently the Tin Can spec is written for use with OAuth 1.0a.
Q. What if activities disappear?
A. A logical activity should never disappear. “Intro To Computer Science, class of 1972″ might now be “gone”, but it will never disappear from history. In Tin Can, activities exist within statements, and statements are historical.
Q. Should an authority be a person or can it also be a system, like a LMS?
A. Either works. Agents can represent people and systems. Systems would typically be represented using an “account on a system” ID.
Q. What does the URI acronym stand for?
A. Uniform Resource Identifier. It’s an ID system that came from the web. For instance, most URLs are URIs. See http://en.wikipedia.org/wiki/Uniform_resource_identifier for more details.
Q. If I watch a video online and Tin Can captures this data, with the ID being the URL to the video I watched – what happens if that video is removed from the web?
A. The activity in the statement should also include enough descriptive information to capture what the video was, at the time. The resource can disappear without losing the statement’s meaning.
Q. What was the difference between TimeStamp and TimeStored?
A. Timestamp is the time when the event logically happened, while “stored” is when the statement was stored on the LRS. Often they will be close.
Q. Are the verb and object IDs always the URL?
A. Verb and Object IDs must always be absolute URIs. Typically this will be a URL, but doesn’t have to be. See http://en.wikipedia.org/wiki/Uniform_resource_identifier for more information.
Q. Ben mentions pagination in the Statement REST API. Can you explain how this works more specifically? I see “limit”, but not properties I would expect like “offset”, “count”, etc. Is time (“since” and “until” the only parameter for pagination?
A. Since and until are the key tools for finding specific results in time. Pagination is only of a continuation type. That is, if there are more statements that fit the query beyond the limit parameter posted, the results will include a “more” element that can be used to fetch the next page of results.
Q. I think it would be helpful if this “more” element were documented in spec. I am guessing it is and I just missed it.
A. No problem. Checkout section “4.2 Retrieval of Statements” in the 0.95 spec… One link to it is here – http://tincanapi.wikispaces.com/Tin+Can+API+Specification+.95
Q. What is the URL to access the Verb list from ADL?
A. A number of companion documents can be found at ADL’s TIn Can wikispace here – http://tincanapi.wikispaces.com/ For the verb list specifically, you can find that here – http://tincanapi.wikispaces.com/ADL+Experience+API+Companion+Document