learnr icon indicating copy to clipboard operation
learnr copied to clipboard

Tutorial Example that stores tutorial event information in a Google Spreadsheet

Open schloerke opened this issue 4 years ago • 13 comments

Make an example tutorial that saves all tutorial events to a google spreadsheet.

Possible features:

  • Use options(tutorial.event_recorder = FUNC)
  • Use googlesheets4 https://googlesheets4.tidyverse.org/
  • Use a local .Renviron file to store passwords (maybe?)
    • Would allow for the tutorial to be shipped to shinyapps.io and still work. (System environment variables are not able to be set on shinyapps.io)

schloerke avatar Mar 14 '20 15:03 schloerke

I'm working on just such a thing. It will be very simple, but it might give you some ideas. I'm hoping to have a complete (draft) package by the start of next week.

On Sat, Mar 14, 2020 at 10:50 AM Barret Schloerke [email protected] wrote:

Make an example tutorial that saves all tutorial events to a google spreadsheet.

Possible features:

  • Use options(tutorial.event_recorder = FUNC)
  • Use googlesheets4 https://googlesheets4.tidyverse.org/
  • Use a local .Renviron file to store passwords (maybe?)
    • Would allow for the tutorial to be shipped to shinyapps.io and still work. (System environment variables are not able to be set on shinyapps.io)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/rstudio/learnr/issues/341, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAECBLNQZ52Z2HAKCSFXOS3RHORTNANCNFSM4LJJL7IA .

dtkaplan avatar Mar 14 '20 17:03 dtkaplan

@dtkaplan is this revisiting checkr?

https://github.com/dtkaplan/checkr

coatless avatar Mar 14 '20 17:03 coatless

Not yet. I just want to get a recorder working pronto, so that people can use it during this COVID-19 remote-teaching episode.

On Sat, Mar 14, 2020 at 12:27 PM James J Balamuta [email protected] wrote:

@dtkaplan https://github.com/dtkaplan is this revisiting checkr?

https://github.com/dtkaplan/checkr

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rstudio/learnr/issues/341#issuecomment-599104528, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAECBLNXUPETPMRKIM44BI3RHO5BFANCNFSM4LJJL7IA .

dtkaplan avatar Mar 14 '20 19:03 dtkaplan

I have posted an example learnr tutorial that records events to this GoogleSheet

The software behind it is available as install_github("dtkaplan/submitr"). The tutorial itself is attached, named with a TXT extension (so GitHub will accept it) -- you'll want to change the extension back to Rmd. Testing.txt

Now some information that would not ordinarily be available to anyone but the instructor:

You can look at the Google Sheet here. Please don't edit it.

There are four users registered for the tutorial. You can see their IDs and passwords here. Feel free to sign in as any of them.

Toward the bottom of the sign-in page there is a text box labeled "For instructor". When you type in the "secret" code, a button will appear allowing you to download the submissions as a CSV file to your browser. The secret is "hello".

dtkaplan avatar Mar 25 '20 22:03 dtkaplan

There's now a vignette for the submitr package:

install_github("dtkaplan/submitr", build_vignettes = TRUE)

dtkaplan avatar Mar 27 '20 00:03 dtkaplan

This looks interesting. I tried to install, but it failed. Any thoughts on how to fix. Thanks.

> devtools::install_github("dtkaplan/submitr", build_vignettes = TRUE)
Downloading GitHub repo dtkaplan/submitr@master
✓  checking for file ‘/private/var/folders/d2/n3vzkgd94ml2_mjrb49f2vpm0000gn/T/RtmpwfiFNX/remotes6ca1657f719c/dtkaplan-submitr-a3e13b5/DESCRIPTION’ ...
─  preparing ‘submitr’:
✓  checking DESCRIPTION meta-information ...
─  installing the package to build vignettes
         -----------------------------------
─  installing *source* package ‘submitr’ ...
   ** using staged installation
   ** R
   ** data
   *** moving datasets to lazyload DB
   ** inst
   ** byte-compile and prepare package for lazy loading
   Error: object ‘sheets_append’ is not exported by 'namespace:googlesheets4'
   Execution halted
   ERROR: lazy loading failed for package ‘submitr’
─  removing ‘/private/var/folders/d2/n3vzkgd94ml2_mjrb49f2vpm0000gn/T/Rtmpy1ARAn/Rinst6cc4303b8326/submitr’
         -----------------------------------
   ERROR: package installation failed
Error: Failed to install 'submitr' from GitHub:
  System command error, exit status: 1, stdout + stderr (last 10 lines):
E> ** data
E> *** moving datasets to lazyload DB
E> ** inst
E> ** byte-compile and prepare package for lazy loading
E> Error: object ‘sheets_append’ is not exported by 'namespace:googlesheets4'
E> Execution halted
E> ERROR: lazy loading failed for package ‘submitr’
E> * removing ‘/private/var/folders/d2/n3vzkgd94ml2_mjrb49f2vpm0000gn/T/Rtmpy1ARAn/Rinst6cc4303b8326/submitr’
E>       -----------------------------------
E> ERROR: package installation failed

ntaback avatar Apr 02 '20 15:04 ntaback

You need the github version of googlesheets4 IIRC.

@dtkaplan, can you edit the DESCRIPTION file to require a new enough version?

rpruim avatar Apr 02 '20 16:04 rpruim

Thanks @rpruim. That did the trick.

ntaback avatar Apr 02 '20 17:04 ntaback

I've added a directive to install googlesheets4 from CRAN in the DESCRIPTION file.

There's also a more extensive README.md for the repo.

On Thu, Apr 2, 2020 at 12:07 PM Nathan Taback [email protected] wrote:

Thanks @rpruim https://github.com/rpruim. That did the trick.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rstudio/learnr/issues/341#issuecomment-607973728, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAECBLNUO6CLJNCS4SSEIQLRKTA6HANCNFSM4LJJL7IA .

dtkaplan avatar Apr 02 '20 18:04 dtkaplan

I am starting to put together some wrangling statements to make sense of the data being logged from {learnr} via the {submitr} package I am writing. I think it would be helpful to have at least a simple facility for this built-in to {submitr} from the beginning as a form of documentation of the format for the logging.

For this, I need some (non-programming) help: I need a substantial body of log data reflecting realistic use of a tutorial. As a start, I have published an example tutorial on shinyapps.io. My request:

Would you spend five or ten minutes working with the example tutorial?

  • Login to the tutorial itself using any of the ID/password combinations listed here. (This has nothing to do with logging in to shinyapps.io. The example tutorial is public.)
  • Once logged in, page through the tutorial running and revising code chunks, answering (and revising) multiple-choice questions, watching small amounts of the video, skipping sections, and such.

I encourage you to run two or more sessions of the tutorial, either using the same ID or different IDs.

If out of curiosity you want to look at the Google sheet logging events, you can download a CSV file by logging in with ID "instructor" and password "isostats". Follow the link that appears under the login boxes.

@rpruim @ntaback

dtkaplan avatar Apr 08 '20 15:04 dtkaplan

I just tried installing submitr, as this project is very interesting. But it requires googlesheets4 (>= 0.2.0.9000), but the Github version of googlesheets4 is 0.1.1.9100.

bjornerstedt avatar May 05 '20 14:05 bjornerstedt

@bjornerstedt , I suggest posting at https://github.com/dtkaplan/submitr/issues to make sure @dtkaplan sees this.

rpruim avatar May 05 '20 15:05 rpruim

@dtkaplan I love this feature. I just tried your example titanic example tutorial on shinyapps.io. but when downloading with the instructor login I get a file get_submissions.txt with the error txt:

ERROR: An error has occurred. Check your logs or contact the app author for clarification.

bioboot avatar May 26 '20 20:05 bioboot