One of the advantages of using ArchivesSpace is that it supports a range of archival functions, from accessioning to processing to preservation to public access. These functions are supported through a variety of features in the application. Features may be something as big as the new assessment module or as small as changing the location of a button on a form. As you would expect, there are always additional features that could be included, or ways to make existing features better. Our development catalog (http://development.archivesspace.org) includes information on many features the ArchivesSpace community has requested or considered over time.

ArchivesSpace membership dues support ongoing maintenance and upgrades for the application, as well as much of the most complex or highly prioritized feature development requested by the community. But we are always looking for community members interested in contributing additional features to the application, whether by developing the features themselves or subsidizing targeted development. Feature development for a community-supported application like ArchivesSpace can be very rewarding, as it will not only improve the ArchivesSpace you use, but also potentially benefit many people outside your institution and offer the opportunity to collaborate with other users. If you are considering developing a feature for ArchivesSpace, on your own or by contracting with a developer, we strongly encourage you to consider early in your project whether the wider community could benefit as well.

When thinking about feature development for ArchivesSpace, we think it’s useful to consider a few questions:

The last question requires some understanding of the different options for development for the ArchivesSpace application, which we lay out below.

1. Developing for the core code of ArchivesSpace

The ArchivesSpace core code is the code underlying the distribution version of ArchivesSpace. It is what it is included in a standard download of the application. The core code consists of all the functionality that has been generally agreed upon as essential to the ArchivesSpace application and developed up to the present time. It is maintained by the ArchivesSpace program and supported through the dues paid by ArchivesSpace members.

When developing a new feature, there are a number of advantages to developing it for inclusion in the core code, including:

There are some disadvantages to developing for the core code, including:

For features that are likely to be widely wanted by the ArchivesSpace community, the ArchivesSpace Program Team considers developing for the core code to be the best option. See ArchivesSpace Process for Evaluating Potential Feature Contributions to the Core Code for the process ArchivesSpace uses to consider whether a feature is appropriate for the core code.

2. Developing for a custom build of ArchivesSpace

A custom build of ArchivesSpace uses the core code of ArchivesSpace as a starting point but adapts it to local needs by making changes in the code itself.

Advantages to making a custom build, or situations in which you may want to do so, include:

Disadvantages to a custom build include:

3. Developing plugins for ArchivesSpace

A plugin is an enhancement that overrides or extends functionality of ArchivesSpace without requiring changes to the application’s own code. ArchivesSpace’s architecture is designed to support a range of plugins, and plugins can be a great introduction to developing for ArchivesSpace.

Some examples of use cases that may be best served with plugins include:

Some advantages to writing plugins include:

Some disadvantages to writing plugins include:


Christine Di Bella, the ArchivesSpace Program Manager (christine.dibella@lyrasis.org), and members of the Core Committers group would be glad to talk with you about any of these options. Christine would also be glad to talk with you about feature development that has already been prioritized by the community if you’re looking for ideas for projects. Please get in touch with us if you have any questions or interest about getting involved in feature development for ArchivesSpace.