Schema Config

:book: This guide describes how to use the Schema Config tool to customize the fields, captions, descriptions, and field functionality in your database.

Schema Config lets you customize how Specify names, describes, displays, and validates tables and fields for a discipline. Use it to set captions, hide unused fields, choose formats and pick lists, and configure related rules.

This does not modify the underlying database schema, only the captions, descriptions, and behavior seen in the application itself.

Who do changes affect?

Schema Config settings belong to a discipline. Changes to a table or field can affect every collection in that discipline, so review shared workflows before saving. See Specify Institutional Scopings.

Captions and descriptions are stored by language. Each user’s Schema Config language preference determines which of those texts they see.

Settings such as hiding a field, marking it required, or assigning a pick list are shared across the discipline regardless of the user’s selected language.

Please note, pick list assignment has two levels:

  • Schema Config assigns a pick list name to the field for the discipline, while each collection has its own pick list and values. Assigning a pick list does not create it in the other collections.
  • If the field should use that pick list throughout the discipline, make sure each collection has a pick list with the same name.

Open Schema Config

  1. Select your username in Specify’s navigation bar to open User Tools.

  2. Under Customization, select Schema Config.

  3. Choose the language you want to configure. See Additional Schema Config Languages for more information.

  4. Select a table from the Tables list.

Your ability to edit settings depends on your Schema Config permissions. The editor may open in read-only mode if you cannot make changes.

Find your way around the editor

On a wide screen, Schema Config is arranged as a table list followed by three working areas:

Tables Table Fields Selected field
Search for and switch between tables. Edit the table caption, description, display formats, and visibility. Browse the table’s literal fields and relationships. Edit the selected field’s caption, description, visibility, required status, and format.

The Fields area shows the field’s database name, its current caption, and whether it is visible. Select a row to open its settings. Literal fields and relationships appear in separate groups. You can sort the list by name, caption, or visibility.

[!tip]
Use the search box in Tables to find a table quickly. You can search either the data model name or caption assigned to that table. Show All Tables reveals tables omitted from the shorter list, including hidden tables.

Configure a table

Select a table, then use the Table area:

Setting What it changes
Caption The table’s display name in places that use Schema Config captions.
Description Explanatory text about the table.
Table Format This controls which fields are shown (and in what order) for a specific table in query results, exports, and query combo boxes. See Editing Table Formats and Aggregations.
Table Aggregation This controls how multiple related records are combined into a single string. See Editing Table Formats and Aggregations.
Uniqueness Rules Opens a separate editor for rules that prevent duplicate combinations of values. See Configuring Uniqueness Rules.
Hide Table Hides the table from general table choices in Specify. It remains available in Schema Config.

The Table Format and Table Aggregation selectors include controls to create or edit their definitions. For worked examples, see Editing Table Formats and Aggregations.

Configure a field or relationship

Select a row in Fields to open its details.

Setting What it changes
Caption The field’s human-readable label.
Description A usage note that helps explain what belongs in the field.
Character Limit and Type Read-only information about the field. Schema Config does not change these database properties.
Hide Field Marks the field as hidden in parts of Specify that use schema visibility.
Required Requires a value where this setting is supported. This control is unavailable for relationships and fields already required by the data model.
Field Format Assigns a formatter, web link, or pick list to the field.

The Field Format choices are:

  • None: No specific format, web link, or pick list is assigned here.

  • Formatted: Select a field format for a given field. Before you do, read How to Change or Add a Field Format.

  • Web Link: Select a configured web link. This allows users to link directly to external resources or information relevant to the record (via URLs). See Editing Web Links in Specify.

  • Pick List: Select a system or user-defined pick list. This limits a field to a predefined set of choices, which can support either read-only options or support adding additional choices during data entry. See Creating & Using Pick Lists.

    • The schema refers to pick lists by name (e.g., “TypeStatus”).
    • Each collection has its own pick list instance scoped to its data.
      • That means that a pick list with the same name can have different values depending on the collection you are logged into.
      • To add items to a pick list, click the :plus_: (plus) icon next to its name. See Add an Item to a Picklist.

[!tip]
Once you select a field, you can also use the arrow keys to move between fields without clicking. You can also click any field and use typeahead to jump to your desired field by typing its first few letters. For example, in the Collection Object table, selecting any field then typing cata will move your focus to catalogNumber.

[!warning]
Hide Field is a schema visibility setting, not a form editor. It does not remove a field from a form definition. To change the fields displayed on a data entry form, edit that form’s definition.

Example: give a field a useful name

Suppose your collection uses text1 for condition notes.

  1. Open the relevant table in Schema Config.

  2. Select text1 in Fields.

  3. Change its Caption to Object Condition.

  4. Add a Description that tells staff what information to enter. This can be seen when hovering a cursor over the text on the data entry form!

  5. Select Save.

The field is still text1 in the data model. If it is absent from the data entry form, add it through the form definition.

Save and review changes

Select Save in the header when you finish. An asterisk beside a table in the Tables list indicates unsaved changes. You can edit more than one table before saving; Save applies the pending changes. After saving, check the places where you expect the new caption, format, or visibility setting to appear.

Export or Import a Schema Config

The header also offers Export and, when you have permission, Import. Export downloads the selected language’s Schema Config as a JSON file.

[!warning]
Import overwrites the current configuration and cannot be undone from the editor. Export a backup first. The imported file must match the language you are configuring. Pick lists, field formats, and web links in the file are assigned only when those definitions already exist.

Additional Schema Config Languages

If you would like to add an additional language to Schema Config, you can select Add Language after navigating to it in the User Tools menu.

Enter a two-letter language code, such as es, and optionally a two-letter country code, such as MX. Select Add, then edit the captions and descriptions you need and select Save.

The Schema Config language shown to a user is controlled in User Preferences → Forms → Schema Config → Language. This preference controls table captions, field captions, and usage notes; it is separate from the language of Specify’s menus. Changing the preference requires a page reload.

If you would like to set a default Schema Config language for all users, see Setting Default User Preferences.

Remember that some changes (such as hiding a field, marking it required, or assigning a pick list) are shared across all language configurations.

If a caption or description is missing in the selected language, Specify looks for a version without the country code, then for English. If none exists, it falls back to the underlying table or field name.

Related guides

[!question] Adding a field to the form?
Schema Config does not decide which fields appear on a data entry form or where they appear. View definitions control the form’s fields and layout independently. If you want to add a field to a form, remove one, or move it to a different position, follow Editing Forms in Specify.

Your goal Where to make the change
Rename text1 to a meaningful caption, such as “Object Condition” Schema Config
Mark a configurable field as required Schema Config
Choose a pick list or field format Schema Config
Add “Object Condition” to the Collection Object form View definition
Move that field beside another field on the form View definition
1 Like

A post was split to a new topic: Where is the schema in the database?