Skip to main content
Skip table of contents

Practical Session 4: Programming

Before beginning the steps below, please build the machine for this part of the practical. Review the detailed instructions for guidance on building workshop virtual machines.

./run xnat-41 setup

 

This session will introduce the concepts and techniques required to create plugins for XNAT 1.7. It presumes some understanding of XNAT and basic programming concepts, but doesn't delve into deep technical aspects of coding or the XNAT plugin framework.

Tip

If you want to follow along with the programming practical to learn the capabilities of XNAT 1.7 plugins but don't want to actually write code, you can download the completed XNAT workshop plugin. This is available as a git repository:

BASH
git clone git@github.com:XnatWorkshop/xnat-workshop-plugin.git 

You can also download the project directly if you'd rather not bother with the source control tools.

XNAT 1.7 differs from earlier versions of XNAT in that it supports a true plugin framework. That is, you can add functionality to an XNAT installation in the form of a fully compiled, self-contained package that is separate from your XNAT server but that, once enabled, runs in the same process space with XNAT as a fully integrated extension to your core XNAT server.

In this practical, you'll learn about the many features of the XNAT plugin framework, including:

A note on XNAT versions

The code samples throughout this section reference versions for XNAT libraries. The version given in these samples is the current development version, which is 1.7.0-SNAPSHOT. Soon, as XNAT 1.7 is released, the current version will become 1.7.0. Be aware that the latest version can and will change as libraries are fixed, upgraded, and updated. For any given dependency from NRG or XNAT, you can find the latest version by looking on our public artifact repository.

 

Resources

File Modified

 

JavaScript errors detected

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

If this problem persists, please contact our support.