Changing what is displayed in Storage Query Combobox based on collection/discipline

One of our collections uses the storage tree quite extensively, and gets down to the lowest level (rank) quite frequently. This results in a long chain of text being displayed in the storage combobox for a record, that looks something like the following:

site, museum, museum floor, 1.0.0, 1.1.0, 1.1.1.

It would be awesome if just 1.1.1 could be shown, as this contains all the information the collection would need to find the object (row 1, cabinet 1, drawer 1).

Of course, we could change which tree definition items are included in the full name museum wide via Sp6, but then for other collections that don’t have the same level of granularity, they would never see storage information. For example, if they just used site, museum, museum floor, 1.0.0 but only the last definition item is set to show in the full name, their query combo box would show nothing, when there is in fact information in that field.

Is there a way to do this via App Resources? This way I could scope each collection independently.

Hi @markp,

Specify 7 displays the current table’s format in the query combo box. This ‘table format’ is set at the discipline level, and for Storage, is most likely the ‘full name’.

(Specify 6 shows the ‘Display Columns’ in the query combo box unless otherwise customized, but that’s a story for another time.)

For example, the Storage QCBX searches on the name field. This cannot be customized in Specify 7 at this time.

You can create a new ‘table format’ for each discipline in your database, bur not for each collection. The format you create for Storage will be used by all collections in that discipline once assigned in the Schema Config tool.

You can follow these instructions in Specify 6 or you can edit the DataObjFormatters file at your discipline level to create a new table format (link for more information).

By default, it looks like this in Specify 7, and this format is used by every discipline:

    <format
        name="Storage"
        title="Storage"
        class="edu.ku.brc.specify.datamodel.Storage"
        default="true"
        >
        <switch single="true">
            <fields>
                <field>fullName</field>
            </fields>
        </switch>
    </format>

While you can edit this and add additional fields or customize it to use only the name field (which would just be the 1.1.1 for instance), you might just want to modify the tree definition using Specify 6.

You can learn more about this in this article:

  • In Full Name will use the rank when displaying the full name for any associated Collection Objects (which appears in the Taxon Full Name field of the taxon table). The Full Name is also displayed in the Preferred Taxon field on the Determinations form and is useful when running queries and reports when the full name is desired.

I would make it so that the lowest rank is not included in the full name so that you only see it’s name instead of modifying the table format to change what the query combo box displays, but both methods have their advantages.

I hope this sheds some light on your options! Let me know if you have questions!

Thank you so much!

1 Like