Verwaltung: Personen statt nur Spieler – eine Liste der Menschen mit ihren Rollen (Spieler, Amt, Login) #64

Open
opened 2026-10-10 13:40:44 +00:00 by claude · 1 comment
Collaborator

Aufgekommen beim Brainstorming der Spec Vereinsämter und Logins (10.10.2026, docs/superpowers/specs/2026-10-10-vereinsaemter-logins-design.md).

Gedanke (Olli)

Eine Person ist ein Mensch (Name, Jahrgang, Adresse, Mail) und hat selbst nichts mit einem Verein zu tun. Zum Verein kommt sie über ihre Rollen:

Rolle Verbindung zum Verein
Spieler Vereinszugehörigkeit mit Zeitraum (club_membership)
Funktionär Amt am Verein (official)
Login Verein des Logins (user_club_mapping)

Die Verwaltung hat heute aber nur eine Liste der Spieler, also einer dieser Rollen. Eine Liste der Menschen gibt es nicht. Wer kein Spieler ist, lässt sich nicht anlegen. Personen entstehen nur als Teil eines Spielers oder eines Amts.

Wie es aussehen könnte

Eine Zeile je Mensch, mit allem, was er im System ist:

Name Jahrgang Spieler Ämter Login
Petra Kaufmann 1968 SC Livec, Lizenz, Klasse Spielleiterin SC Livec peka
André Lantos — — Spielleiter Roche —
Gregor (Beispiel) 1955 Roche (inaktiv) — Login

Was es lösen würde

  • Neuer Verein: Sein Spielleiter braucht einen Login und dafür eine Person (Person-Pflicht aus der Spec). Bis dahin muss er zuerst als Spieler erfasst werden, auch wenn er nicht spielt.
  • Helfer ohne Lizenz (z. B. verletzte, ehemalige oder nie spielende Mitglieder, die administrativ helfen). Für die Ergebniserfassung gilt bis dahin: nur Spieler des Vereins (Entscheidung 9 der Spec).
  • Doppelungen werden sichtbar, weil gleiche Namen untereinander stehen.
  • Der Login-Dialog wählt aus allen Personen statt nur aus Spielern.

Offen, vor dem Bau zu klären

  1. Darf es eine Person ohne jede Rolle geben?
  2. Löschen: Was passiert mit einer Person, die Spieler und Login zugleich ist? Was heisst „Spieler löschen“ dann noch?
  3. Wie die heutige Spielerseite (Klassierungskorrektur, Vereinswechsel mit Verlauf, Löschprüfung) unter „Person → Rolle Spieler“ neu geordnet wird.
  4. Der Namensabgleich der Vereinsangaben (ClubMemberRepository.findPersonByNameInClub) sucht heute nur unter Spielern und Funktionären, nicht unter Personen mit einem Login des Vereins.
  5. Bezug zu #44 (inaktive Spieler).

Bewusst nicht als Zwischenlösung

Ein Knopf „Neue Person anlegen“ neben „Neuer Spieler“ wurde verworfen (Olli: „nix halbes und nix ganzes“). Die Personen wären danach in keiner Liste sichtbar und nicht bearbeitbar.

Oberfläche: Screen für Screen mit Mockup.

Aufgekommen beim Brainstorming der Spec Vereinsämter und Logins (10.10.2026, `docs/superpowers/specs/2026-10-10-vereinsaemter-logins-design.md`). ## Gedanke (Olli) Eine **Person ist ein Mensch** (Name, Jahrgang, Adresse, Mail) und hat selbst nichts mit einem Verein zu tun. Zum Verein kommt sie über ihre **Rollen**: | Rolle | Verbindung zum Verein | |---|---| | Spieler | Vereinszugehörigkeit mit Zeitraum (`club_membership`) | | Funktionär | Amt am Verein (`official`) | | Login | Verein des Logins (`user_club_mapping`) | Die Verwaltung hat heute aber nur eine Liste der **Spieler**, also einer dieser Rollen. Eine Liste der Menschen gibt es nicht. Wer kein Spieler ist, lässt sich nicht anlegen. Personen entstehen nur als Teil eines Spielers oder eines Amts. ## Wie es aussehen könnte Eine Zeile je Mensch, mit allem, was er im System ist: | Name | Jahrgang | Spieler | Ämter | Login | |---|---|---|---|---| | Petra Kaufmann | 1968 | SC Livec, Lizenz, Klasse | Spielleiterin SC Livec | `peka` | | André Lantos | — | — | Spielleiter Roche | — | | Gregor (Beispiel) | 1955 | Roche (inaktiv) | — | Login | ## Was es lösen würde - **Neuer Verein:** Sein Spielleiter braucht einen Login und dafür eine Person (Person-Pflicht aus der Spec). Bis dahin muss er zuerst als Spieler erfasst werden, auch wenn er nicht spielt. - **Helfer ohne Lizenz** (z. B. verletzte, ehemalige oder nie spielende Mitglieder, die administrativ helfen). Für die Ergebniserfassung gilt bis dahin: nur Spieler des Vereins (Entscheidung 9 der Spec). - **Doppelungen** werden sichtbar, weil gleiche Namen untereinander stehen. - Der Login-Dialog wählt aus **allen** Personen statt nur aus Spielern. ## Offen, vor dem Bau zu klären 1. Darf es eine Person ohne jede Rolle geben? 2. Löschen: Was passiert mit einer Person, die Spieler und Login zugleich ist? Was heisst „Spieler löschen“ dann noch? 3. Wie die heutige Spielerseite (Klassierungskorrektur, Vereinswechsel mit Verlauf, Löschprüfung) unter „Person → Rolle Spieler“ neu geordnet wird. 4. Der Namensabgleich der Vereinsangaben (`ClubMemberRepository.findPersonByNameInClub`) sucht heute nur unter Spielern und Funktionären, nicht unter Personen mit einem Login des Vereins. 5. Bezug zu #44 (inaktive Spieler). ## Bewusst nicht als Zwischenlösung Ein Knopf „Neue Person anlegen“ neben „Neuer Spieler“ wurde verworfen (Olli: „nix halbes und nix ganzes“). Die Personen wären danach in keiner Liste sichtbar und nicht bearbeitbar. Oberfläche: Screen für Screen mit Mockup.
Author
Collaborator

Abgrenzung (Olli, 10.10.): Dieses Vorhaben bleibt eine reine Verwaltungssache: eine Liste der Menschen mit ihren Rollen, Personen ohne Lizenz anlegen, Doppelungen erkennen und zusammenführen.

Es fasst die Meldung nicht an. Die Vereinsangaben bleiben beim Eintippen, mit Vorbelegung wie heute. Ein Umbau auf „Spielleiter aus einer Liste wählen“ ist ausdrücklich nicht Teil davon, damit die Generalprobe Saisonwechsel nach diesem Vorhaben gültig bleibt. Hintergrund: Die Meldung ist vorausgefüllt (gültige Amtszeit), der Namensabgleich greift nur, wenn ein Verein einen anderen Menschen einträgt.

Namensregel wiederverwenden: Die Spec Vereinsämter (Entscheidung 23, Commit 6bf1898) gleicht Namen überall gleich ab, nämlich in der Migration V44 und beim Speichern der Vereinsangaben. Sie nutzt dafür die bestehende TtvpPlayerIndex.normalize (ae/oe/ue, ss, ohne Akzente, ohne Gross/Klein, Leerzeichen). Dieses Vorhaben nimmt dieselbe Regel, um Doppelungen anzuzeigen. Was sie nicht erwischt (Tippfehler wie „Segio“/„Sergio“ Viva), führt der Admin hier von Hand zusammen.

Löst später die beiden Umwege aus der Spec ab: Entscheidung 9 (Helfer der Ergebniserfassung müssen Spieler sein) und Entscheidung 21 (Spielleiter eines neuen Vereins zuerst als Spieler erfassen).

**Abgrenzung (Olli, 10.10.):** Dieses Vorhaben bleibt eine reine **Verwaltungssache**: eine Liste der Menschen mit ihren Rollen, Personen ohne Lizenz anlegen, Doppelungen erkennen und zusammenführen. **Es fasst die Meldung nicht an.** Die Vereinsangaben bleiben beim Eintippen, mit Vorbelegung wie heute. Ein Umbau auf „Spielleiter aus einer Liste wählen“ ist ausdrücklich nicht Teil davon, damit die Generalprobe Saisonwechsel nach diesem Vorhaben gültig bleibt. Hintergrund: Die Meldung ist vorausgefüllt (gültige Amtszeit), der Namensabgleich greift nur, wenn ein Verein einen anderen Menschen einträgt. **Namensregel wiederverwenden:** Die Spec Vereinsämter (Entscheidung 23, Commit `6bf1898`) gleicht Namen überall gleich ab, nämlich in der Migration `V44` und beim Speichern der Vereinsangaben. Sie nutzt dafür die bestehende `TtvpPlayerIndex.normalize` (ae/oe/ue, ss, ohne Akzente, ohne Gross/Klein, Leerzeichen). Dieses Vorhaben nimmt **dieselbe Regel**, um Doppelungen anzuzeigen. Was sie nicht erwischt (Tippfehler wie „Segio“/„Sergio“ Viva), führt der Admin hier von Hand zusammen. Löst später die beiden Umwege aus der Spec ab: Entscheidung 9 (Helfer der Ergebniserfassung müssen Spieler sein) und Entscheidung 21 (Spielleiter eines neuen Vereins zuerst als Spieler erfassen).
Sign in to join this conversation.
No description provided.