How to reset a one slide presentation used as xAPI

Problem: I’m new to AP, loads to learn yet. I’d really appreciate some guidance as I’m beginning to go round in circles, changing things, getting myself confused and probably making it more complex than it needs to be.
So, could you tell me: what is the correct way to reset a slide/presentation, so that it starts as new, when you go back to it from another page (or refresh the page) on an LMS/website?

ActivePresenter version: ActivePresenter Pro Edition
Version 8.5.6 - 64-bit build. (Released: 2022.04.12)
OS: Windows 10 Home

Notes: Here’s more info behind my question:
I’m creating a single slide interaction. It uses 12 drop areas, with a correct message/image-tick for each, and a variable which shows a well done message if all 12 are correct. I’ve set the drop areas and message to disabled once correct (showing the correct answers). On export preview the interaction works great, correctly, whatever order its completed in.

I’m exporting it to xAPI and uploading to a page in our LMS. It works there too, except if you go to a different page, say with only some of it attempted, and come back to it, or refresh the page, it doesn’t reset and does some weird things, keeping the drop areas filled, but not showing the correct ticks, and putting the drag items on top in some cases. It’s not the LMS itself as I tried it on a basic wordpress page outside of that too and the same happens. It shouldn’t be being cached. The LMS is set not to cache on Cloudflare. I tried purging cache to check. Also doesn’t respond to clearing browser cache.

Things I’ve tried…

  • Clear user input all … in various places… including on load & on unload
  • I have the slide set to auto advance, even though there is nowhere for it to advance to.
  • I’ve played about with the retain state feature. Whatever I do doesn’t seem to affect the uploaded behaviour. I guess that’s because that feature is designed to work between slides.
  • I’ve put on a ‘reset button’ which uses ‘restart presentation’, and that works fine when used manually. I’m not using a toolbar. But I’d rather it was done automatically for the user when they revisit the page.
  • Maybe I need a blank end slide so it moves away from the interaction?

Any advice welcome, thank you … :smiley:

Hi Sarie,

Once submitted, interaction states will be saved to the LMS and restored when the user revisits the page.
You can add the following script to Project > Properties > Event to clear all saved states:

if (prez.resultReset)
    return;
prez.resultReset = true;
setTimeout(function() {
    prez.restart();
}, 0);

Regards

That’s brilliant. Thanks so much, it works perfectly.

I hadn’t thought through that I was now starting to use an LMS as an LMS, rather than just a collection of webpages. More to think about as we proceed. But the code works perfectly for what I need just now. Thank you!

That’s useful :white_check_mark:

It might be helpful to many users if we could start building a code library to share
regards

Bernard

Hi Bernard,

Users usually don’t need to code when working with ActivePresnter. It’s required just in some special use cases. You can read the section “Custom JavaScript in HTML5 Output” in the user manual for a list of JavaScript APIs that ActivePresenter supports.

Regards