Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

 

...

Column
width80%
Panel

Developing for XNAT

This is the stub for XNAT 1.7 developer documentation home page.

...

width20%

...

This provides shortcuts to many of the most commonly performed tasks when developing XNAT code:

What's New for Developers in XNAT 1.7?

XNAT 1.7 is very much a codebase in transition, as we are actively stepping toward an "XNAT 2.0" destination on the development roadmap. As such, there is a combination of old and new under the hood. For example, there are still Velocity templates for common report pages, but the new Admin UI is built in JSP using a YAML spec and a new-fangled widget spawner. 

As such, expect to find a lot of new content and controls in this section. 

 

Building a Dev Instance

XNAT build instructions for developers is much the same as the Vagrant Quick-install instructions for users, but with more customization options available. 

  • Setting Up An XNAT Development Instance

 

XNAT Under The Hood

External XNAT Development 

External developers can contribute to XNAT in a number of ways: adding functions, services and data types via plugins; adding processing capabilities via pipelines; or adding connectors between their own applications and XNAT data. 

With the advent of a mature XNAT API, it is easier for external developers to create a free-standing UI using whatever technology they choose, and connect all functions of that front end to XNAT services using the API. It is even possible, using CORS, to connect that front end to a remote XNAT. 

Plugin Development Guide

Content by Label
showLabelsfalse
showSpacefalse
cqllabel = "developer-plugins"

Uploading Plugins and Tools to the XNAT Marketplace

Pipeline Development Guide

Content by Label
showLabelsfalse
showSpacefalse
cqllabel = "developer-pipelines"
labelsdeveloper-external developer-pipelines

Migration Guide for XNAT 1.6 Customizations

Content by Label
showLabelsfalse
showSpacefalse
cqllabel = "developer-migration"

Best Practices for Development

  • Version Control
  • XNAT Developer Tools