As an archivist, I would like the ability to batch publish/unpublish selected archival objects in a given resource record


Currently (as of v2.7), there are two ways to change the publish status of archival objects in the ASpace staff UI:

1) Select "publish all" from the resource record to publish all archival objects linked to the resource record
2) Open each archival object individually, check publish checkbox, then save

Often, we (Duke) need to batch publish/unpublish selected archival objects in a resource, but not all archival objects in a resource. In many cases, we need to publish/unpublish all archival objects that are children of a given archival object (e.g. all files in a series or subseries).

I can see two possible ways to implement a feature that might meet this need (there are probably others...)
1) Enable an option to batch "publish all" or "unpublish all" from any archival object that has child objects. For example, clicking "unpublish all" while viewing a parent archival object record would uncheck all publish checkboxes for child components of that archival object.

2) Generate checkboxes for each archival object in the tree view that could be quickly toggled checked/unchecked without having to open each archival object record. This functionality could be available in a different "mode", similar to re-order mode.

Option #2 could maybe be addressed alongside the feature request described in


Randy Kuehn
June 29, 2020, 4:35 PM

Dev Pri. discussed this ticket and is recommending sending it to the Usability team for further investigation.

Natalie Adams
August 26, 2020, 8:58 AM

Just spotted this ticket and wanted to add strong support from Cambridge University Library (plus 29 other partner repositories in our AS instance) for implementation of this. It would make a big difference to workflows and the usability of AS for us.

We are migrating huge datasets to ArchivesSpace at the moment and we have several catalogues of ongoing corporate bodies where only parts of the catalogues can be published/made available. Option 1) described by Noah would be really useful and would save an enormous amount of clicking.

Nick Butler
September 15, 2020, 8:07 AM

Since this was a very important issue for us at Cambridge (see my colleague’s comment above), I’ve written a small plugin which allows for publication and unpublication at any level in a resource tree (i.e. if you have the correct permission, “Publish All” and “Unpublish All” buttons appear for both resources and archival objects, and affect the open record as well as all descendant records). It makes use of inbuilt publish! and unpublish! functionality, mapping them to new API routes that correspond with the inbuilt resources/:id/publish route. It hasn’t been tested extensively, but it seems robust enough. GitLab link here:




Noah Huffman