Admin setting for bypassing suspend_data limit for SCORMs ineffective in Moodle Mobile App

Admin setting for bypassing suspend_data limit for SCORMs ineffective in Moodle Mobile App

by Amita Takke -
Number of replies: 3

Hi Team Moodle,

We faced what seems like a limitation with the Moodle Mobile App's treatment of the suspend_data for the SCORM module. Please find below our finding, testing and workaround which we find takes care of this issue for now.

As we understand, SCORM 1.2 standard has a limit of 4096 bytes/characters for the cmi.suspend_data field that tracks a user’s navigation and progress through a SCORM and the bookmarking feature relies on this to resume user progress from previous location. To bypass this limit, one has to ensure that the setting at admin > plugins > activities > SCORM called "SCORM 1.2 standards mode" is unticked (refer https://moodle.org/mod/forum/discuss.php?d=359410). This will increase the limits within Moodle for suspend_data (and other vars)

We discovered that this works when a user is accessing the SCORM from a browser, but does not work when a user is accessing a SCORM from the Moodle mobile app. Given below is the testing we did to analyse this. We used 3 courses of varying sizes (no. of slides)

Course 1 - 88 slides

Course 2 - 31 slides

Course 3 - 100 slides

Given below is the behaviour we saw when we exited the courses at various slides and the resumption point bookmark for a workstation and mobile.

  

We are using iSpring Suite to create our SCORMs and our courses are typically in the finance domain. We tested this only on Android. We tested it once on iOS, but as our clients use Android, we stuck to that.

After investigating and a code search, we located the following parameter which might be setting the limit for the suspend_data limit

moodleapp-4.0.2\src\addons\mod\scorm\classes

File name: data-model-12.ts

Class: cmi.suspend_data

string: CMI_STRING_4096

const CMI_STRING_4096 (Standard Data Type Definition)

We asked our programming support outsourced team (we are not a programming organisation) to increase the value from 4096 to double or triple that number (e.g. const CMI_STRING_4096 = '^[\\u0000-\\uFFFF]{0,12288}$';). We found that after this change is incorporated, the Mobile App worked properly and the bookmarking worked as expected.

Conclusion.

We believe that the moodle mobile app has not factored in the setting for unticking of "SCORM 1.2 standards mode" as mentioned above.  We do not know the impact of the workaround we have put in place and hence, request to advise from the Moodle Mobile Team.
Average of ratings: -
In reply to Amita Takke

Re: Admin setting for bypassing suspend_data limit for SCORMs ineffective in Moodle Mobile App

by Dani Palou -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
Thank you Amita for such a detailed report! You've saved us a lot of research and debug in here!

I've opened an issue to take a look at this and fix in the official app:

https://tracker.moodle.org/browse/MOBILE-4191

If possible, can you please send us a SCORM that we can use to reproduce the problem? I'll send you some instructions via private message smile

Cheers,
Dani
In reply to Dani Palou

Re: Admin setting for bypassing suspend_data limit for SCORMs ineffective in Moodle Mobile App

by Amita Takke -
Dear Dani,

I have sent you SCORM package via wetransfer on given email id.

Thanks
Amita Takke
In reply to Amita Takke

Re: Admin setting for bypassing suspend_data limit for SCORMs ineffective in Moodle Mobile App

by Dani Palou -
Picture of Core developers Picture of Moodle HQ Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers

Hi Amita,

thank you for sending us the package. I was going to start working on it, but when I open the package this is what I see:

screenshot of SCORM


I tried enabling the setting you mention and the same happens. Do I need to do anything special to make it work?

Cheers,

Dani