Forum Discussion

DilshanSamarawe's avatar
DilshanSamarawe
Community Member
6 months ago

Identify slides related to a module in a multi-module course.

Hi,

I am creating a course using articulate storyline that contains multiple modules where each module can contain multiple slides. I am using the xApi format to publish the course. I am trying to track module wise progression using custom xApi statement triggers to track progress and time spent with the slideid when a user interacts with a slide. So to display module-wise progression, I need to specify which slide is related to which module.

For example, I have a course that is divided into 10 modules. The first module contains 2 slides, the second module contains 5 slides, etc. So my question is, after publishing the course in xApi format, how can I identify which slides relate to which module? 
Any help would be much appreciated.

  • Hi there, could you use the Storyline variables Project.SceneNumber and Scene.SlideNumber to identify the currect slide by Scene and Scene Slide Number?

    You would first create your own variables in Storyline, for example SceneNumber and assign Project.SceneNumber to that variable each time a slide loads, do the same with Scene.SlideNumber and assign it to SlideNumber each time the slide loads. You can then access both of these variable via JavaScript to use as you need, for example

    var player = GetPlayer();

    const scene = player.GetVar('SceneNumber');
    const slide = player.GetVar('SlideNumber');

    const location = "Scene_"+scene+"_Slide_"+slide;

    If you need a better label than a number, you could create an array of Scene names, and use the scene number to get the name, for example:

    const scenes = ['Introduction','How to do this', 'How to do that'];

    const location = scenes[Number(scene)-1]+": "+slide;

    If scene is 1 and slide is "1", this would give you "Introduction: 1"

    Let me know if anything is not clear.

    • TimTalts's avatar
      TimTalts
      Community Member

      Hi Sam, do you know if this would be possible in Rise. I've been tasked with a similar project. I implemented a similar thing within Captivate utilising javascript but Rise seems to be quite restricted. 

      I am new to Rise so trying to gen up on all possibilities.

      thanks