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 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: