Choosing a provider

Compare Google Drive, Dataverse, and Zenodo, and see what each one does with your files once data starts arriving.

Comparing the providers

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.

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.

Accounts you need

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

Once you have an account, DataPipe needs permission to write to it. Connecting and reconnecting

One provider per experiment

You can use a different provider for each experiment, so this choice is not permanent. You can also connect more than one provider to your account and pick between them each time you create an experiment.

What an experiment cannot do is change provider once it exists. Each experiment writes to the one Drive folder, Dataverse dataset, or Zenodo deposition DataPipe created for it. To collect the same study somewhere else, create a new experiment on the other provider and point the experiment your participants run at the new experiment ID — data already collected stays where it is.

Provider-specific behavior

The three providers are not interchangeable once data is arriving. These are the differences that show up mid-study.

Google Drive

DataPipe creates one folder per experiment, named after the experiment, either under a parent folder you pick or under a folder called DataPipe in your Drive. It creates data and data/raw inside it at the same time, so they are ready before the first participant submits.

DataPipe sets no file count or file size limit on Drive. The real constraint is your account's own quota — free Google accounts share 15 GB across Drive, Gmail and Photos, and uploads stop when that is full.

Drive allows two files with the same name in the same folder and never reports a conflict, so DataPipe's filename record — its own list of the names an experiment has used — is the only thing preventing a duplicate. Drive stores the file under the last part of its name, so two submissions that differ only in their folder prefix count as the same name.

Dataverse

DataPipe creates a draft dataset in the collection you name and never publishes it. Publishing stays your decision.

Dataverse accepts one write to a dataset at a time. When two participants submit at the same moment, the second write is refused, so DataPipe queues that submission and retries it about a minute later rather than failing it.

Dataverse never rejects a duplicate filename — it silently renames the new file instead, so a second README.md arrives as README-1.md.

Dataverse converts uploaded CSVs into its own archival .tab format unless it is told not to. DataPipe tells it not to on every write, but installations older than Dataverse 5.11 ignore that instruction with no error. DataPipe checks your installation's version when you create an experiment and warns you on the form if it is too old. JSON data is unaffected either way.

Zenodo

DataPipe creates an unpublished deposition and never publishes it. The link from your dashboard opens the deposit editor, not a public record, and no DOI is minted until you publish.

A Zenodo record holds at most 100 files and 50 GB — the only file-count ceiling among the three providers. It is why DataPipe merges completed sessions into archives on Zenodo as collection goes on, and why finalizing a study into one archive is a Zenodo feature only.

Zenodo has no folders. A file named data/raw/subject-1.json is stored as data_raw_subject-1.json, so a record with metadata turned on shows flattened names rather than a folder tree.

Writing a file that already exists on Zenodo replaces it, with no error — DataPipe's filename record is the only thing standing between a repeated filename and a lost session.

How DataPipe keeps filenames unique, and what the archives in your storage are. Filenames, archives and your storage

OSF

OSF is shutting down its projects feature, so DataPipe can no longer create new experiments there. Experiments already collecting on OSF keep running for now, and the data already there is untouched.

What changes, when, and how to move a study to another provider. Moving off OSF

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

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