Skip to main content
Skip table of contents

Getting Started / Configuration

XNAT Populate is very much a new project, and there is very little error handling. If something goes wrong, the script will likely terminate and print a stack trace out to the command line.

XNAT Populate is a groovy project to push data into an XNAT instance, and runs on XNAT 1.7 or later. Its main uses would be to push a lot of data into an XNAT if the data can be organized according to the desired YAML structure, or to populate a demo/sandbox server with a variety of data.

Prerequisites

The script uses groovy with dependencies managed by Grape, but is only compatible up to Groovy release 3.0.23.

Running the Script

You can simply invoke the on the command line by:

BASH
groovy PopulateXnat.groovy <parameters>

The first thing XNAT Populate does is resolve dependencies, so it may appear to be hanging for a couple minutes when running it for the first time.

The script has the following parameters:

Short parameter name

Long parameter name

Required?

Takes argument?

Description

-u

--user

yes

yes

Specifies the XNAT user to upload data. For full functionality, the user should be an admin, but this is not strictly required to use only parts of the features.

-p

--pass

yes

yes

The password for the user specified above.

-s

--url

yes

yes

The site URL for your XNAT instance to populate.

-d

--data

yes

yes

This specifies a text file which defines the data to upload (separated by newlines). See Populate Data for more information about available data. Alternatively, instead of specifying a file, you can enter a comma-separated list of projects here.

-g

--config

no

yes

Specifies a YAML file as defined in Site Configuration to set site level properties.

-c

--clean

no

no

DANGEROUS. Add this flag to delete preexisting XNAT projects matching the data list. Don't use in production. Also, always back up your data just in case something goes wrong.

-r

--refresh-data

no

no

Semi-dangerous. Add this flag to clear out the data folder on startup. Useful to grab updated copies of data.

-y

--refresh-yaml

no

no

Add this flag to delete all YAML files in data folder on startup. Useful to grab updated configuration YAML.

-k

--insecure

no

no

Add this flag to ignore SSL errors on https sites. Useful for dev/test environments.

-su

--secure-users

no

no

Add this flag to only add existing XNAT users to created projects. Users that are specified in project configurations will not be created (to prevent insecure user accounts).

-e

--export-mode

no

no

Add this flag to use XNAT Populate to export data *from* your XNAT to the local file system in a format that it can understand (can then be used to send to a different XNAT).

-w

--delay

no

yes

Optional delay (in milliseconds) after each session import. Useful if rapid session imports is degrading performance on the server in constrained memory situations.

-m

--prompt

no

no

Add this flag to allow XNAT Populate to prompt you for your password instead of including it in the arguments.



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.