Skip to content

[Guided Setup] - Duplicate pick lists (with the same name) are being created upon database creation #3970

@grantfitzsimmons

Description

@grantfitzsimmons

This is primarily a Specify 6 issue, but I am creating this in the Specify 7 repository to bring attention to this report.

Reported By: Matthew Cruz at The University of Michigan

Aug 30, 2023:

Potential opportunity to clean up Herbarium Pickist for TypeStatus.

Details:

OOTB S6.8.03 + v7.8.13
Botany Discipline
Picklists

  1. TypeStatus - 38 items
  2. TypeStatus - 6 items

Determinations.typeStatusName uses the TypeStatus picklist with 6 items.

image

S7 does not even show the 38-item version in the list so I am not sure how someone could even use it anymore. I wonder though if it is still present in the OOTB configs because it needs to be present for legacy usage - maybe older collections refer to the 38-item picklist?

This could explain a huge number of the issues we've had with #1064. I'm so glad Matthew brought this to our attention!

See here:
Instance 1:
In the config/botany/picklist.xml:
https://github.com/specify/specify6/blob/945d28f00288d2d64979848fb2fb63fda34bdd1b/config/botany/picklist.xml#L13-L22

Instance 2:
In the config/common/picklist.xml:
https://github.com/specify/specify6/blob/945d28f00288d2d64979848fb2fb63fda34bdd1b/config/common/picklist.xml#L166-L207

This leads to default pick lists being duplicated in the database upon first configuration. 🤯

Running queries on a number of databases verify that this picklist in particular is duplicated quite a bit.

Some more background for developers: These XML files are used to create the picklists for each discipline. The common picklist.xml defines the shared pick lists created when any discipline is made, the discipline-specific picklist.xml creates discipline-specific ones. When there is an overlap in named picklists between these two, duplication occurs.

Metadata

Metadata

Assignees

Labels

1 - BugIncorrect behavior of the product2 - Database/SchemaIssues that are related to the underlying database and schematodo:verifyNeeds Verification

Type

No type

Projects

Status

No status

Status

📋 Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions