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.

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.

Navigation menu - hovering on 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.
Uniqueness Rules Uniqueness Rules configuration for institution administrators. You can configure text1 to be unique to the collection so that no duplicate values can be entered into that field.
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.
Below there is a checkbox where the fields can be sorted by whether they are hidden or not.

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

Field Formats

You can learn more about customizing and creating field formats and aggregations here.

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.

Web Links

Web Link examples

You can create a new Web Link through App Resources

Pick Lists :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.

The Specify Schema resolves the pick list by name. Each collection within a discipline needs to have a separate pick list with the same name so that Specify knows where to look. The items in the pick list (and the pick list associated with those items) are scoped to the collection, so the items can vary between collections within the same discipline.

If you have 3 collections in the same discipline, the discipline would have a pick list assigned by name in the schema (“TypeStatus”, for instance). There would be a unique “TypeStatus” pick list in each collection (so 3 total), and the items contained in each pick list would be specific to each collection.

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.