Schema developers are responsible for designing and planning the
change-request process and for creating the schema to implement that process.
Schema developers typically perform the following tasks:
- Designing the process model of the change-management system
- Developing the schema, including customizing and managing schemas
- Selecting or modifying predefined schemas that fit the workflows or creating
schemas for that purpose
- Creating a test database to test changes made to a schema before upgrading
user databases
- Importing and exporting data
- Creating public queries, charts, and reports
- Setting security controls
Designing and planning the process model involves a number of substantial
tasks:
- Designing the state transition model. A state transition model identifies
the states that a change request can or must go through from its origination
to its completion. Examples of states include submitted, assigned, and resolved
- Identifying the roles of users and defining how these roles fit into the
workflow. For example, a project manager assigns change requests, developers
research and resolve change requests, and quality engineers validate resolved
change requests
- Identifying the fields to add to the change-request record type to record
the information that the development environment needs
Schema developers often customize a predefined schema to implement a change-management
process. Customizing a schema consists of the following activities:
- Adding fields to the change-request record type
- Changing the appearance of record forms by adding fields and controls,
such as buttons and list boxes
- Adding states and actions to the change-request record type to reflect
the state transition model. An action moves the change request from one state
to another. For example, an assign action moves a change request from the
submitted state to the assigned state
- Writing hook scripts to customize the workflow. A hook script is code
executed in response to a specific user action. For example, a hook script
associated with a field might require users to enter an integer within a specified
range
- Applying packages to add functionality or integration with another product.
A package is a set of definitions, such as fields, form controls, and hooks,
that are applied to a schema to add functionality. For example, the Attachments
package adds a tab to the change-request record form to allow users to attach
related files