As an XNAT Administrator, or as a developer of new features, it can be very useful to setup a development instance of XNAT, then populate it with a set of example data to test against. There are several ways you can do this, with varying levels of complexity in setup and usage. This document contains an overview of two methods, though there may be others to consider.
Using the XNAT Populate Script
XNAT Populate is a groovy project to push data into an XNAT instance. It's 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. The script uses groovy with dependencies managed by Grape, so the only prerequisite is a recent groovy installation.
Full instructions are here: XNAT Populate
Using Puppet to Deploy a Copy of Production Data
At the NRG, we use Puppet to manage and deploy our XNAT production and development environments. This makes it possible to easily roll out a development version of a production site with a workable copy of production data. This development environment is totally firewalled from production, however, so no changes made to development data will affect any live data in your production XNAT.
For more information, see our IT Operations Documentation.