This documentation relates to an as-yet UNRELEASED CollectionSpace version.

Skip to end of metadata
Go to start of metadata

Please note that this wiki contains documentation in progress for the next CollectionSpace release, version 4.3. Pages will be updated as we move through the design, development, and release process. If you are looking for documentation for the current release, version 4.2, please visit the Current Documentation Wiki. All information in this wiki is subject to change.

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.

Page Table of Contents

Tip: The left sidebar makes finding documentation easier


To view the Table of Contents links in the left sidebar, click this icon in the upper-right area of this page:



Release Notes for v4.3


Areas of work under consideration for CollectionSpace Release 4.3 are listed below. These areas are subject to change based on input from our community.

  • Continued work on the community of practice profiles, including:
    • Final draft of the Anthropology profile and related extensions.  CSPACE-6793 - Anthro Profile Open
    • Final draft of the Local History and Material Culture profile and related extensions.
      (Profiles are groups of procedures, authorities, and domain extensions combined to support the work of specific communities of practice.
      Extensions are groups of extra fields, added to object, procedure, and/or authority records, which pertain to profiles.)
  • Refactoring and acceptance of a Django-based community-contributed framework for web applications, that uses CollectionSpace data and APIs.  CSPACE-6758 - Django Webapp Contributions Open
  • Exploring the possible use of a fast index-based technology (Elasticsearch) to potentially speed up several types of searches.  CSPACE-6760 - Support for ElasticSearch Open
  • Add support for Amazon S3 backend storage.  CSPACE-6761 - Support for Amazon S3 plugin Done .
  • Upgrade Service API to latest version of RESTEasy.  CSPACE-6281 - Service layer needs to upgrade to latest version of RESTEasy Done
  • Expanding the number of automated tests for quality assurance.  CSPACE-6754 - Automating QA test plans Open
  • Updates to the reporting software and documentation.  CSPACE-6792 - v4.3 Reporting Open
    • Update Jasper Reports library to latest stable version:  CSPACE-6223 - Update Jasper Reports library to version 5.2 (or latest stable version, if higher) Done
    • Improve end user documentation pertaining to reporting.
  • Improvements to data migration tools, including:
    • Development of an import / migration service that does not require the deployment user to manage IDs during an import

    • Improving the robustness of the migration endpoint by simplifying the datasource XML schema

  • Development of a Culture Object provider for CollectionSpace.
  • Other bug fixes as prioritized by the CollectionSpace community.

For the current list of issues - bug fixes, feature enhancements, and more, please see the 4.3 issues filter in the project's issue tracker. You can also track progress on the current sprint by viewing the team's Agile work board.


Changes you'll need to make when upgrading from version v4.1 or earlier to v4.2 or later

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: 


Migrating Binaries

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 variablePurpose / 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 _default  However, if your server will be part of a configuration where two or more CollectionSpace servers will be storing their data in the same PostgreSQL database server, set this instead to a unique name for your server; e.g., _myservername  (This string will be appended to the names of certain databases and database users, to help avoid naming conflicts.)

DB_HOST(no previous equivalent)The hostname or IP address for the machine/server running the PostgreSQL database server. E.g., localhost,, etc.
DB_PORT(no previous equivalent)The port number that the PostgreSQL database server is listening on. This is usually 5432.

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 a graphical client 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 ACCOUNTS and COMMON.) As a result, you'll need to rename that column in your database to reflect this changed expectation.

Assuming you have already connected via psql or a graphical client, connect to the cspace database:

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 $CSPACE_INSATNCE_ID id "_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 /etc/postgresql/9.3/main/pg_hba.conf.

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:


System Requirements

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.

Using CollectionSpace

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.

Installing CollectionSpace

CollectionSpace is installed on a server and accessed using a web browser. No software needs to be installed on your users' computers.

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.

Configuring CollectionSpace

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.

To learn about customization - extending the system's functionality by working with the system's Java and JavaScript source code or adding code of your own - please see Developing for CollectionSpace.

Maintaining CollectionSpace

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.

Upgrading CollectionSpace

If you have an older version of CollectionSpace and want to upgrade it to a newer version, Upgrading CollectionSpace provides pertinent tips.

Migrating to CollectionSpace

When you want to migrate your existing data into a CollectionSpace system, Migrating to CollectionSpace can help you do this.

Developing for CollectionSpace

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).

Hosting CollectionSpace

If you're hosting multiple CollectionSpace systems, whether in-house or as a service provider, Hosting CollectionSpace can help you find resources relevant to this task.

Reference Information

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.

Documentation Feedback

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.

  • No labels

1 Comment

  1. In the Configuring CollectionSpace section, a reviewer added this note:

    Need to elaborate on difference between developer and implementer documentation. Need to clarify not just what we mean by dev vs. implementer, but also when someone might want to use one set of documentation over the other (because they're not exclusive distinctions).