Logs are captured depending on how & where the platform app is used.
This is the most common scenario - someone signs into a single device and starts interacting with the content. The logs are uploaded as stories and streams are completed/viewed.
In this scenario, as soon as a user starts a story, their logs are sent to the server. If users are logged into any other devices and have the app open, the devices will listen for the latest logs (chapters, pages, story). If they switch to another device and continue the story there, the story will open where the user left off.
The server considers the latest timestamp on uploaded logs to be the master log. This allows multi-device transitions to work seamlessly.
If multiple attempts are allowed, a user can complete a story and then re-do it. The latest completion results will be stored in the story logs. If they have already completed the story and are then busy re-doing it, the logs will reflect the first attempt until the second attempt is completed.
If multiple attempts are not allowed, the user can complete the story and then view the story again (but can't re-do any of the activities again).
If users choose to re-do a story on one device and then remove the story before completing it, they can start the story again on another device and will be able to pick up where they left off before removing the story.
The platform allows users to switch between multiple devices and pick up where they left off. Logs are synced across devices to ensure a user can pick up where they left off.
Once all pages in a chapter are completed, the chapter is set to "Complete". Once all chapters are completed, the story is set to "Completed".