Overview
This PowerLink allows an assessment hosted by QuestionMark Perception to be accessed directly from a WebCT section. User details are passed securely to the Perception server so there is no need for users to be pre-registered or for them to log into the Perception server. It is also possible for the assessment results to be saved in the WebCT Grade Book.
System requirements
The connect2QMP PowerLink is written for WebCT Vista 4.1.1 (or higher) and WebCT Campus Edition 6.1.1 (or higher) but has only been tested with WebCT Vista 8.0. It requires the webctdao.jar module to be installed on the application servers.
Description
Questionmark Perception is an on-line assessment package which provides more advanced question types and reporting than the Quiz tool built into WebCT. The software provides an interface (Perception Integration Protocol) which allows an assessment to be integrated with other applications using standard HTTP connections. This PowerLink uses this solution to allow assessments delivered by QuestionMark Perception to be opened from within WebCT without the need for any further authentication. It also allows any of the following data items about the outcome of the assessment to be passed back to WebCT and recorded in a GradeBook column (the descriptions for each are taken from the QuestionMark Perception documentation):
- score - the score in points for the assessment.
- percentage score - the percentage score.
- scoreband - the title of the end block or assessment outcome reached at the end of the assessment.
- time elapsed - the number of seconds since the start of the assessment (only if a time limit is set). This is not 100% accurate within PIP, but is roughly correct.
The assessment can be opened in a separate browser window or within the WebCT window.
Installation
This PowerLink is installed in the same way as any other WebCT Vista 4+ PowerLink:
- Create a directory called connect2QMP in the deployablecomponents area of the WebCT domain directory on each application server (including the administration server for a cluster).
- Copy the connect2QMP.jar file into the connect2QMP directory.
- Copy the webctdao.jar file into the same directory as the PowerLink or into the common directory so that it can be shared by other PowerLinks.
- Restart the WebCT service.
- Log into WebCT as serveradmin.
- In the Utilities, Settings area click on the link labelled connect2QMP module in the System Integration column.
- Enable the tool by selecting the radio button labelled True for the enable setting and click on the Save Values button at the bottom of the page.
- In the Utilities, PowerLinks Proxy Tools area click on the Add Proxy Tool button.
- Select connect2QMP module from the drop-down list and click on the Next button.
- Enter details as required in the boxes provided; for example:
- Proxy Tool Name: QM Perception assessment
- Version: 1.0
- Description: Open a QuestionMark Perception assessment.
- In the Utilities, Settings area click on the link labelled with the Proxy Tool Name entered in the previous step which should appear in the Tools column.
- Clear the tick in the Lock setting checkbox for the Enable Tool setting. Click on the Save Values button.
- Select the settings for the proxy tool again to enable the tool by default so that it is visible under the Add Content Link button within each section. Leaving it disabled will mean that Section Designers must enable the tool in each of their sections before it can be used.
A PIP file also needs to be placed on the QuestionMark Perception server; the location of the PIP directory is configured using the QuestionMark Perception Enterprise Manager (which is also used to enable PIP on the server). The contents of the PIP file depend upon the level of security being used for the connection between the servers. A PIP file using the recommended MD5 security level follows:
[Input]
NAME=webctid
GROUP=courseid
SESSION=id
S1=lastname
S2=firstname
[Output]
webctid=%SESSION.USER%
sectionlcid=sectionlcid
score=score
percent=percent
scoreband=scoreband
timeelapsed=timeelapsed
scoredata=%SESSION.SCORE%
percentdata=%SESSION.PERCENT%
timeelapseddata=%SESSION.TIMEELAPSED%
scorebanddata=%SESSION.SCOREBAND%
save=save
mac=%CHECKSUM%
[Security]
Level=md5
Key=SECRET
[Settings]
Method=POST
Header=Content-Type: application/x-www-form-urlencoded
OutputFormat=%s=%s&
The name of the PIP file is used below when configuring this PowerLink; the value of the Key (or Password) entries should be set to the same shared secret value as used to configure this PowerLink (see below). Lower levels of security can be used by changing the contents of the Security section in the PIP file as shown in the following examples.
Security level: Basic
Level=basic
Key=SECRET
Security level: Password
Level=none
Password=SECRET
Security level: None
Level=none
Note that the level of security refers only to communication from WebCT to QuestionMark Perception; a checksum is the only security method supported by QuestionMark Perception when returning data to WebCT. Samples of each of these alternative PIP files are included in the download file for this PowerLink.
Configuration settings
The connect2QMP PowerLink has the following custom configuration settings:
Name | Level [see note 1] | Required? | Default value [see note 2] | Comments |
---|---|---|---|---|
URL to session.dll | Server | Yes | https://www.qmp.server/session.dll | Check the QuestionMark Perception documentation for details on the correct address for this program |
Name of PIP file | Server | Yes | vista.pip | This file should reside in the PIP directory on the QuestionMark Perception server |
Security level | Server | Yes | MD5 | This must be set to one of None, Basic and MD5. MD5 provides the greatest level of security and is recommended. QuestionMark Perception does not support any other forms of securing data being passed. |
Details to use to identify source section | Server | Yes | Source ID only | QuestionMark strongly recommends passing a GROUP parameter which is used for reporting purposes. This can be set to identify the section and be made up of the source name and/or ID, the GLCID or the section name. Select None to omit this parameter. |
Password/key | Server | Yes | SECRET | This setting is used as the password or key for generating the Checksum and MD5 security parameters. [see note 3] |
List of QMP server IP addresses | Server | No | NA | A list of IP addresses from which Grade Book update requests from QuestionMark Perception may be accepted. Separate each IP address with a comma. Leave empty (or NA) to accept updates from any server. |
Assessment ID | Section | Yes | 16 digit number | The ID if the QuestionMark Perception assessment to be opened. |
Name of GradeBook column to hold score | Section | No | The name of the column in the GradeBook into which the score achieved in the assessment will be placed; leave blank to not record the score in WebCT. [see note 4] | |
Name of GradeBook column to hold percentage score | Section | No | The name of the column in the GradeBook into which the percentage score achieved in the assessment will be placed; leave blank to not record the percentage score in WebCT. [see note 4] | |
Name of GradeBook column to hold scoreband | Section | No | The name of the column in the GradeBook into which the scoreband achieved in the assessment will be placed; leave blank to not record the scoreband in WebCT. [see note 4] | |
Name of GradeBook column to hold time elapsed | Section | No | The name of the column in the GradeBook into which the time elapsed in answering the assessment will be placed; leave blank to not record the time elapsed in WebCT. [see note 4] | |
Which result should be saved? | Section | Yes | Last | This setting determines whether any data returned by QuestionMark Perception is saved, or not. It may be set to one of the
following values:
|
Notes:
- The level specifies the level of the learning context hierarchy at which this setting should be specified; it may, of course, be inherited from a higher level. Due to a bug in WebCT, value for settings at levels above Section should be edited for the module in the System Integration column of the Utilities area and not for the proxy tool itself in the tools column (see the known issues page for details).
- A setting value of NA is treated as an empty string; this is a workaround to the SDK bug relating to locked empty settings (see the known issues page for details).
- A password/key value of SECRET is ignored and should not be used to implement a secured connection.
- QuestionMark Perception has a bug whereby it calculates the security checksum when returning data to another system after it has encoded the values. A consequence of this is that, in order to verify the checksum value, the receiving system must replicate the exact encoding method used by QuestionMark. This bug was reported to QuestionMark in March 2005 but they have not yet been able to fix the bug, although they have provided an outline of the method used. However, it is still possible that the return connection from QuestionMark Perception to WebCT may fail if any of the column names contain characters which have been encoded differently. To minimise the risk of this, it is recommended that you only use standard characters when naming columns (such as letters, digits and spaces).
Usage
Follow these steps to add a link to a QuestionMark Perception assessment to a section:
- enable the tool (if it is not already) by selecting the proxy tool from the Manage Course, Settings page
- on the Build tab, click on the Add Content Link button and select the QuestionMark Perception proxy tool
- select an existing instance of this tool, or click on the Create button to add a new one
- enter a title to be displayed on the page and the 16 digit ID of the assessment (available from the QuestionMark Perception Authoring Manager)
- click on the Save button
The settings for each instance of the proxy tool can be changed by clicking on the icon from the Build tab.
Troubleshooting
If you experience any problems using this PowerLink try the following to trace the cause:
- check the assessment ID being used is correct
- check the column names used do not contain special characters (see note of the encoding bug in QuestionMark Perception under the Configuration settings section above)
- check the shared secret is set to the same value both in WebCT and in the PIP file being used
- ensure that PIP logging is enabled on the QuestionMark Perception server and check the log file
- inspect the webct.log file for any reported errors
- add a line containing log4j.category.com.spvsoftwareproducts=DEBUG to the log4j.properties file in the serverconfs directory; this will increase the logging level for the PowerLink
Note that the return of data from QuestionMark Perception to WebCT is implemented using an inbound authentication request to the PowerLink. This inbound request is failed once the data has been saved as no active session is required. Thus, any errors reported in the WebCT log files as a result of this unsuccessful inbound request are the result of normal behaviour and should be ignored.
Version history
Version | Date | Description |
---|---|---|
1.0.00 | 21 April 2008 | Initial release |
2.0.00 | 18 June 2008 | Added options to return data to WebCT |
Licence
This work is written by Stephen Vickers and is released under a Creative Commons GNU General Public Licence. The connect2QMP PowerLink is available for download from OSCELOT where it is also possible to report bugs and submit feature requests.