Hi Rupert,
Yes, this is possible! The LMS
bookmark field is pretty small, so we only store the page number. But we already store (and restore) all the variables in the bigger LMS
suspend_data field. Usually this happens when the page changes, but you'll want to do it more frequently for your use case (after they view each item).
If you're not already tracking item-level completion with variables, you'll need to set up that functionality first (the bulk of the video below). If you
are already keeping track of which items have been viewed in variables, then you only need to call the "suspend_variables" global event after updating each variable to make sure its saved after each item is viewed.
Video -
https://share.smartbuilder.com/public/support/bookmark-and-suspend-data.mp4xAPI and
local storage are alternative places to "save" data. But if you're using a SCORM-compliant LMS, you can ignore those terms in the video.
Sample lesson attached (page 11 has the custom functionality). Hope that helps!
- Nav