SurpassLocal - Operation

This article focuses on SurpassLocal after it has been installed, what happens during the synchronisation process to download and upload test data, and how SurpassLocal fits in with the central Surpass service. 

Surpass Central

This section will describe how SurpassLocal fits in with the Surpass central service, and any settings that users will need to be aware of when building their assessment or scheduling test sessions. We will also help provide useful information about the states that are viewable in Test Administration, which invigilators will use to monitor test sessions. 

Test Creation

As well as ensuring that a centre is set up for offline delivery (CMS does this during the SurpassLocal setup process), a test must also be valid for offline delivery. In "Advanced Settings" on the tests tab in Test Creation, there is the ability to specify a test's distribution. For a test to be available to be scheduled for SurpassLocal delivery, this setting must be "Offline" or "Both". If this is set to "Online" the test will not be available to schedule for SurpassLocal delivery in the main Surpass user interface.


Once SurpassLocal has been installed and the centre and test are authorised for offline delivery, a user can schedule a test for SurpassLocal delivery in the Surpass user interface. This can be done in Test Administration in the schedule exam wizard. When a user gets to the below dialogue window there will be an option for offline or online delivery. Offline must be selected for SurpassLocal to download this test. SurpassLocal will not download tests that have been scheduled for online delivery.

If you are scheduling your tests via the Surpass API, it is worth knowing that all tests scheduled to offline authorised centres are scheduled for offline delivery. The same rule applies for centres only authorised for online delivery; it will always schedule these tests for online delivery. 

Central States and Sub States

Once a test has been scheduled and is within the "Advance Content Download Timespan" specified within Test Creation, it will lock and become available within the Invigilation screen in Surpass and be available for download to the SurpassLocal server. In the Invigilation tab of Surpass, states can be viewed for all test sessions, allowing administrators or invigilators can track test sessions are being delivered. There are a few states which relate to SurpassLocal, and can help you identify if they have been downloaded or uploaded successfully. Below are examples and explanations of these states:  

The above red arrow symbol relates to the Surpass state "Ready for Download". This means the test has been scheduled for offline delivery and is waiting for the SurpassLocal server to download the test content. If all test sessions for a particular centre are in this state, it informs administrators that some tests still need to be downloaded to the local server. If they remain in this state then it will identify to the administrator that there could be a problem synchronising with this test centre. 

The above green arrow symbol relates to the Surpass state "Downloaded to Local". This means the test has been downloaded to the SurpassLocal server. This test does not have a sub state yet so the SurpassLocal server state has not yet been synchronised to Surpass central. This state can be useful for administrators and support staff so they can identify tests that have been downloaded.

During the synchronisation process of SurpassLocal and Surpass (details below), states are also communicated so users of the central service can identify and track the progress of test sessions that are being delivered locally. Sub states available are Locked, Ready, In progress, Paused, and Awaiting upload. These states are described in detail in the main Surpass documentation. Synchronising sub states will only work if there is a connection between SurpassLocal and Surpass central, if this is not present the test session could still be in progress but just being delivered via the SurpassLocal network.  


SurpassLocal will have two main points of communication after it has been installed; CMS and Surpass. It also needs to be stated that SurpassLocal will communicate with all other Surpass instances on its associated HUB that the Surpass centre reference exists on.  

Below we have provided a diagram that show the information that is being synchronised between SurpassLocal, CMS and Surpass.


SurpassLocal will communicate with CMS to check if there are any new Surpass instances it needs to be aware of, if there is a new instance this will be stored in the SurpassLocal DB so it can use this to poll when downloading and uploading test data. The SurpassLocal API user credentials are also synchronised so if there have been any changes on the CMS UI SurpassLocal will get these before they can be used. Also the version of SurpassLocal is stored when it is installed or updated, this is synchronised to CMS so an administrator is aware of the version it is on. CMS is called at 30 seconds intervals.

SurpassLocal will need to be able to communicate with the below address for it to synchronise this information:

Download - Surpass

SurpassLocal needs to be able to download test content, candidates, centres and any style profiles created. At 30 second intervals SurpassLocal will poll through its stored Surpass instances and download any tests that are in a central state "Ready for download" (This is signified by a red arrow icon in the Surpass central user interface) that match the centre reference SurpassLocal relates to.

To do this SurpassLocal will need to be able to communicate to all instances on your specified HUB.

Upload - Surpass

Once tests have been completed in SurpassLocal the synchronisation needs to finally upload these responses to Surpass central. At 30 second intervals SurpassLocal will poll through its stored instances and upload responses for tests that are in a "Finished" state that it has received. Once these have been received by Surpass central the state in the invigilation screen will be "Finshed" (this is signified by a tick icon).

To do this SurpassLocal will need to be able to communicate to all instances on your specified HUB.

Note: This address will change for staging or stabilisation environments. The above addresses relate to the production service.


As there is no user interface for SurpassLocal, all communications on the server are handled by the SurpassLocal web API. This allows users to retrieve and updated test sessions, add custom attributes to score reports, and amend proxy settings. Detailed information can be found here. The local web API will be available at the local server address specified during installation e.g.  http[s]://[hostname/ip]:[port]/


To check the version of SurpassLocal you are using, navigate to http[s]://[hostname/ip]:[port]/connectionwizard and select 'Technical Support Details'.

Feedback and Knowledge Base