Aron D. Roberts's picture

Kickoff of mission to rewrite CollectionSpace's user interface

CollectionSpace UI rewrite HTML snippet, Aug 2016

The user interface (UI) code for CollectionSpace, an open source, web-based museum collections management and information system, will be undergoing a major rewrite over the next 12 to 18 months, beginning with this month’s project kickoff.

This code underlies the visible part of CollectionSpace, with which its customers, across the US and internationally, including the staff who manage five major campus collections at UC Berkeley, directly interact when acquiring, cataloging, and moving objects, making loans, assessing object conditions, and performing other activities in support of their museums’ day-to-day business.

Ray Lee of UC Berkeley’s Research IT department is the lead for the UI rewrite project, code-named “Drydock.” This work is funded by a recent grant from the Andrew W. Mellon Foundation to LYRASIS, CollectionSpace’s institutional home.

Ray has written the first two of a series of blog posts that will share progress updates, along with occasional behind-the-scenes looks at the project. The original proposal for this re-write and a set of slides that present a technical overview give the project’s background and context. For those who want to follow along in detail, issues and milestones are also publicly viewable via the CollectionSpace issue tracker.

The project will replace the existing UI with newly-written code, markup, and configuration based on a set of open source software frameworks that are widely used in modern web-based applications and enjoy broad community support. The framework at the center of this rewrite, the React library, is based on composable components, whose properties can be changed and re-rendered. The rewrite will also simplify CollectionSpace’s code base and provide cleaner, far more concise HTML markup.

Collectively, these changes will have only minor impact on the user experience (“look and feel”) of using CollectionSpace - at least when initially introduced. However, they will make delivery of commonly-needed customizations far easier, as well as greatly enhancing the ability of the program team and the community’s code contributors to improve existing functionality and provide new user-facing features. And as a side benefit - based on what the team has seen in early prototypes - this work may also offer noticeable performance gains.