Skip to contents

Reads and validates the environment variables normally needed before launching a tracked learnr tutorial: a student identifier, a SQLite database path, and an optional group identifier. This helper is intended for tutorial setup chunks and launch scripts.

Usage

get_learnr_tracking_env(
  student_envvar = "LEARNRTRACKR_STUDENT_ID",
  db_envvar = "LEARNRTRACKR_DB",
  group_envvar = "LEARNRTRACKR_GROUP_ID",
  default_db_path = NULL,
  default_group_id = NA_character_,
  require_db_path = TRUE,
  require_group_id = FALSE
)

Arguments

student_envvar

Name of the environment variable that stores the student identifier. Defaults to "LEARNRTRACKR_STUDENT_ID".

db_envvar

Name of the environment variable that stores the SQLite tracking database path. Defaults to "LEARNRTRACKR_DB".

group_envvar

Name of the environment variable that stores the optional group identifier. Defaults to "LEARNRTRACKR_GROUP_ID".

default_db_path

Optional fallback database path used when db_envvar is missing or empty.

default_group_id

Optional fallback group identifier used when group_envvar is missing or empty. Defaults to NA_character_.

require_db_path

If TRUE, throw an informative error when no database path is available.

require_group_id

If TRUE, throw an informative error when no group identifier is available.

Value

A learnrTrackR_env list with student_id, db_path, group_id, student_envvar, db_envvar, and group_envvar.

Examples

withr::local_envvar(
  LEARNRTRACKR_STUDENT_ID = "student_001",
  LEARNRTRACKR_DB = tempfile(fileext = ".sqlite"),
  LEARNRTRACKR_GROUP_ID = "A"
)

get_learnr_tracking_env()
#> Error in get_tracking_student_id(envvar = student_envvar): Student identifier is missing.
#>  Set the `LEARNRTRACKR_STUDENT_ID` environment variable before launching the
#>   tutorial.
#>  Example: `Sys.setenv(LEARNRTRACKR_STUDENT_ID = "student_001")`.