Support Default DataObjFormatters
Alongside Custom Configurations
#6243
Labels
1 - Enhancement
Improvements or extensions to existing behavior
2 - User Interface
Issues that are related to the user interface or user experience.
Currently, users who implement a custom
DataObjFormatters
file within App Resources face a challenge when new tables are introduced.It requires a manual update which not only adds extra workload but also creates inconsistencies in user experience, particularly when new schema expansions occur, but also leaves our team unable to update defaults when they need to change.
A major problem here is that the
DataObjFormatters
app resource (see https://github.com/specify/specify7/blob/production/config/backstop/dataobj_formatters.xml) is nearly always custom defined in databases since it is nearly always necessary to edit the table formats and aggregation for how data fields appear on labels, queries, and exports.Once customized, Specify looks at this custom resource rather than the system one.
This leaves users with custom
DataObjFormatters
unable to use the query combo box, query builder, and other query mechanisms to display things like the Collection Object Group (formatted), COG children (aggregated), Tectonic Unit (formatted), Collection Object Type (formatted), or any new tables/fields that we add in the future. The only workaround is for users to click on the 🔍 (search) icon next to the query combo box to search manually for records and search specific fields from there.Problem Statement
When new fields are added to the system, such as the recent addition of geo-related fields, users with a custom
TypeSearches
file must manually update their configurations to ensure that new fields, includingcojo
andtaxonTreeDef
, are searchable. This is particularly problematic for users who expect seamless integration and functionality with the system's default search capabilities.Current Limitations:
DataObjFormatters
file (almost every collection) will not automatically receive updates or expansions related to default table formats and aggregation.specifyuser
collectionobjectgroup
collectionobjecttype
collectionobjectgrouptype
tectonicunit
tectonicunittreedef
tectonicunittreedefitem
Proposed Solution
Implement a logic that automatically fills in the gaps of custom
DataObjFormatters
files with the system's default settings. This would ensure that any new fields or tables added to the system are automatically.This proposal does not involve updating the custom XML, rather just allowing Specify to "fall back" on a system default rather than looking only at the custom definition for every table.
Current Workaround
Users can define custom
DataObjFormatters
table formats and table aggregations for new tables manually, but they can't use our defaults.Benefits:
DataObjFormatters
files to be able to use basic functions of the app.The text was updated successfully, but these errors were encountered: