Skip to content

ADR-0023: Stammdaten Akteure und Objekt-Attribute

  • Status: accepted
  • Datum: 2026-08-26
  • Phase: Dashboard IA / Stammdaten
  • Bezug: ADR-0010 (geo_objects), Product UX contracts

Kontext

Das Dashboard pflegt Organisationen, Personen und Projekte unter /stammdaten, war aber nicht in der Hauptnavigation. Akteure (Person, Unternehmen, Gemeinde) und GIS-Objekt-Fachfelder brauchen eine gemeinsame IA ohne neue Zentrumstabellen oder Geometrie-Schreiben im Web.

Entscheidung

  1. Navigation: Superseded durch ADR-0035 — Stammdaten ist kein Nav-Tab mehr. Rest-Routen /master-data/* (früher /stammdaten/*) haben keine Reiter Akteure / Projekte / Objekte; die Projektseite hat einen kompakten Schalter Daten | Anpassen neben dem Titel.
  2. Akteure: Keine parties-Tabelle. Personen bleiben in persons; Unternehmen und Gemeinden in organizations mit organization_type IN ('company', 'municipality'). Kontaktperson über bestehende person_organization_memberships.is_primary_contact.
  3. Personen: given_name, family_name, address, website, linkedin_url, xing_url; full_name bleibt Anzeigefeld (QGIS Value Relation).
  4. Projekte: optionale municipality_org_id FK auf Gemeinde-Organisation; Freitext municipality bleibt Fallback.
  5. API: GET /api/v1/actors — paginierte UNION-Liste (kind, q).
  6. Objekte: Dashboard pflegt Objekttypen in geo_object_kinds (Code, Anzeigename) über /master-data/objects und GET/POST/PUT/DELETE /api/v1/map/kinds. Konkrete Features und Geometrie bleiben im Editor; PATCH …/attributes bleibt für Editor-Fachfelder verfügbar.

Begründung

Product-planning-Check: zweites Kind (Gemeinde) ohne Umbenennung der Org-Tabelle. Skalierung über serverseitige Filter und Pagination, nicht Client-Merge zweier Full-Lists. Geometrie-Gate verhindert Dummy-Geom-Hacks im Web-CMS.

Verworfene Alternativen

Alternative Warum verworfen
Nav-Label „Entitäten“ / „Katalog“ Nicht etabliert; „Stammdaten“ ist schon in i18n und QGIS
Neue parties-Tabelle Bricht QGIS-FKs und M:N; Migration ohne fachlichen Gewinn
organizations.contact_person_id 1:1 Widerspricht Mehrfach-Mitgliedschaft
Dashboard PATCH /map/objects mit Dummy-Geom Geometrie ist Pflicht; verletzt Editor-only-Gate
Eigene Tabellen pro Produktkind ADR-0010: geo_objects × Beilage

Folgen

  • Alembic 0006_actors_stammdaten nach 0005_project_versions.
  • Alte Listen /master-data/organizations und /master-data/persons redirecten auf Akteure; Detail-Routen bleiben. /stammdaten/* leitet nach /master-data/*.
  • Neue kinds nutzen dieselbe Objekt-UI über geo_object_kinds und generische Beilage-Pfade.