This documentation relates to an earlier CollectionSpace version.

This documentation is for version 2.1. The current version is 4.0.
View this page in the current documentation or visit the current documentation home.

Skip to end of metadata
Go to start of metadata

Configuring CollectionSpace

CollectionSpace allows you - and your consultants or integrators - to adapt the system for the specific needs of your museum (or collection or heritage institution) through:

  • Configuration, changing the behavior and the look and feel of the system by:
    • Editing text files that control its behavior and appearance, such as various configuration files, HTML template and CSS stylesheet files, etc.
    • Editing values directly on web-based Administration pages, where such pages are available. Currently, in version 1.9, there are Administration pages through which you can edit user accounts, roles and permissions, and lists of controlled terms. More Administration pages will be coming in the future.
  • Customization, extending the system's functionality by adding or editing Java and JavaScript source code.

This document, together with its related documents, describes how to configure CollectionSpace.

If you or your consultants or integrators are interested in customizing CollectionSpace, which requires programming skills, please check out the system's source code, and then refer to developer-oriented documentation on the project's main wiki. You can ask questions on the project's Talk list.

Creating a configuration space ("tenant") for your museum or collection

To configure CollectionSpace, it's important to understand the concept of tenancy. You can think of a tenant as simply the concept of a space or partition on a CollectionSpace system for your museum or collection, within which you'll be making most or all of your configuration changes.

CollectionSpace has built-in hosting capabilities, making it possible for you or a hosting provider to use just a single server to support multiple museums. Each museum's configuration and data is contained within their own tenancy. Each museum's CollectionSpace users will log into a different, tenant-specific URL on the server to work with their museum's own records.

Even if your CollectionSpace system will be used only for one museum - your own - you will create a new tenant, and then make your configuration changes within that tenant. Your museum's own tenant will reside alongside the several sample tenants that come with every "out of the box" CollectionSpace system. (In a future version of CollectionSpace, you will be able to easily activate or deactivate tenants, including the sample tenants.)

In the current version, there is a sample core tenant, demonstrating a "plain" museum that entirely uses the default configuration settings, and a sample lifesci tenant, which has been configured slightly differently to demonstrate (for instance) how you might add several taxonomic identification fields to a Cataloging record. These sample tenants can often be valuable references, while you are configuring your own museum's tenant.

Creating and configuring your tenant

You'll make most of the changes to configure CollectionSpace for your museum's tenant in files contained within just a few folders, within the source code trees for CollectionSpace's three layers: the Services layer, the Application layer, and the User Interface (UI) layer.

The following is an overview of the steps involved. For specific details of how to create your own new tenant, within which you will configure CollectionSpace for your own museum, please see Creating your new tenant.

(As an alternative, you can make these changes using the mini-build, which can simplify and speed up the process of creating your own new tenant and making ongoing configuration changes.)

Here's an overview of the one-time process you'll follow to create the new tenant for your museum:

  • Using git or Subversion (SVN) client software, check out the source code for all three of CollectionSpace's layers into folders on your own system. You'll generally check out source code releases that have been marked, or "tagged," with the version of CollectionSpace that your museum is currently using.
  • Within each layer's source code tree, "clone" (copy) the folders or sets of files pertaining to the "plain" core tenant, to create a new folder or set of files for your own museum.
  • Edit those files as needed. The editing required is fairly minimal, mostly just editing filenames and contents to reflect the name of your museum (tenancy).
  • "Deploy" (push) copies of the files you've changed to the appropriate CollectionSpace server folders. This typically means that you'll run a build command, such as mvn install or ant deploy, from within each relevant layer's source code tree, that will take care of copying these files to the right places.
  • Within CollectionSpace's Services layer source code tree, run one or more build commands that set up default user accounts for your new tenancy, including an admin user that has the rights to create additional users.

Afterwards, you'll make configuration changes in this way:

  • Within each layer, within the folder location(s) relevant to your tenant, edit configuration files, HTML template and CSS stylesheet files, etc. as needed. See the individual customization documents below for specifics about which configuration files you'll need to change in order to make the changes to behavior and appearance that you desire.
  • "Deploy" (push) copies of the files you've changed to the appropriate CollectionSpace server folders. This typically means that you'll run a 'build' command, such as mvn install or ant deploy, from within each relevant layer's source code tree, that will take care of copying these files to the right places.

Creating and configuring your tenant using the mini-build

The mini-build aims to simplify and streamline configuration by providing a stripped-down, consolidated set of folders and files within which you can make your configuration changes and then rapidly deploy them to your CollectionSpace server folders.

The mini-build also simplifies the one-time process of creating your new tenant. As of this writing, it can help you create the files and folders needed by your new tenant in the Application and User Interface (UI) layers, and then make it easier to perform ongoing configuration in those two layers. However, you'll still need to check out the Services layer source code tree and run build commands in that layer, in order to create the files, folders and database changes required for setting up a new tenant in the Services layer, as well as to make ongoing configuration changes in that layer.

For specific details of how to create your own new tenant using the mini-build, within which you will configure CollectionSpace for your own museum, please see Creating your new tenant using the mini-build.

Documents on configuring CollectionSpace

The following documents provide overviews:

Configuring CollectionSpace's User Interface (UI) Layer - An Overview
Configuring CollectionSpace's Application Layer - An Overview

See the Configuring CollectionSpace area of the left sidebar for descriptions of how to make specific configuration changes:

  • No labels
Page: Creating your new tenant Page: Creating your new tenant using the mini-build Page: Configuring CollectionSpace's User Interface (UI) Layer - An Overview Page: Configuring CollectionSpace's Application Layer - An Overview Page: How to Configure a Shared Schema Extension Page: How to Configure a Local Schema Extension for a Tenant Page: How to Configure Multiple Local or Shared Schema Extensions for a Tenant Page: How to change the columns in the secondary tabs - DRAFT Page: How to change the behavior of a field Page: How to import vocabulary and authorities - DRAFT Page: How to add a procedure - services layer Page: How to set the default toggle to closed for a section or panel Page: unified collectionspace config Page: How to change a field's data type - DRAFT Page: How to edit the tenant bindings file - DRAFT Page: How to attach a new vocabulary to a field - DRAFT Page: HTML field level templates Page: How to Import Data Page: How to change the labels for a procedure Page: How to add a term to a static term list Page: How to add a field or group of fields Page: How to add a new number pattern Page: Notes on report authoring with iReport Page: How to hide a field or group of fields Page: How to change the columns in the search results Page: How to Change the Favicon (Shortcut Icon) Page: How to make a field multivalued Page: How to rename a field Page: How to rename a procedure Page: How to configure summary fields Page: Implementing a multi-schema CollectionSpace entity Page: How to build and deploy the UI layer Page: How to add branding Page: How to change the layout of fields Page: How to remove fields Page: DRAFT Configuration Pages