How to display a progress bar?

Aug 30, 2013

We have lots of Storyline files that we serve via our website. We're using the Tin Can API.

Each user has a personalised page showing the modules they have started but not yet completed.

We want to display a progress bar next to each module, so they can see how far through the module they are.

I was thinking we could use the LastSlide data (which stores the ID of the last viewed activity) and then see the position of that activity in the tincan.xml file, however I have noticed that the activities in tincan.xml are not in the order in which they are presented to the user. 

So my question is how could I go about getting the users' progress? 

As the activities are not in order in tincan.xml, is there any way that I can parse the file (or another file) to get the actual order the story is displayed in?

3 Replies
Kevin Thorn

Hey Nic,

That sounds like a pretty slick setup.

If I understand correctly, the website "dashboard" for each user is not an LMS rather a custom website you developed?

Not sure how much help I can offer in terms of the xAPI xml file but I believe Storyline is a version behind (or more) than the latest version of xAPI. That said, it shouldn't matter if you're piping data to your own database and serving it up on a website.

Another option would be to use Storyline's variables and create a variable for each page in the course - page1, page2, etc. Then write a javascript function that checks what page a user is on *IF/WHEn* they exit. Exiting the course would fire off the script and send the variable (True/False?) to your database. Then serve your webpage based on those results. Unless there's a specific reason why you're using the xAPI other than "Nic experienced page 12", you can publish it in standard Web output. 

NOTE: I'm not a javascript programmer, but understand the logic behind it enough to consider how it may work in certain situations.

Nic Rodgers

Hi Kevin. Thanks for the reply!

Yes, it's a custom website with LRS capability to store learning records.

So for each project (we call them modules) we save the ID of the last Activity (slide) each learner has seen. This is by processing the 'experienced' posts to the LRS. 

I can open the tincan.xml file for each project and find the activity last viewed (by looking up the ID) but it seems that the order of activities in the tincan.xml file bares no resemblance to the order the slides are actually displayed to the user. 

For instance, the XML file might look like (shortened for easier reading):

Question 2

Question 2

Question 1

Question 1

Question 6

Question 6

Question 3

Question 3

We have lots (in excess of 100) projects/modules so I was hoping to come up with a solution by processing the existing files, rather than having to make edits in Storyline and re-save/re-upload everything again. 
Does anyone know if there's a way to parse the tincan.xml file (or one of the other files - data.js maybe?) to establish the order slides/activities are displayed in? 

This discussion is closed. You can start a new discussion or contact Articulate Support.