Sending Inquisit Web Data to Your Own Server

By default, Inquisit Web saves remote data to your account on millisecond.com, where you can login with your browser at anytime to download it. Inquisit currently has servers for running experiments and storing data in the United States and the European Union, with other regions to be added.

For those wishing to store data on your own servers, Inquisit Web offers two options. First, data can be sent to Millisecond's servers and then forwarded to an HTTPS endpoint of your choosing. Second, the script for your test can be configured to upload data directly to an HTTPS endpoint of your choosing.

Data Forwarding

Data forwarding can be easily enabled on the Advanced Settings panel of experiment settings, shown in the image below.

Data Forwarding

You can choose to save a copy of the data file in your Millisecond account or remove the file once it has been forwarded. Data forwarding supports four different protocols for sending data.

Multipart/Form-Data Post

With this method, data are forwarded as multipart/form-data using HTTP POST. A user id and password can be specified for basic authentication. This is a well-documented standard used by HTML forms to upload files to a server.

The POST includes the following fields:

REST: HTTP POST or PUT

With this method, data are forwarded the using REST convention with HTTP POST or PUT. A user id and password can be specified for basic authentication. The data file is contained in the body of the POST/POST.

The specified endpoint serves as the base path of the rest call. The REST call is made with the following query parameters:

Amazon Web Services S3

With this method, data are sent to an arbitrary AWS S3 bucket. A user id and password can be specified for AWS authentication. The resulting data objects include the following metadata:

Data Uploading

Data forwarding provides a simple, reliable way of transfering data from Millisecond's servers. In some situations, it may be preferrable for data to be sent from the participant directly to your own server without ever being processed by Millisecond. This is possible by modifying the script for your test, specifically the data element.

<data>
/ file = "https://www.example.com/upload"
/ password = "mypassword"
/ userid = "myuserid"
</data>

The file attribute specifies the endpoint to which data are sent via REST as an HTTP POST. The body of the POST contains the data file. Data files are usually uploaded in gzipped format, as indicated by the Content-Encoding header.

The userid and password attributes allows you to specify basic authentication login credentials for the HTTPS POST.

The REST call is made with the following query parameters: