Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| howto:git:template [2026/08/17 08:51] – Sync aus BZZ-Commons/pygrader50 (v2.1.2) admin | howto:git:template [2026/08/25 10:06] (aktuell) – Veraltet - Inhalt jetzt unter github.com/BZZ-Commons/pygrader50/docs admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Template-Repositories ====== | ||
| - | |||
| - | Ein **Template-Repository** enthält den Startcode einer Aufgabe. Classroom 50 | ||
| - | kopiert es beim Annehmen in ein privates Repository der lernenden Person. Die | ||
| - | Python-Templates der BZZ liegen in der Organisation '' | ||
| - | |||
| - | ===== Aufbau ===== | ||
| - | |||
| - | < | ||
| - | < | ||
| - | ├── .github/ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | │ | ||
| - | ├── tests/ | ||
| - | │ | ||
| - | ├── main.py | ||
| - | ├── requirements.txt | ||
| - | └── README.md | ||
| - | </ | ||
| - | |||
| - | <WRAP center round important 90%> | ||
| - | **Kein '' | ||
| - | unter Classroom 50 zentral aus dem Config-Repo. Bleibt die alte Datei liegen, | ||
| - | laufen bei jedem Push zwei Autograder nebeneinander — siehe | ||
| - | [[.: | ||
| - | </ | ||
| - | |||
| - | ===== Namensregeln ===== | ||
| - | |||
| - | Der Repository-Name ist der **Slug** der Aufgabe. Er wird an drei Stellen | ||
| - | identisch verwendet: | ||
| - | |||
| - | - Name des Template-Repos | ||
| - | - '' | ||
| - | - Name der Aktivität //External Assignment// | ||
| - | |||
| - | Kleinbuchstaben, | ||
| - | |||
| - | < | ||
| - | m323-lu01-a02-imperativer-ggt | ||
| - | m320-lu04-a4-objektkommunikation | ||
| - | </ | ||
| - | |||
| - | <WRAP center round tip 90%> | ||
| - | Gegenüber GitHub Classroom entfällt die alte Einschränkung, | ||
| - | Bindestriche enthalten darf. Classroom 50 arbeitet durchgehend mit Slugs. | ||
| - | </ | ||
| - | |||
| - | ===== Neues Template anlegen ===== | ||
| - | |||
| - | - Repository in '' | ||
| - | - Startcode, Tests und '' | ||
| - | - '' | ||
| - | - Aufgabe in ''< | ||
| - | - In Moodle eine Aktivität //External Assignment// | ||
| - | |||
| - | ===== requirements.txt ===== | ||
| - | |||
| - | Die Datei ist für die **lokale** Arbeit der Lernenden da. Die Bewertung auf | ||
| - | GitHub installiert sie bewusst nicht: pygrader50 bringt eigene Abhängigkeiten | ||
| - | mit, exakt gepinnt in seiner '' | ||
| - | reproduzierbar bleibt. | ||
| - | |||
| - | Die alten Pins '' | ||
| - | nicht mehr lauffähig. Wer die Datei pflegt, sollte sie deshalb auf aktuelle | ||
| - | Versionen heben — sonst weicht die lokale Umgebung der Lernenden von der | ||
| - | Bewertung ab. | ||
| - | |||
| - | ===== Änderungen an einem Template ===== | ||
| - | |||
| - | <WRAP center round important 90%> | ||
| - | **Template-Änderungen erreichen bestehende Repositories nicht.** Ein Studi-Repo | ||
| - | trägt seine Kopie aus dem Moment der Annahme. Eine korrigierte '' | ||
| - | muss also entweder in die bereits angenommenen Repos nachgezogen werden — oder, | ||
| - | besser, als Bundle ins Config-Repo wandern, wo sie sofort für alle gilt. | ||
| - | </ | ||
| - | |||
| - | Das ist das stärkste Argument für die Bundles unter | ||
| - | ''< | ||
| - | Push für die ganze Klasse. | ||
| - | |||
| - | ===== Weiter ===== | ||
| - | |||
| - | * [[.: | ||
| - | * [[.: | ||
| - | * [[howto: | ||