Getting Started

DataPipe sends data from your experiment straight to storage you control — Google Drive, Dataverse, or Zenodo. This guide sets up one experiment end to end, from choosing a provider to your first test run.

1

Choose where your data goes

DataPipe writes each participant's data into your own account with one of the three storage providers below. The data is yours throughout — DataPipe only ever asks for permission to add files. You can use a different provider for each experiment, so this choice is not permanent.

Google Driveyour own Google Drive. Data lands in a folder in My Drive/DataPipe, or in a parent folder you pick.

Limits: free Google accounts share 15 GB across Drive, Gmail, and Photos. Uploads stop once that is full.

Dataverseinstitutional repositories run by universities and consortia — Harvard Dataverse, Borealis, DataverseNL, and others. Data lands in a draft dataset, in a collection you name.

Limits: your installation sets its own file size and storage limits. API tokens expire, often yearly, and DataPipe cannot renew them — data stops arriving until you reconnect.

Zenodoan open repository run by CERN. Data lands in a deposition that stays private until you publish it, and publishing issues a DOI.

Limits: 100 files and 50 GB per record. DataPipe merges completed sessions into archives so a long study stays under the file limit.

You need an account with whichever provider you choose: Google Drive, your Dataverse installation, or Zenodo.

2

Connect your storage provider

Go to your Account Settings and find the Storage Providers section. Click Connect next to the provider you chose. A green Connected label confirms it worked.

Google Drive and Zenodo hand you to their own sign-in page to authorize DataPipe, then bring you straight back.

Dataverse opens a short form instead. It needs the full address of your institution's installation — for example, https://dataverse.harvard.edu — and an API token, which you create under the API Token tab of your Dataverse account.

You can connect more than one provider, and disconnect any of them from the same screen. Disconnecting stops new data from reaching that provider. It never removes data already stored there.

3

Create a DataPipe experiment

Click New Experiment in the navigation bar. Pick your storage provider at the top of the form and give the experiment a Title. The rest of the form changes with the provider:

Google Drive — nothing else is required. To keep the data somewhere specific, click Choose Drive folder and pick a parent folder. Otherwise DataPipe creates the folder in My Drive/DataPipe.

Dataverse — the collection alias, which is the short name from your collection's URL, plus the author name, contact email, and description that Dataverse requires for every dataset. Subject is optional.

Zenodo — the creator name and a description for the deposition. Affiliation is optional.

Click Create. DataPipe makes the folder, dataset, or deposition for you and opens the experiment dashboard, which links straight to it.

The dashboard this opens is where you get the experiment ID, watch sessions arrive, and change any setting later. Creating an experiment

4

Configure the experiment

The experiment dashboard has several optional features you can enable:

Condition assignment — request the next sequential condition number. DataPipe cycles through conditions (0, 1, 2, ... back to 0).

Data validation — check that incoming data is valid JSON or CSV. You can also specify required fields. This helps prevent malicious submissions.

Session limit — cap how many data files DataPipe will accept. You can raise the limit later.

Psych-DS metadata — automatically produce metadata adhering to Psych-DS, updated after each session. See how it works in the docs.

Only activate the features you need, and only during active data collection. DataPipe creates an open path into your storage provider — validation and session limits reduce the risk of unwanted submissions.

Each of these settings has its own page, with the fine print on conditions, validation and session limits. The four switches

5

Add code to your experiment

Add code to send data from your experiment to DataPipe. If you use jsPsych, the easiest option is the jsPsychPipe plugin. Otherwise, you can use the DataPipe API directly with fetch requests.

The code is the same whichever storage provider you chose — your experiment sends data to DataPipe, and DataPipe handles the rest. Your experiment dashboard has ready-to-use snippets for both jsPsych and plain JavaScript. Go to My Experiments, select your experiment, and copy the code from the Code Samples panel.

The same snippets, plus what each response means and the 32 MB request limit. Sending data from your experiment

6

Publish your experiment online

Host your experiment on any web server — university hosting, GitHub Pages, Netlify, etc. Below is a quick guide for GitHub Pages.

7

Activate and test

Back on the experiment dashboard, turn on the features you need:

Enable data collection — for sending text files (JSON, CSV).

Enable base64 data collection — for binary data like audio, video, or images.

Enable condition assignment — for automated condition cycling.

Run through your experiment once to check that the data arrives. The experiment dashboard links straight to your Drive folder, Dataverse dataset, or Zenodo deposition — your file should appear there shortly after you finish.

8

When data collection ends

When your study is finished on Zenodo, finalize the experiment from its dashboard. DataPipe merges every remaining data file into a single archive and stops accepting new submissions, which keeps the deposition under Zenodo's file limit and makes the dataset easier to share and cite. Finalizing cannot be undone, so do it only when you are certain no more data is coming. Google Drive and Dataverse don't have that file-count ceiling, so there is nothing to finalize there — just stop sending data when you're done.

On Zenodo, finalizing prepares the deposition but does not publish it. Publishing the record, and with it issuing the DOI, stays your decision and happens on Zenodo itself.

What finalizing does, which providers support it, and what happens to any uploads still queued when you finalize. Finishing a study

Created by the developers of jsPsych ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

Test environment. Data sent here is not preserved. Do not sign in with production credentials.