ropensci / EML

Ecological Metadata Language interface for R: synthesis and integration of heterogenous data
https://docs.ropensci.org/EML
Other
97 stars 33 forks source link

add support for imminent EML 2.2.0 release #250

Closed mbjones closed 5 years ago

mbjones commented 5 years ago

Develop support in the eml2 branch for the upcoming EML 2.2.0 release of the spec, which is visible in pre-release form here: https://github.com/NCEAS/eml/tree/BRANCH_EML_2_2

The current BRANCH_EML_2_2 is schema complete, and is only awaiting documentation fixes and a few release issues to be completed before it is ready to go live. Can we get the eml2 branch of the R package to support EML 2.2.0 so that, when it is released on CRAN, it has full support for both EML 2.1.1 and EML 2.2.0? In other tooling, we've managed schema versions by 1) ensuring we can read in any version of EML, and 2) up-converting all older versions to the most recent release version and serializing documents in that namespace. This has the added advantage of moving actively curated content to the most recent version of the spec whenever an edit is developed.

cboettig commented 5 years ago

@mbjones Thanks!

eml2 branch is now merged in to master, and has "full" support for EML 2.2.0 and EML 2.1.1 as defined by 'can round-trip the EML test suite files" in both cases. EML R package will default to 2.2.0, but can be switched back and forth using options() as documented in the README.

There are still a variety of additional higher-level helper functions we might want to add for the next EML release, and particularly a need for greater documentation. Also I'm on the fence about whether we should do https://github.com/ropensci/EML/issues/252 (though not necessarily before the next CRAN release, since I think what we have here is already a significant improvement over the current CRAN version...)

Thoughts?

mbjones commented 5 years ago

Thanks @cboettig . I'm a little confused, as the upcoming release is EML 2.2.0, and there is not an EML 2.2.1 in the works. Were you referring to EML 2.1.1?

It turns out there have been a couple of schema changes in the BRANCH_EML_2_2, and so we'll need to grab the final copy of the xsd files when the release is ready, and make sure the eml2 package is fully updated when that occurs, which will be soon. The main tickets that will still modify the schema are https://github.com/NCEAS/eml/issues/302 and https://github.com/NCEAS/eml/issues/141

cboettig commented 5 years ago

whoops, late night typo. Yeah, I meant "support for EML 2.2.0 and EML 2.1.1" with "2.2.0" as the default (corrected above now as well).

I'll try and keep an eye on those tickets; we should (🤞) be able to programmatically pull the schema and update the package (this actually all lives in emld now, including setting the default EML version ... code in EML can be relatively agnostic to these details unless they change any of the high-level interfaces. That said, I hope to revise the EML::set_taxonomicCoverage anyway to do faster lookups on taxon ids, so that addition will be great).

cboettig commented 5 years ago

@mbjones Closing this out as I believe we now have support for EML 2.2.0, though EML 2.1.1 will remain the default until you say the word. This can be set using the emld::eml_version() function.

lkuiucsb commented 4 years ago

When I use emld::eml_version("eml-2.2.0"), I notice the name space in the root element is not correct. It doesn't pass the eml validation (although it passes the eml validation in the R environment).

It should be xmlns:eml="https://eml.ecoinformatics.org/eml-2.2.0" xsi:schemaLocation="https://eml.ecoinformatics.org/eml-2.2.0 https://nis.lternet.edu/schemas/EML/eml-2.2.0/xsd/eml.xsd"

amoeba commented 4 years ago

Hi @lkuiucsb thanks for letting us know. Could you please file a new issue and describe what you're seeing in a little more detail?

lkuiucsb commented 4 years ago

OK, just open a new issue for it.