Questionmark's Open Assessment Platform

Installing the Moodle Connector

The qmc-2010042300 version of the connector works in a different way from previous versions.

If you are upgrading from a previous version of the connector you will need to create a new administrator in Perception for each Moodle user that needs to be able to create Questionmark assessment activities. The access control settings in Perception that apply to that user will also apply in Moodle, restricting which assessments they can select. To obtain the previous behaviour you will need to grant these users access to view all assessments in Perception's Enterprise Manager.


Perception 4 or higher (tested on version 4.4 and higher) and:

  • QMWise enabled in the Perception licence
  • Moodle installation (tested on version 1.9)
  • System Admin access to the server running Moodle
  • Moodle Admin access to the Moodle installation
  • System Admin access to the server running Perception (Perception 4 only)
  • Perception administrator access to the Perception server
  • If Perception security is desired (and is recommended), username and checksum (more details under Configuration) for a Perception user with the correct privileges to use QMWise (such as manager)
  • PHP's SOAP class available on the server running Moodle (more details below)


Installation of the Perception Moodle Connector is similar to installing any other module to Moodle, with some extra steps. The full process is as follows:

  1. Download the module package and unpack it to your moodle/mod directory, so you are left with a directory moodle/mod/perception
  2. Visit your admin page http://your_moodle_address/admin/index.php to finish the installation to Moodle
  3. Ensure your Moodle server has the PHP Soap client enabled. With the all-in-one Moodle bundle it is not enabled by default -- skip to the "Enabling Soap in PHP" section below. To check, log into Moodle as administrator and navigate to Server->PHP info. Search the page for "soap". If there is no Soap section or it reads "disabled" alongside "soap client", the Soap client is not enabled. See below for instructions on enabling it.
  4. Install the pip file into Perception.
    • Perception 5: Use the Resource Manager (part of Enterprise Manager) to upload the pip file into the repository
    • Perception 4: Copy or move the file moodle/mod/perception/moodle.pip to the pip directory on the server running Perception. This directory is usually C:\Program Files\Questionmark\Perception4\server\pip
    • Perception 4 only: Ensure the Perception setting "Enable automatic restart function" is switched on. This can be set (to 1) by editing the Perception config file by hand or by using the web configuration interface. Either way, after setting this the SetConfiguration QMWise method must be called (for instance from the QMWise test harness), Perception DLLs should be restarted and possibly IIS too. This step enables unfinished assessments to be later resumed.
  5. Log in to Moodle as administrator and navigate to Modules->Activities->perception. Enter your Perception server details (more information under Configuration). Use the "Test the connection" button to ensure the settings are correct.

Enabling SOAP in PHP

If SOAP is not enabled, the SOAP PHP may not be installed or it may be installed but not enabled. Installing the extension is beyond the scope of this documentation. On installations such as the all-in-one Moodle bundle Soap is installed but not enabled by default. To switch it on you need to edit the php.ini file which the web server is reading. The path to this file is indicated on Moodle's PHP info page (Server > PHP info) near the top, alongside "loaded configuration file". Open the file in a text editor and search for "soap". There will likely be a line to enable the SOAP extension commented out, and you'll just have to uncomment it. Otherwise, look for lines starting extension= and nearby add the line extension=php_soap.dll on Windows or on Linux and Mac OSX. Then restart your web server and check the PHP info page again.


  • Hostname
    • The address of your Perception server. This can be an IP address or hostname.
  • Port
    • The port on which your Perception server handles requests. By default this is port 80 for http connections to QMWISe. If you are using https (as recommended). then you should change this to port 443.
  • QMWISe path
    • The path to the QMWise handler. By default this is QMWISe5 in Perception 5 and QMWISe4 in Perception 4.
  • Use Perception security
    • Check this if you want to use Perception security headers. This makes calls between Moodle and Perception more secure—full documentation at:
  • Perception username
    • The username of a Perception user who can use QMWise (such as Manager).
  • Perception checksum
    • The security checksum matching the username. The only way to get this at the time of writing is to use the QMWise Test Harness. This process is documented at:

The "test the connection" button can be used to test the settings with instant feedback. Note that the first time a connection is attempted usually takes longer than subsequent tests. A successful connection will return the Perception version information. The settings are saved when the "save changes" button is pressed.


To uninstall the connector:

  1. Log in to Moodle as administrator and navigate to Modules > Activities > Manage activities.
  2. Click Delete on the perception row and follow the onscreen instructions, including the one to delete the perception directory from the Moodle server.
  3. Delete the moodle.pip file from the Perception server.