I'm trying to figure out the best approach for handling registrations. Currently in our app a user gets assigned to take a test. When the user clicks the link to take the test, in the background we would create a both a SCORM Cloud registration and a record in our database that associates that user to the SCORM Cloud registration we just created, then we redirect the user to the launch URL.
I'm assuming we will be able to use the post-back to update our database record as the user progresses through the test, and if they do not complete it, we will be able to re-launch the same registration so they can complete the test. Once the user completes the test, we'd want to make sure we did a getRegistrationResult "full" and save that info in the database too.
So I'm wondering:
1) Does the above sound right?
2) After the user completes the test, do we deleteRegistration? Or is there any reason to keep the registration around?
3) Under what cirscumstances would you ever need to resetRegistration?
The resetRegistration call will not cause any new registrations to be created, and consequently will not increase your registration usage count for the billing period in question.
Would ResetRegistration cause a new payment?
Excellent, thanks for the feedback Tim.
[Note: At this point in my life, I'm mostly a sales person, so I could be a little off base, but I'll jump in since some of the developers are pretty hammered at the moment.]
You guys are definitely on the right track.
All of the top level assumptions are correct. You create the registration, you track it in your world (as we do in ours) and then you can receive data about that registration either through the post back or by requesting it.
After a user completes the registration, you could delete it, but there's no real incentive to do so. I would keep that registration around forever, because that would allow me to retrieve further detail later. (It could also have some impact on our reporting of that registration if you're using our reporting widgets.) Whether you delete it or not, you have already paid for that registration, so you might as well keep it.
ResetRegistration is essentially the same as deleting it and recreating it. It's essentially "start over". I could see resetRegistration being used during development more regularly than production.
Hope that helps. Ask further questions if you have them.
Any response? We are facing the same decision.