Repository navigation
feat(dwca): add visual editor - #8522
grantfitzsimmons wants to merge 132 commits into
Conversation
Triggered by 0c5cccb on branch refs/heads/issue-286
Triggered by a323d87 on branch refs/heads/issue-286
feat(defaults): add better agent identifier support
…-286 # Conflicts: # specifyweb/frontend/js_src/lib/components/AppResources/__tests__/CreateAppResource.test.tsx
Triggered by d4c05ca on branch refs/heads/issue-286
|
It's a bit confusing that once you've chosen a query or mapping from the I don't think the custom row type currently works, as it turns the save button red with no real indication as to why. The error it gives is just I find it kind of silly that basic view just shoves the rest of the query to the lefthand side and shows you the icon of the main table for that row. It is a bit weird that this doesn't follow any other pre-existing query format in Specify, but maybe I wasn't looking hard enough. Ultimately, I am not familiar enough with DwCA extensions to comment on them too much. It doesn't seem like they automatically map as well, even when you give it a query built for whatever you are using. I like the warning at the top of the screen if a DwCA term is not mapped, but it took me a minute to understand that that was what it was referring to. A label to identify the columns in the query might be nice, because the DarwinCore names can be very similar or very different to what is in a database. It would also be nice if there was a color difference in the cell or row when a term is not mapped, like in the Workbench. As of now, it is a little hard to decern It does not need to be implemented now, but perhaps a |
Fixes #286 (#8666), #6435, and #8175
This PR adds a visual editor for creating, editing, and validating Darwin Core Archive definitions.
The editor supports:
The PR also adds a workflow and generator for periodically updating the bundled GBIF vocabulary catalogs. 🎉
For what it's worth, as of October 1st, the size of this PR is primarily generated vocabulary data:
gbifCores.json: 3,508 added linesgbifExtensions.json: 9,182 added linesThey are generated by
generateGbifCatalog.tsand can be refreshed through the included GitHub Actions workflow! No manual updating required (at least not until they migrate from XML to something else).Most of the other changes are the visual editor itself, then tests, field-to-term matching patterns, default mapping templates, and more validation and localization.
This PR also adds some necessary changes to facilitate certain fields like
recordedByIDandidentifiedByID(e.g., additional table formats and aggregators in a single query). This was implemented by supporting as many(formatted)or(aggregated)query fields as you have available formats or aggregations defined for that table. See:MultipleTableFormats.mov
Checklist
Testing instructions
There is comprehensive automatic test coverage for the changes in this PR, but the validation will require a lot of test data sets (taken from those who already have set up mappings) and new ones.
Make sure to review and understand Exporting & Publishing Data using Darwin Core (DwC-A) (GBIF, iDigBio, etc.) completely before testing.
We need to validate the produced packages using the GBIF Data Validator, which will require that you make a GBIF account.
I encourage you to also create a DwCA export in
v7and compare it against the export produced inissue-286. They should be identical, any any exports prepared in this branch on the 'Occurrence Core' (Collection Object-based exports) should be supported onmainandv7just fine. EML will still need to be sourced from GBIF (as in the original docs) or generated using this tool from GBIF Norway.Convert an Existing Mapping
To convert an existing DwCA mapping from a generic XML app resource:
DwCAapp resource defining the mapping (not the EML). Most haveDwCsomewhere in the title itself!text/xmltoapplication/vnd.specify.dwca+xmlInstructions
coreTermPatterns.tsif you need to see the matches)Summary by CodeRabbit
New Features
Bug Fixes