Solution: Storyline block for text input and save to cmi.interactions (SCORM 1.2)

For anybody interested, I have developed a SCORM 1.2 Storyline block that can be used to collect input from a user on an LMS. The block can also be configured as a mandatory completion.

It is fairly simple to configure and publish to Review 360 for inclusion in your Rise 360 project.

There are a couple of configuration options:

id: Define the ID of the activity, e.g a question text. This is used for the and can be used to identify the question/response in the LMS report

charactercount: How many characters the user should enter before the Submit button is enabled. 

Unfortunately with it being a Storyline block, we cannot overcome the "Play button" requirement for mobile devices.

We made the decision to make the activity large, so that when it is scaled it is still legible on mobile devices.

Demonstration in the attached video.

26 Replies
Janelle McFeetors

This is a wonderful solution, Sam! We've even been able to store user responses for two separate questions in our LMS.

We'd like to do the same with Likert style questions (4-5 questions in a Storyline block). Have you been able to use a similar solution? Do you have an example *.story file? Any help would be greatly appreciated!

Sam Hill

Hi Janelle, I have a couple of Likert styles. One a slider and the other the more traditional radio button style. The rating is currently 1-5, but can be adjust to whatever you need.

Set-up and integration should be similar to the text input method.

Amber Moser


So, I downloaded and used the input block which worked with our LMS (Litmos). Now, I am trying to add multiple open ended questions in one block to create a quiz and the integration is not working past the first question. I've played around with the javascript (I'm not an expert) but I'm not making any headway. Has anyone else created multiple open ended blocks that upload completion to an LMS? 

Internal Training

If the RIse developers are watching - yes the community would like updates in this area.
But , It should be done in rise as blocks and  functions, not via storyline insert.

But thank you Sam for sharing and showing it can be done.

I had hoped when starting to use Rise that all the interactions possible in storyline, including likert,  would be made possible very soon for Rise as well. Turned out not to be the case. Why, i dont know.
Rise is due for a major update in that regard. I would even suggest that they offer an advanced section of blocks that can be expanded on frequent basis. based on user needs. 

Its not like it takes years to create these blocks, test and implement. So hoping to see a major update with relevant functionality blocks this year. At the very least to be on par with storyline.

Janelle McFeetors

Our team did get multiple input blocks working and storing to our LMS (Moodle through SCRM 1.2). However, we just ran into two issues:

1) If there is more than one input block on a lesson, then the response in the last block in the lesson replaces the response in the input block right before it -- when the user moves onto a different lesson and comes back. For instance, with 3 input blocks, block 1 remains unchanged, but block 2 gets overridden with block 3's response. We have "resume saved state" set but that doesn't seem to make a difference. However, in our LMS, all 3 distinct answers are saved (the user just can't go back and review their answers).

2) The input blocks in the subsequent lessons gets filled in with the response from  the last input block in the earliest lesson -- and then the user cannot enter any other responses.

When we were doing our testing a month ago, we didn't notice this issue at all! I'm not sure if we weren't paying attention or if something has changed in our LMS?!? We're just about ready to roll our module out to pilot users.

Sam Hill

Hi Janelle, for issue #1, did you ensure that each input is on it's own Storyline block, and has a unique ID set where {ID} is a unique ID:

When the timeline starts on this slide
- Set id to value "text-input-01"

#2 - This sounds related to #1, just ensure you have unique IDs defined for each of the SL blocks. This will mean, publishing each unique SL block to review 360. Ensure you publish the block to review 360 using the unique ID as the name too, to make it easy to identify when inserting into Rise.