When Questionmark Perception is launched from an LMS using SCORM, Perception’s built-in user management system can’t be used. Perception receives user data from the LMS, and although it stores that data with the results of the quizzes, it can’t use the data for purposes of scheduling and limiting access to quizzes.

Unfortunately, our LMS, SumTotal 6.5, does not have a good way to limit attempts on a learning activity either. There is a rather inflexible option: If you set any learning activity to “allow access upon completion,” after the activity has been completed once, the user will only be able to launch the activity for purposes of browsing, but never take it again for credit. In other words, the user can not enroll again.

This isn’t always the best solution. For example, we wanted to allow two or three tries, depending on the quiz, and we never allow users to browse old quizzes.

So, it was necessary to create a system that would count the user’s attempts, and if they exceeded the specified number, to deliver instructions for remedial work instead of launching the quiz.

The way the system works is:

  1. the LMS launches “limitTriesSCO.htm”. This file is based on “PerceptionSCO.htm,” a SCORM wrapper that Questionmark created to allow Perception quizzes to be launched by and report back to a SCORM-compatible learning managment system (LMS).
  2. I added an iFrame to the wrapper. When the wrapper is launched, it checks for a score in the request. If there is no score, it assumes you have not taken the quiz yet, and goes into action.
  3. It sends the SCORM data: username and details and the assessment number (session number) to the iFrame page (“3TriesChecker.asp”).
  4. This page looks up and counts the number of tries by the specified user on the requested quiz in the Perception database.
  5. If the count is more than 3, it fires off a function in the wrapper page that alerts and emails the user, and closes the window.
  6. The emailing function is taken care of by yet another asp page in the iFrame, called “emailQuiz.asp.” On our setup, the emailQuiz page has to check a second database for the email address of the user, since that data doesn’t reside in our Perception database. You may want to alter this behavior, depending on where you keep email data.
  7. If the count is less than 3, it launches the quiz as usual.

    Download Files here