Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Default TypeSearches Alongside Custom Configurations #6233

Open
grantfitzsimmons opened this issue Feb 12, 2025 · 2 comments · May be fixed by #6236
Open

Support Default TypeSearches Alongside Custom Configurations #6233

grantfitzsimmons opened this issue Feb 12, 2025 · 2 comments · May be fixed by #6236
Assignees
Labels
1 - Enhancement Improvements or extensions to existing behavior 2 - User Interface Issues that are related to the user interface or user experience.
Milestone

Comments

@grantfitzsimmons
Copy link
Member

grantfitzsimmons commented Feb 12, 2025

Currently, users who implement a custom TypeSearches file within App Resources face a challenge when new type search tables or fields are introduced. This manual update requirement not only adds extra workload but also creates inconsistencies in user experience, particularly when new schema expansions occur.

A major problem here is that the TypeSearches app resource (see https://github.com/specify/specify7/commits/production/config/backstop/typesearch_def.xml) is almost always custom defined in databases that have used Specify 6 since customizing the fields searched in a query combo box update this file. Once customized, Specify looks at this custom resource rather than the system one.

This leaves users with custom TypeSearches unable to use the query combo box for things like Collection Object Groups, Tectonic Units, 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.

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, including cojo and taxonTreeDef, are searchable. This is particularly problematic for users who expect seamless integration and functionality with the system's default search capabilities.

Current Limitations:

  • Users with a custom TypeSearches file do not automatically receive updates or expansions related to default type searches.
  • Specifically affected tables include:
    • collection
    • specifyuser
    • institution
    • collectionobjectgroup
    • collectionobjectgrouptype
    • tectonicunit

Proposed Solution

Implement a logic that automatically fills in the gaps of custom TypeSearches files with the system's default settings. This would ensure that any new fields or tables added to the system are automatically integrated into the user's search capabilities without requiring manual intervention.

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.

Benefits:

  • Enhanced User Experience: Users will benefit from seamless access to new fields without needing to update their custom configurations.
  • Reduced Maintenance: This would significantly decrease the maintenance burden on admin users who regularly need to update their TypeSearches files to be able to use basic functions of the app.
  • Consistency Across Systems: Ensures that all users, regardless of their custom configurations, have access to the same search capabilities and functionalities.

Discussed in #6232

Originally posted by bronwyncombs February 12, 2025
Currently, a custom TypeSearches file in App Resources overrides system defaults. This poses an inconvenience when new typeSearch tables/fields are added since the App Resource must be updated to make new qcbx fields searchable.

It would be much better for the users if there was logic to fill in the gaps of custom TypeSearches files with the system defaults. This is especially beneficial when the schema is expanded and users expect new forms/fields to behave with the system's default search abilities.

The addition of geo, for example, means databases with a TypeSearches file will need to manually configure this for the cojo and taxonTreeDef fields qcbx search to work.

@grantfitzsimmons grantfitzsimmons added 1 - Enhancement Improvements or extensions to existing behavior 2 - User Interface Issues that are related to the user interface or user experience. labels Feb 12, 2025
@grantfitzsimmons grantfitzsimmons added this to the 7.10.1 milestone Feb 12, 2025
@grantfitzsimmons
Copy link
Member Author

@specify/ux-testing Are there other thoughts on this issue?

I find this to be very important considering primarily because users in a database with a custom TypeSearches app resource cannot search for COGs, COGTs, Specify Users, and more using a query combo box.

Most customized databases have this app resource as customizing a query combo box in 6 automatically created a copy of this resource.

@CarolineDenis CarolineDenis self-assigned this Feb 13, 2025
@CarolineDenis CarolineDenis linked a pull request Feb 13, 2025 that will close this issue
2 tasks
@lexiclevenger
Copy link
Collaborator

I ran into this on kufish with specify user. I agree that this is important to fix because it will impact the user's ability to use the new features on a large number of databases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 - Enhancement Improvements or extensions to existing behavior 2 - User Interface Issues that are related to the user interface or user experience.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants