Trainer & Trainee Management

Roster, cohort credentials, and portal link

TRAINER ONLY

Manage trainers and trainees on the roster, plus cohort credentials for the active workshop session. Trainees open My Workshop (same cohort link) to copy their ATTENDEE_ID and delivery secrets.

ImportantRequires Cloudflare + D1

This feature uses D1 APIs on Cloudflare Pages. Set TRAINER_API_SECRET in Pages environment variables. The Vercel mirror does not persist roster data.

Pre-class checklist

Manage sessions

Select one or more workshop sessions to delete. Each session is one delivery (YYYYMMDD-slug) with its own roster, settings, attendance, and checklist data.

0 selected
Session Date Trainees

Delete selected

Permanently removes the selected workshop(s) from D1: roster, cohort settings, attendance sign-ins, and server-side checklist progress. Use for test sessions or mistaken duplicates. This cannot be undone.

My Workshop: Deleted sessions disappear from the trainee session dropdown on the next page load. Trainees who still have an old portal link will see an empty roster — send a new link if needed.

Workshop roster

Trainers use tr_ IDs (e.g. tr_01_juewei, tr_02_alissa) — add via + Add trainer. Trainees use de_01_, de_02_, … — add via + Add trainee; leave ATTENDEE_ID blank to auto-generate from first name. Saved rows are read-only until you click Edit. Fill GitHub username and/or GitHub email so you can invite fork collaborators before class. Both roles sync to Workshop Check-In on training day.

ATTENDEE_ID Role First name Last name Email GitHub user GitHub email Actions

Cohort settings (shared)

Portal link and delivery unlock

Delivery credentials: …

Unlock before class if needed; use Lock after class to hide secrets again. Delivery secrets auto-unlock on the cohort delivery date only (Europe/Berlin), then lock again unless you unlock manually.

Trainee content sections

Story, Modules (including labs), and During & after class auto-open at 00:00 Europe/Berlin on the cohort delivery date and stay open unless you lock them again. You can Unlock them early before class. Do not click Lock before the delivery date during dry-runs — that sets force_locked in the database and blocks auto-open on training day (use Unlock on each section that morning, or unlock all three at once). After class, Lock hides content again until you unlock manually.

Story: …
Modules: …
During & after class: …

Roster trainers signed in on the main site (workshop token + roster email) bypass section locks automatically. Use View workshop as on My Workshop to preview a trainee dashboard.

TipGitHub fork invites

Record each trainee’s GitHub user and/or GitHub email on the roster, then add them as a Read collaborator on the source repo before they fork. Full steps: Trainee pre-work § GitHub fork access.

Tip

Each row saves individually. New rows appear on My Workshop after the trainee clicks Refresh — usually within seconds.

NoteWorkflow diagram

Click the 💡 button (top right) to open the trainee management workflow in the shared diagram viewer — same zoom/pan popup as Mermaid diagrams on module pages.