Using the Schema Config in Specify 7

What is the Schema Config Tool?

“Schema” or “Interface Schema” in this context refers to the many data tables and fields that reflect the semantics and relationships of the data types processed by biological collections. The Schema Configuration module is a highly functional, though somewhat complex, set of tools created to configure the Specify (interface) schema for individual discipline needs. Changes made in the Schema Configuration tool will affect all collections within a discipline and can be used to individualize Specify for each discipline.

Changes made within the Schema Configuration tool affect some core and critical areas of the database and may require the Specify application to shut down and restart to complete. For this reason, it is a good idea to save all changes and close all tabs before opening the Schema Configuration tool. If Specify does require a restart, you will be prompted to save all changes within any open tabs before Specify closes.

The tools in the Schema Configuration provide the following functions:

  • Change the captions, or display names, of tables and fields in Specify. These are displayed on forms and in searches. The names in the database are not editable, but the captions can be edited.
  • Hide unused tables or fields from the query tool. Hidden tables and fields will not be hidden on the forms.
  • Edit descriptions (usage notes) for tables and fields. These can be viewed from within a form by double-clicking on the caption.
  • Designate a field as being required. This is reflected on forms and in the WorkBench uploader. A record can not be saved unless all required fields containing data.
  • Format a field as a pick list, web link or field format.

Editing the Schema Config

To access the Schema Config tool in Specify 7, navigate to the User Tools menu in the navigation bar by clicking on your username.

Under Customization, click Schema Config.

Next, choose your Schema language.

In this guide, I will be choosing English. It is the default language included in every Specify installation.

Select the base table that you would like to modify.

I will be selecting collectionobject.

Schema Config

Here, you will see the Schema Config interface:

In the top, you will see 2 options:

Change Base Table allows the user to choose another table to modify.

Save commits the changes made to the schema to the database and allows you to select a new base table to continue modifying.

Table Information

In the first column, you will see the:

Field Description Example
Caption Given name of the table Collection Object
Description A short description that gives the general purpose of the table. A specimen, a lot, a sound recording, a tissue, etc.
Table Format CollectionObject Most tables are represented by only one field, (Collection Object shows the Catalog Number), but some are best represented by more than one field (Agent may be formatted to display Last Name, First Name, Middle Initial).
Table Aggregation CollectionObject Tables with a one-to-many relationship to the primary table could potentially link multiple records to the primary table. The only method of displaying these in a single line (e.g. for results or reports) is to aggregate them.
Hide Table This option is to indicate whether the table should be hidden from the Specify interface. TRUE or FALSE

Fields

Every field in your selected table will be visible in this list. This table is divided into two sections, Fields which lists all fields contained within the selected table and Relationships which lists all fields which act as a relationship between the base table and a target table.

You can see the type of relationship and more by viewing the Specify Schema from the User Tools menu.

Field Details

Field Description Example
Field Name The name of the field is a word/sequence of words without spaces. Each following word starts with a capital letter. catalogNumber
Caption Given name of the field Cat #
Description A short description that gives the general description/usage of the field. Catalog Number
Length The maximum length the field can be. This is in single characters. 32
Type The type of field (i.e. String, Integer, BigDecimal, Double, Timestamp, Text, Boolean, etc). This can also display the type of relationship (i.e. Many-to-one, One-to-many, zero-to-one followed by the table). String or One-to-many (TableName)
Hide Field This option is to indicate whether the field should be hidden from the Specify interface. TRUE or FALSE
Required This indicates whether the field must contain a value when a user is entering or uploading data to save. TRUE or FALSE

The Field Format section of the interface controls how the field is formatted when displayed in Specify.

Option Description
None If selected, the field will be formatted based on the type default. For example, a string field would then be a string of text limited only by the field length.
Formatted For certain fields, you can select a formatter that validates the input from a user and restricts the format to a system default.
Web Link At this time web links that are configured in the Schema Configuration also need to be added to individual forms by exporting the form set and editing the XML file for the form. Please refer to Web Links.
Pick List Any field in which data is limited to a controlled vocabulary is called a Pick List . Specify ships with many fields already formatted as pick lists and populated with choices. For example, the Agent Title field is pre-populated with the choices of Asst. Director, Curator, Dr., Mr., Mrs., and Ms.

Example Formatters for catalogNumber:

To create a custom field format, follow these instructions in Specify 6.

These formatters control how the field is displayed as well as validated. You can see whether the field format has been defined by a user or is a built-in system formatter based on the (System) or (User) message at the end of the line.

Example Web Links:

Web Links must currently be configured through Specify 6. You can follow instructions for this process here.

Example Pick Lists:

Any field in which data is limited to a controlled vocabulary is called a Pick List. Specify ships with many fields already formatted as pick lists and populated with choices. For example, the Agent Title field is pre-populated with the choices of Asst. Director, Curator, Dr., Mr., Mrs., and Ms.

Pick lists that are predefined within Specify are called System Pick Lists. New pick lists created by the user are referred to as User Defined Pick Lists.

You can create a new Pick List by clicking on the :plus_: icon to the right of the Pick List. See Adding an Item to a Picklist.