Configuring Questionmark to use PIP

Applies to the following products: 
Questionmark OnDemand
Questionmark Perception
Questionmark OnPremise
Applies to the following Perception versions: 
Perception 5.7
Perception 5.4
Perception 5.2
Perception 5.1

To configure Questionmark to use PIP, you must first create a PIP file. PIP files are ASCII files with the extension .pip, and are similar in format to Windows INI files. You can edit PIP files in any text editor.

If you have Office XP or later installed on the operating systems, double-clicking a PIP file will result in Windows presenting you with a warning message. This is because Microsoft Office uses files that also have a .PIP extension. If you are sure that the file you are trying to edit is a PIP file and not an Office file then it is safe to edit the file in a text editor.

OnDemand and OnPremise

PIP files are stored in Authoring > Resources > PIP.

Perception

PIP files for each repository are stored on the Perception server in C:\Perception5\Repositories\shared\<MyRepository>\pip.

...where <MyRepository> is the name of your shared repository.

Once you have created your PIP file, you can use PIP to: 

  • Call session.php directly.
  • Use callback.
  • Call a program at the end of an assessment.
  • Use the AICC support of PIP.
  • Branch to another assessment at the end of an assessment.

These tasks are described in the following sections.

Calling session.php

The most common approach is to make a direct call to session.php, adding the parameter:

CALL=<pip_file>

...here pip_file is a PIP file name (this can be blank). You can put the .pip extension in or not as you choose. If you leave the PIP file name blank, then the default PIP file is used. For example, these might be possible calls:

http://www.questionmark.com/perception5/session.php?CALL=mypipfile.pip

http://www.questionmark.com/perception5/session.php?CALL=mypipfile

You then add further parameters on the command line, for example the Assessment ID and Participant Name. Thus the call will look similar to:

http://www.questionmark.com/perception5/session.php? CALL=mypipfile&SESSION=1234567890123456&NAME=MyName

This call will use the PIP file mypipfile.pip, and will pass in the assessment ID and participant name into the call. If a PIP call includes an EXPIRES parameter and this parameter specifies a time earlier than the time when an PIP call to session.php is made, then session.php will not run the defined assessment. The EXPIRES parameter should be in the format:

DD:MM:YYYY:HH:MM

An example call using the EXPIRY parameter would be:

http://www.questionmark.com/perception5/session.php? CALL=mypipfile&SESSION=1234567890123456&NAME=MyName&EXPIRY=31:10:2010:13:00

If this call is made after 13:00 on the 31st of October 2010 an Access Denied error message will display, because the possible time period for this call to occur has expired.

Using callback

A variant of calling session.php directly is to use callback to obtain the parameters instead of passing them on the command line. The URL of a program to call is either passed on the command line or stored in the PIP file. This program is then called by session.php to obtain the assessment ID and participant name, and is usually also called later to pass information back on the results of the assessment. This communication happens directly between the server and the called program by HTTP, and so is not usually vulnerable to interception by the participant.

Calling a program at the end of an assessment

It's also possible to use a PIP file to call a program at the end of an assessment without calling the session from PIP. To do this, follow the appropriate steps below.

OnDemand and OnPremise

  1. In Authoring > Assessments, open the desired assessment.
  2. For the desired assessment outcome, click Branching. The branching dialog opens.
  3. From the Branching drop-down list, select Branch to another program or URL.
  4. In the Branch to another program or URL field, set the URL to be CALL=<pip_file> where <pip_file> is the name of your PIP file.
  5. Click OK, and then save the assessment.

You can add other parameters in the URL, including the name of a program to call. For example:

CALL=mypipfile&NOTIFY=http://www.questionmark.com/enterprise/pip_log.asp

This will use mypipfile.pip and make it call the pip_log.asp program.

Because such a call happens from within Questionmark, passwords and checksums are not needed to validate internal PIP calls made this way, whatever the settings in the PIP file. The assessment outcome PIP file is only used if the assessment is not already using a PIP file. If the assessment is started with a PIP file, then any reference to a PIP file in the assessment outcome is ignored.

Perception

  1. Use the Assessment Editor within Authoring Manager to edit the assessment outcome from which you want the call to happen. If you want it to happen for all assessment outcomes, then you need to make the change to each assessment outcome.
  2. Edit the branching settings for the assessment outcome to Branch to another program or URL. Set the URL to be CALL=<pip_file> where <pip_file> is the name of your PIP file.

  1. You can add other parameters in the URL, including the name of a program to call.

For example:

CALL=mypipfile&NOTIFY=http://www.questionmark.com/enterprise/pip_log.asp

This will use mypipfile.pip and make it call the pip_log.asp program.

Because such a call happens from within Perception, passwords and checksums are not needed to validate internal PIP calls made this way, whatever the settings in the PIP file. The assessment outcome PIP file is only used if the assessment is not already using a PIP file. If the assessment is started with a PIP file, then any reference to a PIP file in the assessment outcome is ignored.

Assessment monitoring

Assessment monitoring means that a Perception administrator needs to login prior to a participant starting an assessment. This would be done by an administrator who is proctoring or invigilating the assessment and would be used to allow the administrator to confirm the identity of the participant before they start the assessment.

Monitoring can be invoked when starting an assessment using PIP by passing a parameter called MONITOR with a value of 1. This can be passed on the command line URL with other parameters, or in the PIP file, or from a callback. If no MONITOR parameter is passed at the beginning of a PIP assessment the assessment may still require monitoring if this has been set as required when the assessment was created.

If an assessment was started from PIP and group information was passed, then the group name will be checked to see if it corresponds with a group in Questionmark. If it does, then the monitor will be required to either an authoring owner of that group and to have permission to monitor schedules in that group or be an administrative user with monitoring permission for all groups.

If the PIP group does not correspond to an existing group (that is, the group was passed for reporting purposes only), then any user with monitoring permission will be able to monitor the assessment.

Branching to another assessment when using PIP

It is possible to branch to another assessment when using PIP. If you plan on doing so, there are a few things to keep in mind:

  • Only the results of the first assessment are passed back to the LMS. The consequent assessment results are only stored in Questionmark.
  • The PIP branching applies to both SCORM 1.2/2004 and AICC.
  • If you use the USEHOME=1 setting, only the Home button on the final assessment will have this functionality, and the previous assessment will show a Next Assessment button at the end.
  • If you are using a Javascript based API to communicate with your LMS (SCORM), the result data is passed back to the LMS when the window is closed (via the Close button or the if the browser window is closed).

For more information regarding branching to another assessment, please refer to: