Naming a CollectionSpace system with an instance identifier
Table of Contents
About
If you plan to share a single database server between two or more CollectionSpace systems, you'll first need to give each of these CollectionSpace systems their own unique names ("instance identifiers").Doing so helps keep the database objects associated with each CollectionSpace system separate, and thus avoids "name collisions."
Configuring the Instance identifier
Configuring an instance identifier for a CollectionSpace system is simple. During the installing process (see Installing CollectionSpace), just after you have checked the source code from CollectionSpace’s server layer (see How to Check Services Layer Source Code):
Within that source code directory, edit the top-level
build.properties
fileIn the
cspace.instance.id
property, enter a unique instance identifier for your CollectionSpace system. (By convention, this should be a short name that uniquely identifies your museum or collection, and begin with an underscore.)
For instance, you might change:cspace.instance.id=
to:
cspace.instance.id=_mymuseumname
Save the file.
If you haven't already done so, also make the related configuration change of Remote PostgreSQL database server.
Proceed with the installation.
Effects of using an instance identifier
By using an instance identifier, the names of databases and database users (roles) associated with your CollectionSpace system will be changed, in the following ways:
The
cspace
database, which stores users, roles, and permissions for your CollectionSpace system, will be renamed by adding your instance identifier as a suffix; e.g.cspace_mymuseumname
The nuxeo database, which stores nearly all of the rest of your CollectionSpace system's data, managed by the Nuxeo enterprise context management system, will be renamed by adding your instance identifier as a suffix; e.g.
nuxeo_mymuseumname
If you have set up one or more of your CollectionSpace system's tenants to store data in a dedicated database, these too will be renamed by adding your instance identifier as a suffix. For instance, the sample
lifesci
tenant is configured to store its data in its ownlifesci_domain
database, and that database's name would be renamed to e.g.lifesci_domain_mymuseumname
A set of PostgreSQL database users associated with your CollectionSpace system, whose default names currently include
cspace
,nuxeo
, andreader
, will all be renamed as well, by adding your instance identifier as a suffix; e.g.cspace_mymuseumname
,nuxeo_mymuseumname
, andreader_mymuseumname
. (Technically, within PostgreSQL, database "users" are PostgreSQL roles that have been granted login privileges.