CodeRunner Documentation (V3.1.0)

2.3 Installing CodeRunner from scratch

CodeRunner requires two separate plug-ins, one for the question type and one for the specialised adaptive behaviour. The plug-ins are in two different github repositories: and Install the two plugs using one of the following two methods.


  1. Download the zip file of the required branch from the coderunner github repository unzip it into the directory moodle/question/type and change the name of the newly-created directory from moodle-qtype_coderunner-<branchname> to just coderunner. Similarly download the zip file of the required question behaviour from the behaviour github repository, unzip it into the directory moodle/question/behaviour and change the newly-created directory name to adaptive_adapted_for_coderunner. OR

  2. Get the code using git by running the following command in the top level folder of your Moodle install:

    git clone git:// question/type/coderunner
    git clone git:// question/behaviour/adaptive_adapted_for_coderunner

Either way you may also need to change the ownership and access rights to ensure the directory and its contents are readable by the webserver.

You can then complete the installation by logging onto the server through the web interface as an administrator and following the prompts to upgrade the database as appropriate.

In its initial configuration, CodeRunner is set to use a University of Canterbury Jobe server to run jobs. You are welcome to use this during initial testing, but it is not intended for production use. Authentication and authorisation on that server is via an API-key and the default API-key given with CodeRunner imposes a limit of 100 per hour over all clients using that key, worldwide. If you decide that CodeRunner is useful to you, please set up your own Jobe sandbox as described in Sandbox configuration below. Alternatively, if you wish to continue to use our Jobe server, you can apply to the principal developer for your own API key, stating how long you will need to use the key and a reasonable upper bound on the number of jobs you will need to submit per hour. We will do our best to accommodate you if we have sufficient capacity.

WARNING: at least a couple of users have broken CodeRunner by duplicating the prototype questions in the System/CR_PROTOTYPES category. Do not touch those special questions until you have read this entire manual and are familiar with the inner workings of CodeRunner. Even then, you should proceed with caution. These prototypes are not for normal use - they are akin to base classes in a prototypal inheritance system like JavaScript's. If you duplicate a prototype question the question type will become unusable, as CodeRunner doesn't know which version of the prototype to use.