| Can this series of pages be simplified/reduced to one page?
Last major edit by: Applies to versions: Tested: Yes/No |
How to Add a Procedure to CollectionSpace - Services Layer
The purpose of this document is to introduce the System Administrator to the concepts and methods used to add a new procedure to the CollectionSpace (CSpace) software.
A procedure is a specific museum workflow, such as intake, acquisition, loans, or cataloging. Each of CSpace's procedural services provides functionality that supports one of these workflows. For instance, the Intake service supports the museum's work around receipt of objects, while the Movement service make it possible to track the physical movements of objects.
Every procedural service provides a set of common functionality, such as the ability to create, read, update, and delete records; retrieve summary lists of records; and perform searches across records. Some services may also provide additional functionality specific to their corresponding museum workflows.
Adding a procedure to CSpace involves modifications to all CSpace layers, including Services, Applications, and User Interface (UI). Tasks related to each layer are provided in associated layer instructions. By following the checklist and the procedures in each of the linked documents, the System Administrator can accomplish the task.
Task Description
When a museum needs to add a new procedure to CollectionSpace, a new procedural service also needs to be added. A procedural service is a set of base level functionality provided by CSpace to support the procedure itself. Every procedural service uses a schema to determine how data are handled by the CSpace layers. Often, the best way to create a new service is to copy (clone) an existing service and then re-configure it throughout the CSpace layers to support the new procedure. Cloning an existing procedural service is a fast way of bringing up a new service to a base level of functionality, and often requires nothing more than some well-informed, careful 'search and replace' operations within the cloned service to configure it to support the new procedure.
Each service may have certain required fields and other fields in which data must be validated in a particular way. What is helpful is that framework code within each CollectionSpace layer facilitates schema extension with relatively few code changes required. Therefore, when determining which existing service you should clone, match the data needs of your new service by copying the standard service that most closely resembles the new service you want to create.
Adding a new procedure means cloning an existing service, because a procedure requires a service to support it in the software. This document provides a checklist in the form of the table shown in the next section. Follow the steps provided in the checklist to accomplish the overarching task of adding a new procedure to CollectionSpace.
For a list of all services offered by the CSpace services layer, see Currently Available Services. Services that support functionality are described in Service Description Repository. To review all of the functions supported by CSpace, see Functional Team Home.
Prerequisites
This work can be done by a junior-level programmer, or by a consultant, systems integrator, or museum IT staffer with some experience in Java programming. The procedures outlined in this document typically take 8-12 hours to complete.
For tools necessary to making modifications in CollectionSpace layers, see (http://wiki.collectionspace.org/display/collectionspace/Development+Tools,+Environment,+and+Coding+Standards)
Procedure
Follow the next steps outlined in the next checklist to add a procedure.
| Step | Description | Link |
|---|---|---|
| 01 | Select an existing service to clone. | Selecting an existing service to clone |
| 02 | Clone an existing service. | Cloning an existing service |
| 03 | Modify the existing service. | Modifying the existing service |
| 04 | Integrate the new service into the Services layer. | Integrating the new service into the Services layer |
| 05a | Add the new service to the JAX-RS-based Services layer application. | Adding the new service to JAX-RS-based Services app |
| 05b | Add the new service to the Services POM and buildfile. | Adding the new service to the Services POM and buildfile app |
| 06 | Add the new service to tenant bindings. | Adding the new service to tenant bindings |
Summary
The purpose of this document is to introduce the System Administrator to the concepts and methods used to add a new procedure to the CollectionSpace software. By following the checklist and the procedures in each of the linked documents in the checklist, the System Administrator can accomplish the task.