Skip to content
This repository has been archived by the owner on May 18, 2022. It is now read-only.

CSBC/PS-ON Manifests Validator Give Reload Error when uploading Datasets and Tools #4

Open
brynnz22 opened this issue Apr 8, 2021 · 1 comment

Comments

@brynnz22
Copy link

brynnz22 commented Apr 8, 2021

When attempting to validate the datasets and tools manifests using the CSBC Manifests Validator, a reload error occurs immediately.

To reproduce error:

  1. Pick appropriate manifest

  2. attach manifest to upload
    datasets_manifest_update_2021-03-25.xlsx
    tools_manifest_update_2021-03-25.xlsx

  3. Include the additional standard terms sheet
    additional_standard_terms_update_2021_03_25.xlsx

  4. Click validate

@jaeddy
Copy link

jaeddy commented Apr 13, 2021

Figured out the problem:

The error occurs when in line 365 of server.R:

syn_store(synapseclient$Table(portal_table[[type]], new_portal_row))

... specifically:

Warning: Error in py_call_impl: SynapseHTTPError: 400 Client Error: 
Value at [0,15] was not a valid STRING_LIST. Not a JSON Array: True

The problem appears to be with two spots in utils.R, which I suspect were introduced when we decided not to create new publication entities for now. That is, in both dataset_row() and tool_row(), there's a step that looks like this:

    publicationId = NA,

However, R (or Python?) gets confused by this missing value and ends up treating it as a logical (lgl) type, which then makes Synapse upset because it doesn't recognize the NA as a STRING_LIST. Instead, these lines should look like this:

    publicationId = "",

... where "" is recognized as a valid "empty list" by Synapse.

The dataset manifest upload seems to be working now, and I'll test with tools next. If everything uploads successfully, I'll create a PR with the fix.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants