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
- Using CollectionSpace
- Release Notes for v4.3
- System Requirements
- Installing CollectionSpace
- Configuring CollectionSpace
- Maintaining CollectionSpace
- Upgrading CollectionSpace
- Migrating to CollectionSpace
- Developing for CollectionSpace
- Hosting CollectionSpace
- Reference Information
- Documentation Feedback
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.
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.
- 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.
Upgrading from version v4.1 or earlier to v4.3 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:
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 |
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.
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.