Wrap SCORM interaction in TinCan statements: is that possible? - scorm

I have TinCan LRS and tons of SCORM content. So instead of using SCORM server-side stuff for storing learning results, I want to alter SCORM player so it would issue TinCan statements to my LRS.
Is this theoretically possible?
I clearly understand that I should rewrite SCORM player, providing custom RTE handler.
I don't know SCORM very well, please warn me if there are any potential pitfalls.

Yes, it's possible to map SCORM calls to the Experience API (aka Tin Can). A quick Google search returns this, which should give you some pointers: Converting SCORM packages to Tin Can API

Related

Does SCORM really need the flash player to work?

I have to do a college project, where I have to do an LMS, and one of the requirements is to allow the import of SCORM files. However, when I went to research I saw something about SCORM using the flash player, which ended support this year. Can anyone answer the question if SCORM really needs the flash player to work?
No. The only hard technical requirement is a JavaScript environment (or an environment that sufficiently mimics a JavaScript environment) which is why SCORM is very often considered a browser based specification. "Browsers" and therefore JS environments are finding their way into all kinds of places.
To elaborate a bit more on Brian's answer, take a look at the following resources.
SCORM1.2 Golf Examples
https://scorm.com/scorm-explained/technical-scorm/golf-examples/?utm_source=google&utm_medium=natural_search
SCORM Run-Time Reference
https://scorm.com/scorm-explained/technical-scorm/run-time/run-time-reference/
Rapid E-Learning Dev Software
Articulate
Captivate
Lectora
I have experience in all three software's listed above; however, I have standardized all training development in my team to use Lectora because of its flexibility and ability to add JS, jQuery, CSS, etc. to my content. You are really limited by your own skills at that point and if you have the computer programming skills then you can exploit Lectora to it's fullest potential.
Using Lectora, I can use Actions to modify any/all SCORM variables using the run-time reference listed above as my guide.

Ability to run branching SCORM packages on Blackboard

I'm new in SCORM and don't know a lot about it.
My customer already has his own custom LMS with courses. And he wants these courses "to be mounted on Blackboard". And it appears that material would have to be SCORM compliant to play in Blackboard.
The problem is, that existing courses are not linear, but branching. For example, if user answered "Yes" on first question, he will get question with id=2 next. If he answered "No", he will get question with id=3 next. As I understood, you do not have the ability to create such "branching" packages in SCORM. Only linear. Am I wrong?
Or, maybe, Blackboard allows you to use your own LMS and only send back to Blackboard "SCORM big four" data?
When I last checked Blackboard Learn included the same SCORM player used by scorm.com. So if the packages play there they should work within Blackboard Learn. You might be better off implementing the courses in Blackboard's internal content structure.
SCORM 2004 would allow you to take advantage of the sequence and navigation. Enabling you to set pre/post rules on skipping based on outcomes. Allows for controlling the flow, choice and allowing the student to move forwards and backwards (or not). You'll have to see if it fits the use case though.
IMS Simple Sequencing was dropped into it, so most the detail I think you'll find more beneficial from IMS Global since for whatever reason it's not highly documented in the SCORM 2004 specification. http://www.imsglobal.org/simplesequencing/
There are also a lot of moving parts here to so it can get overwhelming. I can't say I've ever seen a great tool to design this flow/rule/behavior, and its been the subject of a few reasons why some feel SCORM 2004 didn't get more widely adopted. SCO's can make requests to the "adl.nav" space for requesting jumping to another SCO or continuing etc. too.
Rustici has some "Golf Examples" on http://scorm.com/scorm-explained/technical-scorm/golf-examples/ which also highlight some of these more rich examples under the "SCORM 2004 4th Edition" section on that page. But have several SCO and manifest examples you can use as a basis for understanding a little of what you can accomplish.
Edit: Another option if its just single questions, is to just let a SCO manage this. I've had this on ones where they had "roles" at the beginning and we had to present different questions to a counselor vs. a teacher. So you can have more custom control within the SCO, and you don't have to get your geek on with all the IMSManifest.xml rules.
Thanks and good luck,
Mark

Which tincan verbs to use

For data normalisation of standard tin can verbs, is it best to use verbs from the tincan registry https://registry.tincanapi.com/#home/verbs e.g.
completed http://activitystrea.ms/schema/1.0/complete
or to use the adl verbs like those defined:
in the 1.0 spec at https://github.com/adlnet/xAPI-Spec/blob/master/xAPI.md
this article http://tincanapi.com/2013/06/20/deep-dive-verb/
and listed at https://github.com/RusticiSoftware/tin-can-verbs/tree/master/verbs
e.g.
completed http://adlnet.gov/expapi/verbs/completed
I'm confused as to why those in the registry differ from every other example I can find. Is one of these out of date?
It really depends on which "profile" you want to target with your Statements. If you are trying to stick to e-learning practices that most closely resemble SCORM or some other standard then the ADL verbs may be most fitting. It is a very limited set, and really only the "voided" verb is provided for by the specification. The other verbs were related to those found in 0.9 and have become the de facto set, but aren't any more "standard" than any other URI. If you are targeting statements to be used in an Activity Streams way, specifically with a social application then you may want to stick with their set. Note that there are verbs in the Registry that are neither ADL coined or provided by the Activity Streams specification.
If you aren't targeting any specific profile (or existing profile) then you should use the terms that best capture the experiences which you are trying to record. And we ask that you either coin those terms at our Registry so that they are well formed and publicly available, or if you coin them under a different domain then at least get them catalogued in our Registry so others may find them. Registering a particular term in one or more registries will hopefully help keep the list of terms from exploding as people search for reusable items. This will ultimately make reporting tools more interoperable with different content providers.

Is XForms still a live standard?

The XForms standard page seemed to indicate that it was no longer live, and that html5 kinda sorta does the job now. Is this the case? I'm looking at storing heterogenous data nuggets as XML fragments - generating a editor page according to the datatype.
To add to Phil's answer:
The XForms Working Group at W3C is active and currently working on XForms 2.0. See in particular the proposed 2.0 features on the wiki and the in-progress draft of the spec as of Feburary, 2012.
Also I don't think it's fair to say that HTML 5 "does the job". HTML 5 forms bring small and welcome improvements over HTML 4 forms, but they don't bridge the gap with XForms.
XForms on the other hand provides:
MVC architecture
XML data model (you like it or you don't, of course)
a powerful repeat model with xf:repeat
declarative properties and calculations
declarative event handlers
integration between the data model and REST services with xf:submission
built-in notion of hint, help, and alert messages
And I am probably missing some.
UPDATE 2016-11-28: For an answer up to date as of the end of 2016, please see this newer question.
The standard definitely isn't dead, although it's perhaps true to say that it hasn't gained much traction within the standard web-browsing ecosystem.
I have worked on a number of projects where XForms has been used as the forms layer in some bespoke application; in my cases the XForms parts have been handled by either Backplane BX or Ubiquity XForms, both of which may be worth taking a look at depending on your requirements (full disclosure: I've worked in the past as an implementer on both projects). Backplane BX is Windows/IE specific; Ubiquity XForms is a cross-browser, client-side javascript library; both are open source.
There are also a number of other libraries that I've not worked with but which I've heard good things about: Orbeon and XSLTForms spring to mind, but a more complete, albeit slightly outdated, list can be found here.

Are RSS and Atom sufficient for publication and syndication, or should I investigate a third option?

For web feeds we all know of RSS and Atom, but is that it? Isn't there a third option?
If not, why? Are RSS and Atom more than qualified to meet today's demand to distribute information?
There are probably hundreds of other options. If not, we could make some up on the spot...
JSON isn't an uncommon format for syndication. It's more useful for clients that are implemented entirely in browser-side JavaScript, but JSON is simple enough to use in just about anything if necessary. Here's one example of a JSON protocol based on Atom.
As for why RSS and Atom are the most common... RSS was the first to really take off. It was very limited, not very strict, and heavily extended to address the limitations - the result being that writing a good client was far more difficult than it should have been. RSS 2.0 didn't really go far enough to solve these problems, and at least initially it introduced others, and so Atom gained some traction as a comparatively clean, extensible, easy-to-publish, easy-to-process alternative.
With enough sweat and cursing, you can use almost anything to distribute information. Finger and .plan files worked for years...
In addition to feed formats, techniques like pubsubhubbub can help distribute changes faster because it provides a service a way to notify clients of changes. In situations where your partners display your content this can prevent old content being shown.

Resources