Forum Discussion
Rise Suspend Data - How to read it to fault find?
Hello Brainstrust. We are working on troubleshooting a BIG Rise course.
We have been running it as a Tin Can on the LMS. We have had issues with about 10% of users course completion recording in the LMS. The course takes approx 2.5hrs to complete.
I have the suspend data files from 2 users. Both users completed the entire course. 1 received successful completion recorded in the LMS, the 2nd did not (Eventhough we can see 100% completion of the course.) We have tried many methods of course completion from the unsuccessful suspend data to no avail.
My question - I want to compare the 2 sets of Suspend data to see whats different or missing in the unsuccessful course user. I have both files as a text file. How do I compare Rise suspend data or is there a key to reading it?
The successful course suspend data has 9259 characters, the unsuccessful suspend data has 9240 characters.
Thoughts ?
- JohnPinkster-19Community Member
I think that suspend data is just a base64 encoded JSON but it has been a bit since I looked at it. You should be able to take that string and decode it here https://www.base64decode.org/
- MalMacDowallCommunity Member
thanks for this tip. Im not sure what character set to set the decoding to. And then how I read it logically>?
- MalMacDowallCommunity Member
heres the 2 files for reference
- JohnPinkster-19Community Member
oh yeah ... this 🤪 .. give me some time to get out my cryptograph
- JohnPinkster-19Community Member
So Rise is using the LZWCompress library (https://www.npmjs.com/package/lzwcompress) to compress the suspend data in order to store everything they can to conform to the cmi.suspend_data size limit (various sizes for different scorm types)
I just made a quick CodePen that should give you what you are looking for. https://codepen.io/John-Pinkster/pen/qBzENJR
Just paste your full suspend data into that input and it will return something readable!
- MalMacDowallCommunity Member
WOW - Thats amazing - Like meeting an alien interpreter. Thanks, John, that's decoded it so I can work through the logic along with the course. Thanks so much.