Workbench data set validation error (more than one Picklist) in Specify 7

Hello,

We are currently trying Specify version 7, more precisely the docker all-in-one version. We have initiated an empty database. Now we try to import a XSLX file to test the workbench. We try it on a small datatset, the file has about 60 columns and 100 rows. The mapping and validation of the columns goes very well. However, when validating the fields/rows we get an error. The error is the following:

Data Set Validation Status
Error occurred during Validation

{
  "uploaderstatus": {
    "operation": "validating",
    "taskid": "XXXXX-XXXXX-XXXXX-XXXXX"
  },
  "taskstatus": "FAILURE",
  "taskinfo": "MultipleObjectsReturned('get() returned more than one Picklist -- it returned 2!')"
}

The error is clear, but it is impossible to know on which column or which row the error is. I have to admit that I have searched, but I have not found which columns could generate this error. Moreover, we never got this kind of error in Specify version 6 with complete version of this data set.

Version information:
Specify 7 Version: v7.8.6
Specify 6 Version: 6.8.02
Database Version: 6.8.02
DB Schema Version: 2.10

Thanks !!!

Do you have any duplicates within the dataset you are trying to upload? I did a quick look up and found this issue that may be relevant, although this one has Recordsetitem where you have Picklist. In the related issue there is discussion about it working in Specify 6 but not in 7 for technical reasons.

There is an issue for this problem on our Github issue tracker:

This is fixed on the Refactor Business Rules Pull Request, and will be available once we complete the implementation and testing. Our programmer has been working on these fixes over the past several weeks.

Until then, there is a workaround to solve it:

That issue occurs anytime two pick lists have the same name in the database (Issue #1064). The solution is to do the following:

  1. Open query builder
  2. Run a query on the pick list table (e.g. https://sp7demofish.specifycloud.org/specify/query/new/picklist/, substitute your Specify URL in place of sp7demofish.specifycloud.org)
  3. Look for two picklists with the same name
  4. Delete or change the name for one of them

You will want to ensure that the pick list items associated with the pick list you keep are the desired ones!

1 Like