In my last post I explained why I added a feedback function to googleformr. Since googleformr is an API for collecting data programmatically, I figured I’d leverage it for package development and accessibility. Below I’ll show how you can add your own feedback function to your package.
Create your own feedback function
First, make sure to grab googleformr from CRAN, if you haven’t yet. I love pacman as my library / function handler. The
p_load will load a library. If it isn’t installed, it will install from CRAN and then load it.
if (!require("pacman")) install.packages("pacman") pacman::p_load(googleformr)
You can create your own
feedback_pkg_name function by linking it to a Google Form. Get your forms started at the Google Forms page. Once you have a google form created with one short answer question, grab the form’s url and use code below:
# create function form <- "your_google_form_url" feedback_pkg_name <- gformr(form , custom_reply = "Thanks for supporting pkg_name")
Note: it is recommended to call your feedback function
- something clearly signalling a feedback purpose
- but also something specific to your package.
So a function name following the pattern
feedback_pkg_name should get the best of easy IntelliSense auto-complete and distinguishability from other packages using the same functionality.
Once you re-document and re-build your package and post it to github or CRAN, your users can send feedback directly to you from the R console by simply putting their feedback into your feedback function.
fdbk <- # their comments feedback_pkg_name(fdbk)
You can test that your new
feedback_pkg_name function works by:
- sending a test message to your Google Form and see if it shows up and/or
- using the
check_form_worksfunction like so:
check_form_works( comments_pkg_name("test") ). Either “All good” will appear or a specific http status message describing the error.
You can also extract Google Form question text or entry points using to make sure you can bring back the same information as is on your form:
# questions form <- "your_google_form_url" form %>% get_form() %>% get_form_questions() # entry ids form %>% get_form() %>% get_form_entry_ids()