Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mapmetadata #674

Closed
13 of 29 tasks
RayStick opened this issue Nov 26, 2024 · 108 comments
Closed
13 of 29 tasks

mapmetadata #674

RayStick opened this issue Nov 26, 2024 · 108 comments

Comments

@RayStick
Copy link

RayStick commented Nov 26, 2024

Date accepted: 2025-03-04

Submitting Author Name: Rachael Stickland
Submitting Author Github Handle: @RayStick
Other Package Authors Github handles: (comma separated, delete if none) @BatoolMM, @Rainiefantasy
Repository: https://github.com/aim-rsf/mapmetadata
Version submitted:
Submission type: Standard
Editor: @maelle
Reviewers: @ymansiaux, @Lextuga007

Archive: TBD
Version accepted: TBD
Language: en


  • Paste the full DESCRIPTION file inside a code block below:
Type: Package
Package: mapmetadata
Title: Map health metadata onto predefined research domains
Version: 3.0.0
Authors@R: c(
    person("Rachael", "Stickland", , "rstickland@turing.ac.uk", role = c("aut", "cre"),
           comment = c(ORCID = "0000-0003-3398-4272")),
    person("Batool", "Almarzouq", role = "ctb",
           comment = c(ORCID = "0000-0002-3905-2751")),
    person("Mahwish", "Mohammad", role = "ctb",
           comment = c(ORCID = "0009-0004-5295-0726")),
    person("Daniel", "Delbarre", role = "ctb",
           comment = c(ORCID = "0000-0003-4633-4252")),
    person("Nida", "Ziauddeen", role = "ctb",
           comment = c(ORCID = "0000-0002-8964-5029"))
  )
Description: Prior to gaining full access to health datasets, explore
    publicly available metadata and map metadata onto predefined research
    domains.  This package uses structural metadata files downloaded from
    the Health Data Research Gateway (https://healthdatagateway.org/en).
    In theory, any metadata file with the same structure as the files
    downloaded from this gateway can be used with this package, but the
    package has been developed and tested on metadata files from this
    gateway only.
License: GPL (>= 3)
URL: https://aim-rsf.github.io/mapmetadata/
BugReports: https://github.com/aim-rsf/mapmetadata/issues
Depends: 
    R (>= 2.10)
Imports: 
    cli,
    dplyr,
    ggplot2,
    gridExtra,
    htmlwidgets,
    plotly,
    tidyr
Suggests: 
    devtools,
    knitr,
    mockery,
    rmarkdown,
    testthat (>= 3.0.0),
    withr
VignetteBuilder: 
    knitr
Config/testthat/edition: 3
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.2

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • data munging
    • data deposition
    • data validation and testing
    • workflow automation
    • version control
    • citation management and bibliometrics
    • scientific software wrappers
    • field and lab reproducibility tools
    • database software bindings
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

This package is related to data access, as interacting with health metadata can help a researcher/research group decide what datasets to access for their research, and be more informed when writing their data access request. It involves data validation checks as it checks for completeness of metadata, and visualizes this.

  • Who is the target audience and what are scientific applications of this package?

Any users of health metadata, specifically for research projects that are using large population datasets, with many latent variables (research domains/concepts) and they need to investigate which variables in the datasets map onto their research domains of interest.

Not that I am aware of

Not Applicable

  • If you made a pre-submission inquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

Not Applicable

  • Explain reasons for any pkgcheck items which your package is unable to pass.

Technical checks

Confirm each of the following by checking the box.

This package:

Publication options

  • Do you intend for this package to go on CRAN?

  • Do you intend for this package to go on Bioconductor?

  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:

MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

@ropensci-review-bot
Copy link
Collaborator

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@RayStick RayStick changed the title [WIP] Rachael Stickland [WIP] browseMetadata Nov 26, 2024
@ropensci-review-bot
Copy link
Collaborator

Checks for browseMetadata (v2.0.1)

git hash: 3a779939

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✖️ 'DESCRIPTION' does not have a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✖️ These functions do not have examples: [concensus_on_mismatch, copy_previous, count_empty_desc, end_plot, join_outputs, json_table_to_df, load_data, map_metadata_compare, map_metadata_convert, ref_plot, user_categorisation_loop, user_categorisation, user_prompt_list, user_prompt, valid_comparison].
  • ✖️ Package has no continuous integration checks.
  • ✖️ Package coverage is 53.3% (should be at least 75%).
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

Important: All failing checks above must be addressed prior to proceeding

(Checks marked with 👀 may be optionally addressed.)

Package License: GPL (>= 3)


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 206
internal browseMetadata 33
internal stats 15
internal graphics 13
internal utils 8
internal tools 1
imports cli 30
imports dplyr 9
imports tidyr 3
imports gridExtra 2
imports htmlwidgets 2
imports plotly 2
imports jsonlite 2
imports ggplot2 1
suggests knitr NA
suggests rmarkdown NA
suggests devtools NA
suggests testthat NA
suggests mockery NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (57), paste0 (15), data.frame (13), c (11), for (10), return (9), character (8), nrow (8), length (6), get (5), file (3), format (3), integer (3), numeric (3), row (3), Sys.time (3), all (2), apply (2), as.list (2), list.files (2), max (2), min (2), paste (2), rbind (2), readline (2), strsplit (2), subset (2), suppressWarnings (2), t (2), unique (2), unlist (2), any (1), as.integer (1), as.matrix (1), cbind (1), do.call (1), getwd (1), gsub (1), is.na (1), lapply (1), matrix (1), nchar (1), scan (1), setdiff (1), system.file (1), unname (1), which (1)

browseMetadata

json_table_to_df (4), user_categorisation (4), ref_plot (3), user_prompt_list (3), concensus_on_mismatch (2), copy_previous (2), count_empty_desc (2), end_plot (2), join_outputs (2), load_data (2), user_prompt (2), browse_metadata (1), map_metadata (1), map_metadata_compare (1), map_metadata_convert (1), user_categorisation_loop (1)

cli

cli_alert_info (17), cli_alert_danger (4), cli_alert_success (4), cli_h1 (3), cli_alert_warning (2)

stats

family (8), line (6), df (1)

graphics

title (7), legend (3), text (3)

dplyr

n (7), join_by (1), left_join (1)

utils

read.csv (7), data (1)

tidyr

complete (3)

gridExtra

grid.arrange (1), tableGrob (1)

htmlwidgets

saveWidget (2)

jsonlite

fromJSON (2)

plotly

plot_ly (2)

ggplot2

ggsave (1)

tools

file_path_sans_ext (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 11 files) and
  • 1 authors
  • 2 vignettes
  • 5 internal data files
  • 8 imported packages
  • 17 exported functions (median 23 lines of code)
  • 17 non-exported functions in R (median 24 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 11 60.1
files_vignettes 2 81.7
files_tests 15 92.3
loc_R 725 56.6
loc_vignettes 190 45.1
loc_tests 410 67.1
num_vignettes 2 85.5
data_size_total 24603 74.8
data_size_median 245 55.6
n_fns_r 34 43.4
n_fns_r_exported 17 62.1
n_fns_r_not_exported 17 35.4
n_fns_per_file_r 2 34.1
num_params_per_fn 3 29.3
loc_per_fn_r 24 68.0
loc_per_fn_r_exp 23 52.4
loc_per_fn_r_not_exp 24 70.5
rel_whitespace_R 19 58.9
rel_whitespace_vignettes 43 54.0
rel_whitespace_tests 25 70.1
doclines_per_fn_exp 17 9.3
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 31 54.8

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)


3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following note:

  1. checking R code for possible problems ... NOTE
    browse_metadata: no visible binding for global variable ‘Empty’
    copy_previous: no visible binding for global variable ‘data_element’
    count_empty_desc: no visible binding for global variable ‘empty’
    end_plot: no visible binding for global variable ‘domain_code’
    join_outputs: no visible binding for global variable ‘data_element’
    map_metadata: no visible binding for global variable ‘note’
    Undefined global functions or variables:
    data_element domain_code empty Empty note

R CMD check generated the following check_fails:

  1. description_bugreports
  2. no_import_package_as_a_whole
  3. rcmdcheck_undefined_globals

Test coverage with covr

Package coverage: 53.31

The following files are not completely covered by tests:

file coverage
R/map_metadata_compare.R 0%
R/map_metadata_convert.R 0%
R/map_metadata.R 0%

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
map_metadata 18

Static code analyses with lintr

lintr found no issues with this package!


4. Other Checks

Details of other checks (click to open)

✖️ The following function name is duplicated in other packages:

    • browse_metadata from OECD


Package Versions

package version
pkgstats 0.2.0.48
pkgcheck 0.1.2.77


Editor-in-Chief Instructions:

Processing may not proceed until the items marked with ✖️ have been resolved.

@RayStick
Copy link
Author

Closing issue for now, as I misread some recommendations for a package to be ready. Will address these properly (the pkgcheck results) and then re-submit. Thank you!

@mpadge
Copy link
Member

mpadge commented Nov 27, 2024

@RayStick No worries. When you're ready, please just open this issue again (and not a new issue), call @ropensci-review-bot check package and things will move on from there.

@RayStick
Copy link
Author

Okay I will do that, thanks @mpadge!

@RayStick RayStick reopened this Dec 12, 2024
@RayStick
Copy link
Author

@ropensci-review-bot check package

@ropensci-review-bot
Copy link
Collaborator

Thanks, about to send the query.

@ropensci-review-bot
Copy link
Collaborator

🚀

Editor check started

👋

@RayStick RayStick changed the title [WIP] browseMetadata browseMetadata Dec 12, 2024
@ropensci-review-bot
Copy link
Collaborator

Checks for browseMetadata (v2.0.2)

git hash: 57b7191b

  • ✔️ Package name is available
  • ✔️ has a 'codemeta.json' file.
  • ✔️ has a 'contributing' file.
  • ✔️ uses 'roxygen2'.
  • ✔️ 'DESCRIPTION' has a URL field.
  • ✔️ 'DESCRIPTION' has a BugReports field.
  • ✔️ Package has at least one HTML vignette
  • ✔️ All functions have examples.
  • ✔️ Package has continuous integration checks.
  • ✔️ Package coverage is 89.2%.
  • ✔️ R CMD check found no errors.
  • ✔️ R CMD check found no warnings.
  • 👀 Function names are duplicated in other packages

(Checks marked with 👀 may be optionally addressed.)

Package License: GPL (>= 3)


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 206
internal browseMetadata 33
internal stats 15
internal graphics 13
internal utils 8
internal tools 1
imports cli 30
imports dplyr 9
imports tidyr 3
imports gridExtra 2
imports htmlwidgets 2
imports plotly 2
imports jsonlite 2
imports ggplot2 1
suggests knitr NA
suggests rmarkdown NA
suggests devtools NA
suggests testthat NA
suggests mockery NA
linking_to NA NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (57), paste0 (15), data.frame (13), c (11), for (10), return (9), character (8), nrow (8), length (6), get (5), file (3), format (3), integer (3), numeric (3), row (3), Sys.time (3), all (2), apply (2), as.list (2), list.files (2), max (2), min (2), paste (2), rbind (2), readline (2), strsplit (2), subset (2), suppressWarnings (2), t (2), unique (2), unlist (2), any (1), as.integer (1), as.matrix (1), cbind (1), do.call (1), getwd (1), gsub (1), is.na (1), lapply (1), matrix (1), nchar (1), scan (1), setdiff (1), system.file (1), unname (1), which (1)

browseMetadata

json_table_to_df (4), user_categorisation (4), ref_plot (3), user_prompt_list (3), concensus_on_mismatch (2), copy_previous (2), count_empty_desc (2), end_plot (2), join_outputs (2), load_data (2), user_prompt (2), browse_metadata (1), map_metadata (1), map_metadata_compare (1), map_metadata_convert (1), user_categorisation_loop (1)

cli

cli_alert_info (17), cli_alert_danger (4), cli_alert_success (4), cli_h1 (3), cli_alert_warning (2)

stats

family (8), line (6), df (1)

graphics

title (7), legend (3), text (3)

dplyr

n (7), join_by (1), left_join (1)

utils

read.csv (7), data (1)

tidyr

complete (3)

gridExtra

grid.arrange (1), tableGrob (1)

htmlwidgets

saveWidget (2)

jsonlite

fromJSON (2)

plotly

plot_ly (2)

ggplot2

ggsave (1)

tools

file_path_sans_ext (1)


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in R (100% in 11 files) and
  • 1 authors
  • 2 vignettes
  • 5 internal data files
  • 8 imported packages
  • 17 exported functions (median 23 lines of code)
  • 17 non-exported functions in R (median 24 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 11 60.2
files_vignettes 2 81.7
files_tests 18 93.9
loc_R 728 56.8
loc_vignettes 191 45.5
loc_tests 519 72.1
num_vignettes 2 85.5
data_size_total 24603 74.8
data_size_median 245 55.6
n_fns_r 34 43.4
n_fns_r_exported 17 62.2
n_fns_r_not_exported 17 35.5
n_fns_per_file_r 2 34.1
num_params_per_fn 3 29.4
loc_per_fn_r 24 68.0
loc_per_fn_r_exp 23 52.5
loc_per_fn_r_not_exp 24 70.6
rel_whitespace_R 19 58.8
rel_whitespace_vignettes 43 54.4
rel_whitespace_tests 25 74.9
doclines_per_fn_exp 18 11.1
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 31 54.8

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check.yaml R-CMD-check
graph codecov

GitHub Workflow Results

id name conclusion sha run_number date
12298710868 Auto Author Assign success 57b719 72 2024-12-12
12293411548 auto-label success be2574 226 2024-12-12
12293835316 pages build and deployment success f8c518 121 2024-12-12
12293615596 pkgcheck success 57b719 13 2024-12-12
12293809892 pkgdown success 57b719 401 2024-12-12
12293615592 R-CMD-check.yaml success 57b719 73 2024-12-12
12293615597 test-coverage.yaml success 57b719 73 2024-12-12

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following notes:

  1. checking for portable file names ... NOTE
    Found the following non-portable file paths:
    browseMetadata/inst/outputs/L-OUTPUT_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-19-55.csv
    browseMetadata/inst/outputs/LOG_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-19-55.csv
    browseMetadata/inst/outputs/LOG_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-23-52.csv
    browseMetadata/inst/outputs/OUTPUT_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-19-55.csv
    browseMetadata/inst/outputs/OUTPUT_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-23-52.csv
    browseMetadata/inst/outputs/PLOT_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-19-55.png
    browseMetadata/inst/outputs/PLOT_NationalCommunityChildHealthDatabase(NCCHD)_CHILD_2024-11-27-14-23-52.png

Tarballs are only required to store paths of up to 100 bytes and cannot
store those of more than 256 bytes, with restrictions including to 100
bytes for the final component.
See section ‘Package structure’ in the ‘Writing R Extensions’ manual.
2. checking R code for possible problems ... NOTE
browse_metadata: no visible binding for global variable ‘Empty’
copy_previous: no visible binding for global variable ‘data_element’
count_empty_desc: no visible binding for global variable ‘empty’
end_plot: no visible binding for global variable ‘domain_code’
join_outputs: no visible binding for global variable ‘data_element’
map_metadata: no visible binding for global variable ‘note’
Undefined global functions or variables:
data_element domain_code empty Empty note

R CMD check generated the following check_fails:

  1. no_import_package_as_a_whole
  2. rcmdcheck_undefined_globals

Test coverage with covr

Package coverage: 89.15

Cyclocomplexity with cyclocomp

The following function have cyclocomplexity >= 15:

function cyclocomplexity
map_metadata 18

Static code analyses with lintr

lintr found no issues with this package!


4. Other Checks

Details of other checks (click to open)

✖️ The following function name is duplicated in other packages:

    • browse_metadata from OECD


Package Versions

package version
pkgstats 0.2.0.48
pkgcheck 0.1.2.77


Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

@BatoolMM
Copy link

Thank you soooo much @RayStick!!!

@emilyriederer
Copy link

Thanks for the submission, @RayStick ! This looks like a great candidate for rOpenSci. I'll begin the search for a handling editor

@emilyriederer
Copy link

@ropensci-review-bot seeking reviewers

@ropensci-review-bot
Copy link
Collaborator

Please add this badge to the README of your package repository:

[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/674_status.svg)](https://github.com/ropensci/software-review/issues/674)

Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news

@maelle
Copy link
Member

maelle commented Dec 16, 2024

@ropensci-review-bot assign @maelle as editor

@ropensci-review-bot
Copy link
Collaborator

Assigned! @maelle is now the editor

@maelle
Copy link
Member

maelle commented Dec 16, 2024

Editor checks:

  • Documentation: The package has sufficient documentation available online (README, pkgdown docs) to allow for an assessment of functionality and scope without installing the package. In particular,
    • Is the case for the package well made?
    • Is the reference index page clear (grouped by topic if necessary)?
    • Are vignettes readable, sufficiently detailed and not just perfunctory?
  • Fit: The package meets criteria for fit and overlap.
  • Installation instructions: Are installation instructions clear enough for human users?
  • Tests: If the package has some interactivity / HTTP / plot production etc. are the tests using state-of-the-art tooling?
  • Contributing information: Is the documentation for contribution clear enough e.g. tokens for tests, playgrounds?
  • License: The package has a CRAN or OSI accepted license.
  • Project management: Are the issue and PR trackers in a good shape, e.g. are there outstanding bugs, is it clear when feature requests are meant to be tackled?

Editor comments

Thank you for your submission! Below are some comments before I start looking for reviewers. Please feel free to ask me any question.


@maelle
Copy link
Member

maelle commented Dec 16, 2024

I removed the seeking-reviewers label because I'll look for reviewers after your response @RayStick 🙂

@RayStick
Copy link
Author

RayStick commented Dec 16, 2024

Thanks for these comments @maelle
This morning, I am going to add an rOpenSci review badge to my README, and add a NEWS file
Just to check - is the idea that I respond and implement your suggested changes above before it goes to review?

@maelle
Copy link
Member

maelle commented Dec 16, 2024

Ideally yes, either implementing or rejecting them (the first item on documenting scope is the most important one IMO) so the reviewers don't have to comment on the same components. Does it make sense? (it's a busy season so I expect things to take a while longer, no pressure)

@RayStick
Copy link
Author

Thanks! Most seem pretty do-able to me, and I should have a bit of time today to go through them

@maelle
Copy link
Member

maelle commented Feb 18, 2025

Thank you @RayStick!!

@ymansiaux @Lextuga007 could you please read @RayStick's response and answer using the template? Thank you!

@maelle
Copy link
Member

maelle commented Feb 18, 2025

@RayStick I'm intrigued by the mocking example. Where in the codebase is readline() introduced?

@RayStick
Copy link
Author

@maelle yes it probably warrants another look! I am rather new to unit tests that use so much user interaction (before writing them for this package). Here is the line: https://github.com/aim-rsf/mapmetadata/blob/c6dcfa88bbe7666e810cefddf9b5344a0cef29de/R/user_interactions.R#L43

@maelle
Copy link
Member

maelle commented Feb 18, 2025

I have seen the line but I don't understand where readline() comes from (I can only find readline <- NULL so am missing something obvious I fear 😁 )

@RayStick
Copy link
Author

RayStick commented Feb 18, 2025

Oh sorry - I understand your question now! readline() is base R, that is why I had to mock it (and also why you can't see it defined anywhere). Does that help with understanding?

@maelle
Copy link
Member

maelle commented Feb 18, 2025

ooooh it does, it was indeed obvious. 🤦 I'll try to have a look at the mocking tomorrow!

@maelle
Copy link
Member

maelle commented Feb 19, 2025

I made a suggestion in a PR https://github.com/aim-rsf/mapmetadata/pull/207 using function factories instead of mockery. Also curious to hear whether @ymansiaux or @Lextuga007 have any experience with this. It's also something you could ask in the rOpenSci slack workspace.

@EPI-YMX
Copy link

EPI-YMX commented Feb 19, 2025

Reviewer Response

Thank you for this high-quality work. I note that a great deal of work has gone into the documentation, which is now easier to handle.
Congratulations!

Final approval (post-review)

  • The author has responded to my review and made changes to my satisfaction. I recommend approving this package.

Estimated hours spent reviewing: 8

@EPI-YMX
Copy link

EPI-YMX commented Feb 19, 2025

I made a suggestion in a PR aim-rsf/mapmetadata#207 using function factories instead of mockery. Also curious to hear whether @ymansiaux or @Lextuga007 have any experience with this. It's also something you could ask in the rOpenSci slack workspace.

Not really sorry. I remembered having used the trick readline <- NULL before, but your approach seems really interisting and more elegant !

@RayStick
Copy link
Author

Use of mockery() now removed: https://github.com/aim-rsf/mapmetadata/pull/207
Thanks @maelle =D

@maelle
Copy link
Member

maelle commented Feb 25, 2025

That was a neat exercise, getting me closer to understanding function factories 😁 😂

@maelle
Copy link
Member

maelle commented Feb 25, 2025

@Lextuga007 could you please read @RayStick's response and answer using the template? Thank you!

@Lextuga007
Copy link

Apologies for the delay, I was off last week and will endeavour to do the review this week.

@maelle
Copy link
Member

maelle commented Feb 25, 2025

no worries, thank you!

@Lextuga007
Copy link

Reviewer Response

Thank you so much for all the hard work you've put into the changes suggested!
So often small suggestions lead to major overhauls in code and you've handled this
well.
You also have documented these changes thoroughly!

I really enjoyed going through the README which has been substantially updated.
From a user experience it's a much quicker experience of getting started and I
really appreciated the details you've added to explain the data which can be
useful when someone is new to this as well as to R.

I've submitted a really small PR to edit just a couple of words in the messages.

A couple of minor enhancements/suggestions for the added content:

print is used to show the data in the Console - could this be just look_up?
Apologies too as I hadn't noticed this from my first review and this isn't new code.

print(look_up, row.names = FALSE)

# and

look_up

# do the same printing but with less code

In the section "Using a custom lookup table input (advanced)" I wasn't sure if the appending suggestion of new rows to the bottom was expected to be done in the csv or in code.
The csv is easier but would require repeating steps which could be helpful to direct the user to.

When creating a custom lookup table, you can use this lookup table as a base and just append new rows to the bottom.

https://github.com/aim-rsf/mapmetadata/blob/15a06c0f7f39c1f0f7b0fee7c1b60f11b3a5ecc0/vignettes/mapmetadata.Rmd#L156

As mentioned though, these are really small points and you've covered a huge amount in the review.
Thank you!

Final approval (post-review)

  • The author has responded to my review and made changes to my satisfaction. I recommend approving this package.

    Estimated hours spent reviewing: 2.5 hours

@maelle
Copy link
Member

maelle commented Mar 4, 2025

Thank you @Lextuga007!! I'm going to go ahead and approve as I trust @RayStick will take your comments into account anyway.

@maelle
Copy link
Member

maelle commented Mar 4, 2025

@ropensci-review-bot approve mapmetadata

@ropensci-review-bot
Copy link
Collaborator

Approved! Thanks @RayStick for submitting and @ymansiaux, @Lextuga007 for your reviews! 😁

To-dos:

  • Transfer the repo to rOpenSci's "ropensci" GitHub organization under "Settings" in your repo. I have invited you to a team that should allow you to do so. You will need to enable two-factor authentication for your GitHub account.
    This invitation will expire after one week. If it happens write a comment @ropensci-review-bot invite me to ropensci/<package-name> which will re-send an invitation.
  • After transfer write a comment @ropensci-review-bot finalize transfer of <package-name> where <package-name> is the repo/package name. This will give you admin access back.
  • Fix all links to the GitHub repo to point to the repo under the ropensci organization.
  • Delete your current code of conduct file if you had one since rOpenSci's default one will apply, see https://devguide.ropensci.org/collaboration.html#coc-file
  • If you already had a pkgdown website and are ok relying only on rOpenSci central docs building and branding,
    • deactivate the automatic deployment you might have set up
    • remove styling tweaks from your pkgdown config but keep that config file
    • replace the whole current pkgdown website with a redirecting page
    • replace your package docs URL with https://docs.ropensci.org/package_name
    • In addition, in your DESCRIPTION file, include the docs link in the URL field alongside the link to the GitHub repository, e.g.: URL: https://docs.ropensci.org/foobar, https://github.com/ropensci/foobar
  • Skim the docs of the pkgdown automatic deployment, in particular if your website needs MathJax.
  • Fix any links in badges for CI and coverage to point to the new repository URL.
  • Increment the package version to reflect the changes you made during review. In NEWS.md, add a heading for the new version and one bullet for each user-facing change, and each developer-facing change that you think is relevant.
  • We're starting to roll out software metadata files to all rOpenSci packages via the Codemeta initiative, see https://docs.ropensci.org/codemetar/ for how to include it in your package, after installing the package - should be easy as running codemetar::write_codemeta() in the root of your package.
  • You can add this installation method to your package README install.packages("<package-name>", repos = "https://ropensci.r-universe.dev") thanks to R-universe.

Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them "rev"-type contributors in the Authors@R field (with their consent).

Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @ropensci/blog-editors in your reply. They will get in touch about timing and can answer any questions.

We maintain an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding (with advice on releases, package marketing, GitHub grooming); the guide also feature CRAN gotchas. Please tell us what could be improved.

Last but not least, you can volunteer as a reviewer via filling a short form.

@maelle
Copy link
Member

maelle commented Mar 4, 2025

@ymansiaux @Lextuga007 thanks again for reviewing this package!

@RayStick thanks again for all your work on this! Note that we're working on better documenting the fact that it's not compulsory to have the repo transferred to the ropensci GitHub organization. If you prefer not to have it transferred, I can help with that. (#682)

@RayStick
Copy link
Author

RayStick commented Mar 4, 2025

Wonderful! I have a bit of time today - I will take a look at @Lextuga007's comments and suggestions, as they seem like they would not take long. It would actually be great to transfer this to the rOpenSci GH Org as the current Org this repo is hosted on may not be supported in the months to come!

@RayStick
Copy link
Author

RayStick commented Mar 4, 2025

Thanks @Lextuga007
All done:

@RayStick
Copy link
Author

RayStick commented Mar 4, 2025

@maelle I tried to do

Transfer the repo to rOpenSci's "ropensci" GitHub organization under "Settings" in your repo. I have invited you to a team that should allow you to do so. You will need to enable two-factor authentication for your GitHub account.
This invitation will expire after one week. If it happens write a comment @ropensci-review-bot invite me to ropensci/ which will re-send an invitation.

But I got the error:

You don’t have the permission to create public repositories on ropensci

@maelle
Copy link
Member

maelle commented Mar 4, 2025

@RayStick it seems you haven't accepted the invitation to the ropensci GitHub organization yet. You should see it in your emails and I think in your GitHub notifications maybe.

@RayStick
Copy link
Author

RayStick commented Mar 4, 2025

Oops you are right, thanks!

@RayStick
Copy link
Author

RayStick commented Mar 4, 2025

@ropensci-review-bot finalize transfer of mapmetadata

@ropensci-review-bot
Copy link
Collaborator

Transfer completed.
The mapmetadata team is now owner of the repository and the author has been invited to the team

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

No branches or pull requests

10 participants