0

I would like to download a course and work offline on that course. How can I track my results?

I would like to record all my progress(slides that I viewed, quiz results, time for each content....), for example saving them on a file or a database, and then generate statements to send to an LRS when I'm online.

Someone could explain me how can I do that?

Mark
  • 399
  • 4
  • 12
  • Are you authoring the course or just taking someone else's course? – Brian J. Miller Jun 06 '16 at 18:06
  • I just take someone else's course. I have to create an Android application that could be used online and offline. – Mark Jun 07 '16 at 07:16
  • How is that course authored and/or packaged? Does it have a `tincan.xml` file or some other packaging concept? I posted answer to your other question as well. – Brian J. Miller Jun 07 '16 at 14:47
  • Well I don't really know what is the difference between authored and packaged... Contents that I work with has the tincan.xml file and other files such as meta.xml, the javascript player and story.js. – Mark Jun 08 '16 at 07:52

1 Answers1

0

With TinCan statements (commonly including information about the student(actor) and then what they did, objectives, status etc) are being posted to a endpoint. Depending on how the content is written it may or may not failover to some alternative. If its a native application I would suspect you'll have limited ability to intercept these statements. If its a HTML course you may be able to locate where the content attempts to post these statements and re-direct those to local storage or some other sql/nosql option. Ultimately, it will depend on what content you're attempting to run, and what type of controls you'll have to attempt to. Based on what I know, the content itself would have to detect its 'offline' and store the statements until it is back online. Similar to this post - How tin-can-api works offline?

SCORM ultimately doesn't work like TinCan. LMS exposes a JavaScript API, and the HTML based content locates it in the DOM using JavaScript. Content then makes gets and set calls to it. The LMS is more responsible for committing this information to a server, or persisting the data in another fashion. This doesn't stop content developers from creating new and alternative ways to persist data if the LMS is not present. For this type of content its probably easier to intercept since you can be the LMS in this situation and expose that API for the content to use. In a offline situation you'd just have to manage the student attempts and then once online- sync them with your server.

Community
  • 1
  • 1
Mark
  • 2,429
  • 20
  • 20
  • Thanks for the answer. I think I could retrieve some pieces of information from the javascript player and pass these to my android application using a JavascriptInterface. It could be an acceptable solution? Contents that I work with aren't only HTML curses. In fact they have only an story.html file that if the entry point of the course an then every information are shown on this page. – Mark Jun 08 '16 at 07:51
  • Content side - https://github.com/adlnet/experienceapi_client_examples/blob/master/1.0/original_prototypes/config.js.template - the content would of set a URL to post to, with other authentication parameters. I would think it would depend if you can control what the content is hoping to communicate with since typically its trying to reach a LRS they've set. – Mark Jun 08 '16 at 20:24