Skip to content

Retrospective Workflow

Using your ledger for annual reviews, teaching portfolios, and historical analysis.

Goals

  • Answer questions about past teaching
  • Generate data for annual reviews
  • Support letters of recommendation
  • Analyze teaching patterns over time

Common Queries

Teaching History Report

# Full timeline as JSON for processing
uv run cl query my-timeline --format json > teaching-history.json

# Filter to a specific term
uv run cl query my-timeline --format json | jq '.[] | select(.term | contains("2024"))'

Student Lookup

When writing a letter of recommendation:

# Find all courses where a student was enrolled
uv run cl query person 67890

# Include their grades
uv run cl query person 67890 --grades

Example output:

Person History: Jane Student (67890)
====================================

Fall 2024 - COMP 1234: Introduction to Computing
  Section: Section 001
  Role: StudentEnrollment
  State: completed
  Final Grade: A

Spring 2024 - COMP 2345: Data Structures
  Section: Section 002
  Role: StudentEnrollment
  State: completed
  Final Grade: A-

Course Rosters

For historical course records:

# Get the final roster for a past course
uv run cl query offering 12345 --format csv > roster-fall-2024.csv

Lead Instructor Verification

For tenure/promotion documentation:

# See all offerings where you declared lead instructor
uv run cl annotate list | grep "lead"

# Query specific offering responsibility
uv run cl query offering 12345 --instructors

Backfilling Historical Data

If you're just starting with canvas-ledger, you can backfill:

# Ingest catalog to get all visible courses (including past terms)
uv run cl ingest catalog

# Deep ingest important historical courses
uv run cl ingest offering 11111  # Fall 2023 course
uv run cl ingest offering 22222  # Spring 2023 course

Historical Limitations

Canvas may not retain full enrollment history for very old courses. You'll capture what's still available.

Course Aliasing

For courses that have been renumbered:

# Create an alias for a course that was renumbered
uv run cl annotate alias create "intro-computing" 12345 23456 34567

# Query across all versions
uv run cl query alias "intro-computing"

This groups COMP 1000 (old number), COMP 1100 (renumbered), and COMP 1200 (renumbered again) under one logical identity.

Export for External Use

# Export offerings for spreadsheet analysis
uv run cl export offerings --format csv > all-offerings.csv

# Export a course roster
uv run cl export enrollments 12345 --format csv > roster.csv

# Export person history
uv run cl export person 67890 --format json > student-record.json

Data Integrity

Your ledger is a durable historical record:

  • Observed data is never deleted: Even if Canvas removes a course
  • Annotations persist: Your declarations survive any re-ingestion
  • Timestamps preserved: Know exactly when each observation was made

Back up your database file (~/.local/share/cl/ledger.db) periodically for additional safety.