Forum Discussion
Within Canvas, can I track how many slides a learner has completed within a Storyline module?
Hello! This may be a question more so for Canvas support, but I'm sure it involves Storyline, so I thought I would try asking here.
Our client wants us to track learner progress in a Storyline module down to the slide. As in, the exact number of slides each learner has completed in a module. They want this represented or at least viewable somewhere in Canvas. Bonus if Net =Forum can see it too.
I know how to add slide number identifiers to a page, and I know how to track total completion by number of completed slides, but I just need to have a way for Canvas to look at a Storyline module in the course, see that a learner has completed, say, 30 slides, and then have some way for our Administrators to see that 30 slide completion number somewhere for that user.
I'm more than happy to add more details or discuss further. Thank you!
9 Replies
Hi willbogen,
Thanks for reaching out!
You're correct; you can track the slides viewed by a percentage or a fixed number. Additionally, this is the data that Storyline sends to your LMS, although it may vary depending on which LMS you use. I'm not super familiar with Canvas, so I'd recommend reaching out to them for more specific details!
- NedimCommunity Member
Have you tried using the built-in "Project.SlidesViewed" variable? While this variable isn’t sent to the LMS, you can still track slide views by leveraging a graded Numeric Interaction.
- Create a Numeric Entry interaction – this automatically generates a variable that gets reported to the LMS.
- Rename the variable (e.g., slidesViewed) for clarity.
- Set its value to match Project.SlidesViewed when the timeline starts on the Master Slide.
- Exclude the Numeric Entry interaction slide from the Project slide count so it doesn’t inflate the total number of slides.
- Remove this slide from the menu to ensure it’s neither accessible nor visible to learners.
This way, you can effectively track the number of slides viewed and ensure the data is sent to the LMS.- willbogenCommunity Member
I have not tried this, thanks for the tip! One thing, I think you are suggesting I make an individual slide separate from all other slides with this, but I don't see how to make a trigger start on a Master slide. I am attaching a portion of the file here, I'd be super grateful if you could further explain what you are suggesting here, I'd love to give it a shot.
- NedimCommunity Member
I may have misunderstood your post. I was under the impression that you only wanted to send the total number of viewed slides at the end of the course and report it to the LMS. However, after rereading your post several times, it seems that you're actually looking for a way to dynamically report the number of slides viewed as the user progresses through the course.
Unfortunately, I don't have a solution for this, as the LMS is typically only interested in standard SCORM variables. Passing the value of a non-standard variable to the LMS through SCORM is nearly impossible unless the course is published to xAPI. Not to mention the limitations in Canvas that you referred to in one of your posts.
Your best approach would be to integrate Firebase with Canvas LMS. You can then send the "SlidesViewed" variable value from Storyline to Firestore and report it to Canvas LMS. In one of my previous posts, I did something similar by reporting the percentage of learners' answers by choice to Firestore and then returning it to Storyline.Anyway, I've attached the .story file with 7 slides, one of which contains a numeric interaction, along with a result slide. After the course is published, the numeric value will be reported as the total number of viewed slides at the end of the course.
You could set up the same configuration for each module, but be careful not to cause premature completion, as all result slides need to be tracked to ensure that the cmi.interactions are reported to the LMS. However, this setup will only allow you to report the "SlidesViewed" variable at the end of each module, not dynamically in real time.
- MathNotermans-9Community Member
Biggest issue in all this for sure ain't the Storyline part but the Canvas part of it. Using Scorm you can write to the Canvas gradebook or speedgrader. Whether the slidesViewed can be written to the gradebook has to be seen. I do think Canvas permits limited data to be written. Completed/not completed and a score i think. You can misuse the score as a percentage for the amount of slides visited. Offcourse you also can write any variable to Googlesheets or a database.
Furthermore only results that are feed into the gradebook or speedgrader are results from a resultpage. So you need to build your Storyline around a quiz. Or rather have a resultspage.- willbogenCommunity Member
Canvas has been a big pain for sure, lots of limitations we are trying to work around - the Storyline file has around 65 quizzes out of 96 slides, and quite a few areas that link to Canvas upload locations. Since the storyline is using the SCORM_2004 format, do you think I could use the correct_response statement that is sent to Canvas to solve for this? And just use those answered questions as a way to track progress? Not ideal, but wondering if that's possible.
Also, do you have any suggestions about how to automatically write a variable to an online spreadsheet or database?
Thank you!- MathNotermans-9Community Member
I use firebase/firestore for variables all the time. That works perfect. You probably can use the correct response, points or % to do what you want. If you have admin rights on your Canvas ( institution wide) you can use the canvas api and do a lot more.
Related Content
- 22 days ago
- 5 months ago
- 2 months ago
- 6 months ago