- Fix documentation in EMLscript code chunk that can make it difficult/confusing to enter user input after running the
upload_data_package
function.
- updates and fixes to documentation including spelling, grammar, and clarity
- remove non-exported functions from documentation
- move several packages from Imports to Suggests (ISOcodes, sf, gdata)
- Update
set_content_units
to have correct east and west GPS coordinates for bounding boxes.
- Update readme: add R-CMD-CHECK badge; use pak to install instead of devtools
- Update licenseName field on restricted references to read, "Unlicensed (not for public dissemination)"
- add github actions: build check
- add
set_project
to the EMLscript template (.Rmd) and the github.io documentation pages. - update
set_project
so that it adds projects instead of replacing them. - update
set_project
to use cli errors/warnings - add minimal unit test for
set_project
- add id tag to projects to help DataStore identify DataStore projects vs. other projects.
- add helper.R file with a test_path function to facilitate unit tests
- update unit test code to run both interactively and during build checks
- add yaml file to conduct github actions: build test
- add in the new function
set_project()
and attempt to update existing function,set_protocol()
. - update license from MIT to CC0.
- updated all API requests to user v6 API instead of v7.
- Updated
.get_park_polygon()
to use the latest version of the API rather than a legacy version.
- Added new function,
set_new_creator()
which can add one or more creators to EML.
- Fix documentation: typo/formatting for the description of
set_int_rights()
in the EML Creation Script github.io page.
- Bug fix for
set_cui()
deprecation message: now points to the correct updated function (set_cui_code()
).
- Bug fix for
set_doi()
, which was not always updating dataTable URLs.
- Fix bug in
set_creator_orcids()
: no longer adds https://orcid.org/NA for creators without an orcid. - Added checks in
set_creator_orcids()
such that users must specify NA (not "NA") and to check that the length of the orcid list supplied matches the length of the authors in metadata (excluding organizational authors). - Updated
set_creator_orcids()
documentation to specify that the function can also be used to remove orcids from authors. - Updated the EML creation script to reference
set_cui_code()
as opposed to the (now deprecated)set_cui()
.
- Fix bug in
set_cui_code()
that was detecting both CUI code and CUI marking. - Fix bug in
set_cui_marking()
. - Fix bug in
set_creator_order()
.
- make
write_readme()
a non-exported function.
- Add function
get_cui_code()
. Deprecate functionget_cui()
. - Add function
get_cui_marking()
.
- Added function
set_missing_data()
which allows users to add missing data codes and missing data code definitions to metadata. - Added utility functions
.get_user_input()
and.get_user_input3()
. Refactored all set_ class functions to use these sub-functions rather than readLines() to get user input.
- Deprecated
set_cui()
in favor ofset_cui_dissem()
, which does the exact same thing asset_cui()
but the function name has been updated to distinguish the action of the function from the newly addedset_cui_code()
function. - Updated the publisher contact email in
set_npspublisher()
from irma@nps.gov to nrss_datastore@nps.gov to reflect DataStore changes in the contact email address.
- Added the function
remove_datastore_files()
, which can detach files from a DataStore Reference. In conjunction withupload_data_package()
this allows a user to update and make changes to the files in a data package (for instance, in response to review of the data package) prior to activating the data package.
- Updated EML template script to fix typos, remove the write_readme section, and add more explanation of the personnel.txt file.
- Updated
set_datastore_doi()
to use the correct doi prefix when dev = TRUE and display the correct URL upon draft reference creation. - Ported over most of the documentation on the EML Creation Script from the NPS_EML_Script repo to all be held under this repo.
- Updated documentation on making EML; updated the Readme to reflect the fact that all EML creation documentation/instructions are now included in the EMLeditor package
- Removed the "Get Started" (EMLeditor.rmd) file as it was pretty redundant with the readme.md file.
- Updated the template script in R studio to include package provenance for function calls.
- Updated
set_datastore_doi()
andupload_data_package()
functions to allow them to work with IRMA dev for testing and training purposes. - Updated
upload_data_package()
to prevent file upload if the reference already has files associated with it.
Updated all rest API services from v4/v5 to v6. Units services remain at v2.
- Fix bugs in
get_authors()
- Fix bugs in
get_abstract()
- Fix examples in
set_creator_orgs()
- Add function
set_methods()
allows user to add or replace existing methods sections. - Add function
get_methods()
returns the methods section (as a list) - Add function
set_additiona_info()
allows the user to set or replace existing addtitionalInfo. AdditionalInfo becomes "Notes" on the DataStore landing page. - Add function
get_additional_info()
returns the additionalInfo ("notes") from metadata.
- Add global variable bindings
- Fix how set_creator_orcids handles orcids; now takes a 19-char string as input and saves orcid as a 37-char string with "https://orcid.org/" prefix.
- Fixed minor typos in EML creation script.
- Added a "park_units" parameter to
set_creator_orgs()
. This takes a park unit (or list of park units) and uses the IRMA units service to populate the organizationName with the FullName of the park_unit specified. If you specify park_units, you cannot also specify "creator_orgs" - non-park unit organizations must be added as creators using a separate call toset_creator_orgs()
(and the creators can subsequently be reorganized usingset_creator_order()
).
- Bug fix for
set_int_rights()
- previously it only worked if you usedset_cui()
, exported to .xml and then re-imported to R. Now you can go straight fromset_cuio()
toset_int_rights()
. - Updated documentation: more information on additional functions available and how to use
upload_datapackage()
function - updated the EML script template: EMLassemblyline::make_eml now does not write a .xml by default but instead defaults to generating an R object that can subsequently be processed via EMLeditor functions.
- added the function
set_creator_order()
, which allows users to re-order the creators (authors on DataStore) as well as remove creators.
- updates to the EML creation script; the make_eml() function stopped saving an EML object in R and was just writing a .xml to the working directory. Add the the arguments
return.obj = TRUE
andwrite.file = FALSE
to get it to do the opposite: save an EML object to R for further processing and not write the .xml (so as not to create confusion later on) - added the function
set_creator_orgs()
which allows users to add organizations as creators (authors on DataStore). EMLassemblyline did not appear to support this functionality.
- added the function
set_creator_orcids()
which allows users to add or edit ORCiDs for individuals (not organizations) listed as creators
- updated error messages in
get_author_list()
andget_citation()
to be more informative, especially when surName is missing from the creator/individualName
- updated
set_datastore_doi()
so that it does not prompt to useset_datastore_doi()
if there is no previous doi. Fixed readline prompt cursor on the wrong line. Now generates draft references with blank fields instead of place-holder strings (except for the title).
- updated
set_content_units()
to include the attribute "system = content unit link" as part of the geographicCoverage element for each geographicCoverage element that is also a park content unit link (the old text in the field, "NPS Content Unit Link:" will be retained).
- updated
set_data_urls()
,set_doi()
, andset_datastore_doi()
to handle cases when there is only one dataTable (as well as multiple data tables). - updated
set_cui()
to handle cases when there is no previus additionalMetadata element in metadata. - updated
set_cui()
andset_int_rights()
such that they can accept parameters in any case, not just upper (set_cui()
) or lower (set_int_rights()
).
- added
set_data_urls()
function to update dataTable urls in metadata to correspond to the DOI in the metadata. - updated
get_doi()
to add a line return to error message.
set_doi()
andset_datastore_doi()
will now automatically update the online urls listed in the metadata for each data file to correspond to the new location. Caution: metadata with a DOI generated prior to 12 April 2023 may have incorrect online URLs.- Attempt to add .Rmd template to Rstudio
upload_data_package()
maximum file size increased to 32Mb (from 4Mb)
- Added tryCatch to
.get_park_poygon()
to improve error handling for invalid park codes. - Improved
set_content_units()
error handling to specifically test for invalid park codes prior to executing & report list of invalid park codes to user. - Fixed (yet another) bug in
get_content_units()
.
Summary
Added a new function upload_data_package()
that will upload data package files to the appropriate draft reference on DataStore. Individual files must be < 4Mb.
- Added
upload_data_package()
that will upload data package files to the appropriate draft reference on DataStore. The function is only compatible with .csv data files and requires a single EML metadata file ending in *_metadata.xml to all be present in a single folder/directory. The metadata file must have a DOI specified.upload_data_package()
will extract the DOI from metadata and check to see if a corresponding reference exists on DataStore. If the reference exists, the function will upload each file in the data package (including the metadata file).
- Minor update to
get_doi()
points; if DOI doesn't exist the function now refers users to bothset_doi()
andset_datastore_doi()
. - Minor updates to documentation for consistency and grammar.
Summary
Added a new function, set_datastore_doi()
that will initiate a draft reference on DataStore and insert the DOI into metadata
- Added a new function,
set_datasore_doi()
that will initiate a draft reference on DataStore and insert the DOI into metadata. It requires that the user be logged on to the VPN and that the metadata has a title for the data package. The function will warn the user if the metadata already contains a DOI and will ask it they really want to generate a new draft reference and new DOI.
- Updated documentation to reflect the new
set_datastore_doi()
function. - Updated the
get_title()
andget_doi()
functions to get just the data package title and just the data package DOI, respectively. They had been returning multiple titles and dois if the <title> and fields were used multiple times in the metadata.
Bug fixes, update set_cui()
codes, flesh out set_int_rights
. Update documentation.
- replaced PUBVER and PUBFUL codes with PUBLIC in
set_cui()
. - removed NPSONLY code from
set_cui()
. - major bug fixes to
set_content_units()
. - updated
set_int_rights()
to also populate licenseName field.
- fixed minor typos in documentation
- moved
set_int_rights()
from "additional functions" to "minimal workflow"
Added check_eml()
function.
check_eml()
function is a wrapper that calls DPchecker::run_congruence_checks()
with check_metadata-only = TRUE
. To run all the metadata-specific tests that will be run during a congruence test.
- specify ISO 639-2B in
set_language()
- added documentation for
check_eml()
- Changed Non-NPS user section to more apt, "Custom Publisher/Producer"
- added a "Additional Functions" section in addition to the Minimal Workflow that outlines functions like
set_title()
,set_abstract()
andset_int_rights()
. - moved
write_readme()
and the newcheck_eml()
to the file check_eml.R.
Added set_int_rights()
function.
set_int_rights()
allows users to update the intellectual rights text supplied by 3rd party EML generators with one of 3 NPS-specific options. Enforces congruence between CUI and license.
Updating to v0.1.0.0 "Electric Peak" is recommended for all users in order to take full advantage of metadata/DataStore integration included the most up-to-date locations and specifications for DataStore metadata elements.
-
The ability to switch "set_" class functions from a verbose (asks user for input, provides feedback) to silent (no feedback, no prompts) to enable scripting.
-
Inclusion of set_publisher function to customize the publisher and agencyOriginated options for non-NPS users, for NPS partners and contractors.
-
CUI can now be overwritten as well as written
-
write_readme dynamically populates publisher information
-
Renamed functions and parameters to conform to tidyverse style guides
-
Removed redundant functions (set_doi)
-
Added ability to set DRR title and DOI
-
write_readme now defaults to printing to the screen (but can still save to a .txt file)
-
Update documentation to reflect changes
Let's just leave this at "a lot".
- Added a
NEWS.md
file to track changes to the package.