Anonymous tests

Anonymous tests are tests that can be administered to users for which no Drillster account needs to be available. The user of the test is anonymous from Drillster’s perspective, hence the name “anonymous tests”.

In order to use this functionality, a specific permission is required. This permission is available to all license holders, but is not enabled by default. In order to activate this functionality, an addendum to the contract is required.

The use of the anonymous tests comprises the following steps:

  1. Define a test
  2. Request a ticket
  3. Let a user do the test

Test administrators have access to real time management information, including which tickets have been used, when were tests done, how long did people take, scores and actual answers given.

Define a test

The process of defining an anonymous test is identical to how any other test definition is set up. The administrator for the anonymous tests selects the drill or drills from the “My Content” screen, and then select “Define a test”. It is also possible to select this operation from a drill’ detail screen.

Once the test definition has been created, find the item in the “My Content” screen and select “Set up as anonymous test” from the context menu.

Screenshot

The test is now visible in the list of managed tests. This overview is accessible through the “Tests” menu under the “Manage” section in the main menu.

Request a ticket

In order to do an anonymous test, a ticket is needed. A ticket is a unique code that is generated and made available to the administrator upon request. The administrator can then pass this ticket to the end user in the form of a URL to allow the user to access the test. The administrator retains the ticket number to check the status of the test and to retrieve the details after completion.

There are two ways to obtain a ticket for an anonymous test:

  1. Manually, through the Drillster website
  2. Automated, through the API

Tickets remain valid in principle, or until a test is removed. An end user has a single opportunity to use the ticket. Once a test is completed, the ticket expires. Obviously the ticket remains valid to the administrator as a reference to the test results.

Requesting a ticket manually

To request a ticket manually, first go the overview of managed tests by clicking the “Tests” link in the “Manage” section of the main menu. Next, find the test definition in the list and click on the vertical dots next to the name of the test definition. Now select the option “Request ticket”.

There’s the option to include some additional information, but it is not required. Now click on “Request ticket”. A test is prepared and a ticket is generated. The following information is displayed:

Screenshot

The “Test code” is a unique code for the test definition. This code is the same for all participants of the same test. The “ticket” is a unique code for the participant. In order to refer to the test and the results for the specific participant later, it is important to store both of these codes.

The URL shown here can be sent to the test participant. Through this URL, any random user is able to take the test a single time. Upon finishing the test, the URL is deactivated. Below are a few other ways to deliver the test to the end user. The user does not have to have a Drillster account, and thus there is no need to log in. Drillster is unable to determine the identity of the person taking the test – this is the responsibility of the one delivering the tests to the end user.

Automated ticket request

Tickets for anonymous tests can also be requested in an automated way by making use of Drillster’s API. The Drillster API facilitates a connection between an external system and Drillster, providing a secure way to communicate directly with the Drillster platform.

In order to make use of the API, the first step is to register an application with Drillster. This can be done by filling out the registration form for new applications.

The next step is to use the details from the registration process to request an OAuth token. This process can be done manually for a one-off token with a tool like curl, but it could also be built in into the software connecting to Drillster. The authentication mechanism is well documented in our page about Drillster’s use of OAuth. Keep in mind to request a token for the user account that owns the tests!

Once an OAuth token has been obtained, it can be used to request tickets for anonymous tests from Drillster. This can be done by making use of the POST test/…/tickets endpoint. This requires the test code that is also shown with the manual request for a ticket. The test code can also be taken from the URL for listing the test results.

Here’s an example executed with curl of a request for a ticket and the corresponding response:

$ curl -X POST -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIi…OiJXSHJr.DmqZWRDM…V4zctJ5R" \
  https://www.drillster.com/api/2.1.1/test/gVZQAV1AQTeLz8dFUkl7PA/tickets
{
  "test": {
    "type": "TEST",
     "id": "YzAE37w9AOQCCjIsPoJg2g",
     "name": "Leadership & Management test"
  },
  "ticket": {
    "url": "https://www.drillster.com/connector/player/YzAE37w9AOQCCjIsPoJg2g?ticket=kjXr4lztuX-NpScPFEcuLh",
    "code": "kjXr4lztuX-NpScPFEcuLh"
  }
}

It is possible to include extra details such as a name, email address and/or external reference. The response format is documented on the page about the 2.1.1 TestTicket object. See also the general information about the API.

Not anonymous after all?

With the request for a ticket, there are optional fields for real name, email address and a reference number. These fields can be used by the requestor to include on the test receipts (test reports) that are generated after completing a test. This information is purely optional, and there is no correlation between this information and possible Drillster user accounts. Should you need to guarantee that tests are truly anonymous, simply omit the values for real name and email address. The reference can be used to correlate Drillster’s test results with a record in your internal systems.

The reference number can be used as a secondary external reference to the test. Drillster knows the test by its test ticket. If an external reference is given, it will be printed on the test receipt. External references may contain letters, numbers and spaces.

Let a user do the test

After a ticket has been obtained, either manually or through the API, the end user can be directed to the test. This could be done by taking the URL generated by Drillster and emailing it to the participant. This step can be automated by checking the “send announcement email” checkbox, provided that an email address was filled in. It is also an option to use the URL dynamically in a web application that has knowledge of the user’s identity.

Another option could be to make an external web application request a ticket on demand, and redirect the user to the URL in the response immediately.

The URL is designed for letting users take the test on Drillster’s website. Obviously there are situations where this is undesirable. Because the test itself is a widget, the test can also be embedded in another website. This requires that the embed code is generated by the third party, based on the test code and the ticket. The URL in the embed code has the following structure:

https://www.drillster.com/connector/player/{test-code}?ticket={ticket}

See also the documentation on the use of widgets.

There is no built-in limit for how much time a user may spend on the test, unless a maximum duration is defined in the test definition. The time taken is always recorded, however. A test can be abandoned and accessed again, in which case the test will resume where the user left off. So if for any reason the internet connection is interrupted while doing a test, users may simply re-access the test through the URL they received and continue where they left off.

Insight into test results

As the administrator of anonymous tests, you will be interested in the test results produced by your test participants. There are three principal ways to obtain this information:

  1. Through the website
  2. Through the API
  3. By downloading test receipts

The possibilities of each of these methods are described below.

Viewing test results on the website

By clicking on “Tests” under the “Manage” section in the main menu, a list of all managed test definitions is shown. It is possible to filter specifically on “Anonymous tests”. Find the test definition you are interested in and simply click on “View results”.

This brings up a summary for that particular test, plus a list of all of the tickets issued for it. The summary includes how many tickets were issued, how many participants completed the test, and the average score for all participants having finished the test.

Below the summary is a list of individual tickets, with some information about whether the test was started and/or completed, and when the ticket was requested. If the test was completed, the final score is printed. Clicking on the score brings up the test receipt page, with the exact test score and meta data, plus a complete overview of correctly and incorrectly answered questions. If the test consists of more than one underlying drill, the score is also broken down into the underlying drills.

From the test receipt page, the results can be downloaded into a PDF document by clicking the PDF icon at the top of the page.

Obtaining test results through the API

The information available in the test receipt page is also available as raw data by making a call to GET /api/2.1.1/test-result/…/…, with the test code and ticket as the parameters.

Downloading individual test receipts

If you are looking to store test receipts in PDF format, and you have a list of test codes and tickets, it is also possible to download the test receipts directly in PDF format. The URL for these receipts is composed as follows:

https://www.drillster.com/bin/test-result/{test-code}/{ticket}.pdf

These documents can be downloaded using a tool like curl, as long as a valid OAuth token is used, for the user account that has access to the test results. For example:

$ curl -X GET -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJzdWIi…OiJXSHJr.DmqZWRDM…V4zctJ5R" \
  https://www.drillster.com/bin/test-result/gVZQAV1AQTeLz8dFUkl7PA/aGvVWAfn1tXcrUnKmzt83w.pdf

The receipts are formatted and branded by Drillster, but they can be styled differently if required. If there is a requirement to produce test receipts according to your company’s specifications, please get in touch with us.