This guide covers how to change or add a field format. This guide is intended for collection administrators.
In Specify, you can configure something called a field format, which simply means a structured input format assigned to a data entry field. Any text field can be assigned a field format, and this is enforced when data is entered via the forms, WorkBench, Batch Edit, or using the APIs.
To learn more about field formats in particular you can read our guide here:
-
First, determine which field you would like to change or add a field format for.
In this example, I am looking at “Accession Number” in the "Accession table. It has a format assigned by default.
-
Open the Schema Config tool from the User Tools menu after clicking on your
Username in the navigation menu.
-
Select your configured language and then the table that contains the field you wish to change or assign a field format in.
Since I am changing the “Accession Number” format, I will choose “Accession”:
-
Select the field that you wish to assign or change the format for.
In my case, it looks like it has already been assigned the format
AccessionNumber, which is done by default in new Specify disciplines.If you do not yet have a format assigned, you can pick from one of the defaults available or from those already configured in your database:
-
If you want to change the formats available, or wish to add a new format, you must now proceed to the App Resources viewer.
To get there, we need to once again click on
Username in the navigation menu to get to the User Tools menu. From there, click App Resources.
From here, you need to navigate to the # Field Formatters resource. This is at the discipline level in most databases. If you do not see it, you can click
Add Resource button to create one for the first time.
-
Now I can adjust the
AccessionNumberformat that was assigned in the Schema Config, or I can create a new format by adding a new XML section starting with<format>and ending with</format>using the same structure as before.[!tip]
To learn more about creating a new format from scratch, read our guide on field formatting here!In my instance, I want the format to go from
2025-AA-###to2025-EN-###. To do this, I need to adjust the following section (lines 3-10 in my field formatters resource).It needs to go from this:
<format system="true" name="AccessionNumber" class="edu.ku.brc.specify.datamodel.Accession" fieldname="accessionNumber" default="true"> <autonumber>edu.ku.brc.specify.dbsupport.AccessionAutoNumberAlphaNum</autonumber> <field type="year" size="4" value="YEAR" byyear="true"/> <field type="separator" size="1" value="-"/> <field type="alphanumeric" size="2" value="AA"/> <field type="separator" size="1" value="-"/> <field type="numeric" size="3" inc="true"/> </format>To this:
<format system="true" name="AccessionNumber" class="edu.ku.brc.specify.datamodel.Accession" fieldname="accessionNumber" default="true"> <autonumber>edu.ku.brc.specify.dbsupport.AccessionAutoNumberAlphaNum</autonumber> <field type="year" size="4" value="YEAR" byyear="true"/> <field type="separator" size="1" value="-"/> <field type="separator" size="2" value="EN"/> <field type="separator" size="1" value="-"/> <field type="numeric" size="3" inc="true"/> </format>Now I can click Save in the bottom right hand corner of the field format resource to save the changes.
-
After refreshing the page, I can navigate back to the Accession form and my changes are visible right away:
If you are not seeing the changes immediately, you can log out and back in to force Specify to reload field formats!






