Web-based, open-source collections management software for museums and more ...
CollectionSpace is a web-based, open source collections management and information system for museums and other collecting institutions. You can use it to manage your museum's cataloging, acquisitions, loans, and many other activities.
If you're evaluating or implementing a CollectionSpace system, you can find readily navigable links to the currently available documentation in the left sidebar, as well as top-level links below.
- Release Notes for v4.2
- Using CollectionSpace
- Installing CollectionSpace
- Configuring CollectionSpace
- Maintaining CollectionSpace
- Upgrading CollectionSpace
- Migrating to CollectionSpace
- Developing for CollectionSpace
- Hosting CollectionSpace
- Reference Information
- Documentation Feedback
Areas of work for CollectionSpace Release 4.2 include:
- Upgrade the Nuxeo EP framework, the enterprise content management framework that serves as one of CollectionSpace's major underpinnings, to its latest version, 6.0.x. Related upgrades and improvements also include:
- Upgrade the Tomcat JEE container to version 7.0.x.
- Upgrade many Maven build plugins, tools, and POM files, resulting in dramatically faster build times. This in turn makes it faster to install CollectionSpace, as well as faster to develop, test, and deploy certain code and configuration changes.
- Ability to ship with OpenJDK (instead of the Oracle JDK), simplifying the installation process and making that process more reliable.
- Upgrade the Tomcat JEE container to version 7.0.x.
- Addition of a community-contributed Exhibition Planning procedure, to manage the planning and management of exhibitions. This procedure encompasses tracking the objects included in or considered for an exhibition, the people involved in the exhibition's activities, and the exhibition sections, if any. (For a list of fields included in this procedure, see Exhibition Management Schema.)
- Addition of the Fine and Contemporary Art profile, which incorporates the Fine Art Extension Set and Variable Media Extension Set. This is CollectionSpace's first community-defined profile, with more to come in future releases. As a quick overview of profiles and their constituent parts:
- A selected group of procedures, term authorities, and extensions, which support the work of a specific community of practice, such as fine art or anthropology, are referred to as that community's profile. (Often, procedures and authorities within the profile may be further configured, or even slightly changed, to better support the needs of that community of practice.)
- An extension is a group of fields added to a single procedure or authority to support the work of a specific community of practice. Extensions added to more than one procedure or authority are referred to collectively as extension sets.
- Documentation for implementing Extensions and Profiles is available.
- Fixes to any remaining critical stability bugs selected from a small list of spotlighted issues. (Most of these issues were addressed in the previous Release 4.1.)
- Other bugfixes as prioritized by the CollectionSpace community. The full list of issues to be prioritized may be found by following this link.
Changes you'll need to make when upgrading to version 4.2
Upgrading to Tomcat 7
You'll need to upgrade the existing CollectionSpace Tomcat 6 to the new CollectionSpace Tomcat 7:
First, you'll set up the new Tomcat folder (sample instructions given here for Ubuntu 14.04):
Go to the directory where you want to install CollectionSpace:
CollectionSpace runs in the Tomcat 7 application server and a pre-configured version of Tomcat 7 is provided.
Start by downloading the tomcat tarball:
Unpack the the tarball:
This will create an apache-tomcat-7.0.57 directory in /usr/local/share.
Next, make necessary files executable:
You can now remove the tarball:
Then you will need to update any existing environment variables to reflect the path to the Tomcat 7 folder. Most likely, this will only be:
but, depending on how you set your variables, may also include:
CollectionSpace (via Nuxeo) stores binaries, like images uploaded as part of Media Handling records, in a directory in tomcat. This directory will need to be manually copied over from Tomcat 6 to tomcat 7.
So, to copy over all the data from the core tenant you can run:
Binaries from other tenants will be in a
/usr/local/share/apache-tomcat-6.0.3/nuxeo-server/data/TENANT_NAME/. For the Life Sciences tenant, for example, the TENANT_NAME directory is
lifesci_domain, as defined in the lifesci tenant settings file in the application layer.
If Tomcat7 is running when the binary directories are migrated, it will need to be stopped and restarted.
Adding new Environment Variables
You'll need to add three new, required environment variables:
|New environment variable (CollectionSpace 4.2 and higher)||Replaces earlier environment variable||Purpose / notes|
|(no previous equivalent)|
A string identifying a specific instance of a CollectionSpace server. It should begin with an underscore. The recommended value is simply
|DB_HOST||(no previous equivalent)||The hostname or IP address for the machine/server running the PostgreSQL database server. E.g., |
|DB_PORT||(no previous equivalent)||The port number that the PostgreSQL database server is listening on. This is usually |
|JEE_PORT||(no previous equivalent)||The port number for the CollectionSpace services layer. This is usually 8180.|
Required Database changes
If you plan to continue to use your existing
cspace database after upgrading to v4.2 - and you will want to do that under nearly all circumstances - you'll need to - just once - make a few changes to the database to make it compatible with 4.2. To do so, connect to your PostgreSQL database server using either or the command line
psql client; log in via an account with administrative privileges, such as CollectionSpace's
csadmin account or the default
postgres account (if the latter is present).
(Note: if you've instance-qualified your CollectionSpace server, the name of the
cspace database might include an instance ID suffix and thus its name may look something like
cspace_myinstancename. If so, be sure to substitute that name for each instance of
cspace in the instructions below.)
Changing a database table column name
Starting with version 4.2, due to an upgrade of one of its components, CollectionSpace expects that, in the
accounts_tenants table of the
cspace database, the column formerly named
TENANTS_ACCOUNTSCOMMON_CSID will have been changed to a new name,
TENANTS_ACCOUNTS_COMMON_CSID (i.e. with an underscore added between
COMMON.) As a result, you'll need to rename that column in your database to reflect this changed expectation.
Rename this column in the appropriate database table:
Instance qualify existing databases and roles
You'll need to instance qualify several database and role names so they work with the instance qualification that was introduced in 4.2.
First weill instance qualify the tenant and nuxeo databases by appending the value of
$CSPACE_INSTANCE_ID to the database name. If using the recommend default value for
"_default", the core tenant database name will become
cspace_default. To rename the database, you can run:
Next, the same instance qualifying operation needs to be taken for the roles which operate on those databases.
When the postgresql role name is altered, the password for that role is reset, so for each role we need to reset the password to the value set in environment variables.
Finally, client authentication needs to be instance qualified as well, which is done by updating the pg_hba.conf configuration file, which is located (for Ubuntu) on at
Under the section starting with
# Rule Name: cspace user via IPv4 add a line for the instance qualified database.
and under the section starting with
# Rule Name: nuxeo user via IPv4 add
which should then look like:
Postgresql will need to be restarted after that change is made.
Ant Import Task
Finally, because 4.2 introduces a new tenant, the Fine and Contemporary Art profile tenant, the
ant import task needs to be run in the services layer code to ensure that admin users are created for that tenant.
To do that, navigate to the directory where you have checked out the services layer code, something like as
/home/cspace/cspace_source/services and then run:
In System Requirements, you can find the system requirements for running a CollectionSpace system, as well as a list of supported web browsers for accessing your system.
If you are new to CollectionSpace, you can get a good sense of how it works from the demo available on the CollectionSpace website.
The User Manual describes how to use CollectionSpace 4.1's features to manage your collections. This manual also provides a useful overview of CollectionSpace's basic feature set.
You can find general server installation instructions that apply to all supported environments in Installing CollectionSpace, as well as detailed instructions for several specific platforms.
If you are an implementer or consultant, you can adapt CollectionSpace for the specific needs of your museum or client via the documentation in Configuring CollectionSpace.
The documentation in Configuring CollectionSpace focuses on configuration: changing the behavior and the look and feel of the system by making changes via web-based Administration pages and by editing text files: HTML templates, CSS stylesheets, XML- and JSON-based configuration files, and properties files.
Once you have your deployment up and running, you'll want to take care of it. In Maintaining CollectionSpace, you'll find both operational suggestions and troubleshooting techniques.
If you have an older version of CollectionSpace and want to upgrade it to a newer version, Upgrading CollectionSpace provides pertinent tips.
When you want to migrate your existing data into a CollectionSpace system, Migrating to CollectionSpace can help you do this.
If you are building or integrating applications or scripts that talk to CollectionSpace systems, or are a CollectionSpace software developer, integrator, or implementer who wishes to extend the system's capabilities by working with its source code, you can find documentation on these topics in Developing for CollectionSpace. This topic area includes details about CollectionSpace's Application Programming Interfaces (APIs).
Reference Information provides supporting information and requirements for CollectionSpace, and includes general documents that are referenced from across two or more of the topic areas above.
Many documentation additions and updates are planned. Please feel free to comment on the CollectionSpace project's Talk Mailing List if you have suggestions for improving current documentation, or if there is documentation you would like to see in the future.