Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| howto:git:classroom50:lehrpersonen [2026/08/18 12:38] – Begriff Klassenzimmer durch Classroom ersetzt admin | howto:git:classroom50:lehrpersonen [2026/08/25 10:06] (aktuell) – Veraltet - Inhalt jetzt unter github.com/BZZ-Commons/pygrader50/docs admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Classroom 50: Classrooms und Aufgaben verwalten ====== | ||
| - | |||
| - | Diese Seite beschreibt den **laufenden Betrieb**. Einen Classroom neu | ||
| - | aufsetzen: [[.: | ||
| - | [[.: | ||
| - | |||
| - | ===== Werkzeug ===== | ||
| - | |||
| - | Classroom 50 hat keine Web-Oberfläche zum Verwalten. Alles läuft über die | ||
| - | GitHub-CLI-Erweiterung '' | ||
| - | |||
| - | <code bash> | ||
| - | gh extension install foundation50/ | ||
| - | gh auth refresh -h github.com -s admin: | ||
| - | </ | ||
| - | |||
| - | Der zweite Befehl ist keine Formalie: Ohne '' | ||
| - | '' | ||
| - | braucht deshalb ein interaktives Terminal. | ||
| - | |||
| - | <code bash> | ||
| - | gh teacher classroom list <ORG> | ||
| - | </ | ||
| - | |||
| - | ===== Klassenliste (Roster) ===== | ||
| - | |||
| - | Die Klassenliste liegt als ''< | ||
| - | diesem Header: | ||
| - | |||
| - | < | ||
| - | username, | ||
| - | </ | ||
| - | |||
| - | <WRAP center round important 90%> | ||
| - | Ältere Classrooms haben stattdessen eine '' | ||
| - | jeder '' | ||
| - | leer. Datei umbenennen und die Spalte '' | ||
| - | </ | ||
| - | |||
| - | Das Roster steuert die Bewertung **nicht** — es liefert nur Anzeigedaten. | ||
| - | Eingesammelt wird nach der Union aus Studenten-Team und **allen** Staff-Teams | ||
| - | ('' | ||
| - | Ablauf zu testen, wird wie eine lernende Person bewertet und landet in | ||
| - | '' | ||
| - | Testrepos nach dem Test löschen **und** den Eintrag aus '' | ||
| - | entfernen. | ||
| - | |||
| - | ===== Aufgaben ===== | ||
| - | |||
| - | Alle Aufgaben einer Klasse stehen in ''< | ||
| - | Config-Repo. Ein Eintrag verweist auf das Template-Repo, | ||
| - | Abgabetermin und den zu verwendenden Autograder. | ||
| - | |||
| - | An der BZZ steht bei allen Aufgaben ''" | ||
| - | ''" | ||
| - | Klassen-Default, | ||
| - | |||
| - | Aufgaben auflisten: | ||
| - | |||
| - | <code bash> | ||
| - | gh api repos/< | ||
| - | -H ' | ||
| - | </ | ||
| - | |||
| - | Zu Templates siehe [[howto: | ||
| - | Config-Repos [[howto: | ||
| - | |||
| - | ===== Resultate einsehen ===== | ||
| - | |||
| - | * **Pro Abgabe** — Release und Commit-Status im Studi-Repo. | ||
| - | * **Pro Klasse** — ''< | ||
| - | * **In Moodle** — nachts um 04:57 durch '' | ||
| - | |||
| - | <code bash> | ||
| - | gh api repos/< | ||
| - | -H ' | ||
| - | </ | ||
| - | |||
| - | ===== Nachbewerten ===== | ||
| - | |||
| - | Eine Abgabe neu bewerten lassen: im Studi-Repo unter **Actions** den | ||
| - | Bewertungslauf erneut starten (//Re-run all jobs//). Das erzeugt ein neues | ||
| - | Release; der nächste Moodle-Lauf überträgt die geänderte Punktzahl automatisch, | ||
| - | weil sich die Punktzahl unterscheidet. | ||
| - | |||
| - | Nur die Note in Moodle nachtragen, ohne neuen Lauf: | ||
| - | |||
| - | <code bash> | ||
| - | gh workflow run moodle-sync.yaml --repo < | ||
| - | -f classroom=< | ||
| - | </ | ||
| - | |||
| - | ===== Betriebsfallen ===== | ||
| - | |||
| - | ==== scores.json wird nie aufgeräumt ==== | ||
| - | |||
| - | Das Einsammeln ist ein reiner Upsert, geschlüsselt auf den Repo-Owner. Ein | ||
| - | Eintrag bleibt stehen, auch wenn das Repository gelöscht oder die Person | ||
| - | ausgetragen wurde. Weil der Moodle-Übertrag mit Exit 1 endet, sobald **eine** | ||
| - | Übertragung scheitert, färbt ein einziger solcher Karteileichen-Eintrag den | ||
| - | Nachtlauf dauerhaft rot. | ||
| - | |||
| - | **Nach einer Abmeldung den Eintrag von Hand aus ''< | ||
| - | entfernen.** | ||
| - | |||
| - | ==== Der Service-Token braucht Administration-Rechte ==== | ||
| - | |||
| - | Fehlt dem '' | ||
| - | // | ||
| - | mit '' | ||
| - | trotzdem gesammelt, der Job endet aber rot und die TA-Teams bekommen keinen | ||
| - | Zugriff. | ||
| - | |||
| - | <code bash> | ||
| - | gh teacher rotate-service-token <ORG> | ||
| - | </ | ||
| - | |||
| - | ==== Python-Version ==== | ||
| - | |||
| - | Ohne Angabe von '' | ||
| - | installieren sich pytest 9.x und pylint 4.x — die Lint-Punkte fallen strenger | ||
| - | aus als mit den alten Template-Pins ('' | ||
| - | |||
| - | ===== Weiter ===== | ||
| - | |||
| - | * [[.: | ||
| - | * [[.: | ||
| - | * [[.: | ||