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_envvaris missing or empty.- default_group_id
Optional fallback group identifier used when
group_envvaris missing or empty. Defaults toNA_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")`.