Picture of Oliver Foster
Re: cmi.suspend_data hinders Adapt to load correctly
by Oliver Foster - Friday, 13 May 2022, 8:24 AM
 

Definitely do no use sentences for the `_id` property. Please try following the convension in Adapt of using codes such as co-100, a-100, b-100, c-100. The suspend data, the place on the LMS where the course state is stored, has limited space, only 4kb. It is possibly the case that you're exhausing the suspend data limit.

Picture of Winston Ahsam
Re: cmi.suspend_data hinders Adapt to load correctly
by Winston Ahsam - Tuesday, 24 May 2022, 3:57 PM
 

Thanks for your reply, we'll look into using codes for the _'id' property.

That said, I don't think our problem is related to that. From what I see, suspend data is around 1200 bytes now, so there's plenty of free space to use.
From my testing, this seems to be somehow related to the "a" property inside suspend data. Unfortunately, I have not been able to locate anything dealing with this property in the code. I am not really familiar with Adapt code, so I may be looking at the wrong places. If you can point me in the right direction that would be great.

I say that the problem seems related to the "a" property because I found that this data looks different in working and nonworking attempts.
So, I tested editing suspend data for a non-working entry in the database, removing the "a" property altogether. After opening the course again, I see the "a" property regenerated, this time with the correct values, and now the user can take the course.
Another test that worked was copying a value from a working session: when I replace some of the values inside "a", that chapter works again.

In my previous post, you can see "a" data from a working and a non-working session. I noticed that these values are shorter in the non-working session. I assume that these are links to the chapters somehow, although I don't know how they are encoded. If I could decode those values, maybe we could get more info as to  where the problem is coming from.
 
Thank you.
Picture of Oliver Foster
Re: cmi.suspend_data hinders Adapt to load correctly
by Oliver Foster - Tuesday, 24 May 2022, 10:34 PM
 

Suspend data is also ASCII text, so you may have issues with some of the characters.

The a property is for the assessment.

https://github.com/adaptlearning/adapt-contrib-assessment/blob/8a4cbc7ed3fe25ee819f4733c9436080795bf375/js/assessment.js#L302-L311

Picture of Winston Ahsam
Re: cmi.suspend_data hinders Adapt to load correctly
by Winston Ahsam - Wednesday, 25 May 2022, 8:56 AM
 

Hi Oliver,

Thanx for this!!!! In a team discussion we wonder if the suspend data been sent is either incorrect or its missing/dropping some? For example a page has 5 test questions but only 3 get stored and somehow "Jams" the elearning. So the elearning isnt able to load correctly and all you see is the adapt loader. If you delete the users attempt the e-learning works again? So we know its the suspend data, but we dont know why this happens as its random. Do you have any theories to this?

Picture of Oliver Foster
Re: cmi.suspend_data hinders Adapt to load correctly
by Oliver Foster - Wednesday, 25 May 2022, 9:52 AM
 

Not realy, not without seeing the course I'm afraid. This is the first occurance of such a bug, so I'd need to be able to debug it to see what's going on.

It suggests to me that the save/restore functionality of spoor isn't reading your non-ascii characters correctly and is missing restoring some of the components.

It's hard to tell.

Picture of Winston Ahsam
Re: cmi.suspend_data hinders Adapt to load correctly
by Winston Ahsam - Wednesday, 25 May 2022, 11:12 AM
 

Hi Oliver,

I quite happy to share the elearning.zip for you to download? I also have a testsite but Ill need an ipadress. Is there a way to contact you via email? Our developer wrote this if it sheds light on anything. As I said this happens randomly. 99% of users have no issue. The other theory is possibly overload on the server database?

I managed to "unencrypt" the data, so we can look at the real contents.
This is an entry that works for chapter 2:
0,0,0,0,0,0,0,0,0,9,20,30,39,46,52,false,false,false,false,false,false
This is an entry that does not work:
0,0,2,0,1,0,0,0,0,30,9,false,false
 
As you say, it seems that less data is saved.
 
Now, if I look at the data for a working chapter 1 session, it has the same number of items as a non-working attempt for chapter 2.
0,0,0,0,1,0,0,0,0,38,8,false,false

 

I have no idea why this could happen, but it seems in a non-working attempt, the data saved has the same number of items as chapter 1, instead of each one being different (as it should be, as each chapter has different number of activities)
Picture of Winston Ahsam
Re: cmi.suspend_data hinders Adapt to load correctly
by Winston Ahsam - Friday, 27 May 2022, 5:26 AM
 

Hi Oliver,

We have reached a conclusion that what your saying seems to be the root of our problem. We never really thought of the Article/component titles as IDs that should be ASCII characters. We have long swedish titles and its seems when the algorithm is compressing/shrinking the data to save space it does not always do this correctly as we have some special characters. 

We read more here: https://scorm.com/blog/avoid-special-characters-in-scorm-runtime-data/

So were changing this and Ill report back if the issue resolves or continues. Thanx for the insight though it helped alot.

 

regards,

Winston

Picture of Winston Ahsam
Re: cmi.suspend_data hinders Adapt to load correctly
by Winston Ahsam - Saturday, 28 May 2022, 11:46 AM
 

Hi Oliver,

Even though I changed the IDs I can still replicate the issue. Can you see these logs to see if you notice anything?

https://cloud.scorm.com/sc/guest/ViewDebugLog?logId=fdbeca3f-0346-4618-ab2b-4a455e491c40&courseTitle=Hj%C3%A4rt-lungr%C3%A4ddning+Vuxen

 

Thanx,

 

Picture of Oliver Foster
Re: cmi.suspend_data hinders Adapt to load correctly
by Oliver Foster - Thursday, 9 June 2022, 3:31 PM