Architekturentscheidungen (ADRs)
Infrastruktur- und Stack-Entscheidungen. Jede ADR hält Kontext, Wahl, Begründung und verworfene Alternativen. Status superseded bleibt stehen und verweist auf den Nachfolger.
| ADR | Titel | Status | Phase |
|---|---|---|---|
| 0001 | GIS-Runtime OpenLayers + MVT | accepted | P2 / Map |
| 0002 | Auth-Proxy PgBouncer mTLS | accepted (CN-Mapping: 0055) | P-SEC |
| 0003 | VPN-Hülle nach Cutover | accepted | P-SEC |
| 0004 | Editor schreibt nur online | accepted | P2 |
| 0005 | PDF-Rohinput als Dateiablage | accepted | P3 |
| 0006 | Bericht-Sets im Dashboard | accepted | P5 |
| 0007 | Chat Kunde↔Betreiber, Tickets parallel zu Jira | accepted (Nicht-Sync abgelöst: 0059) | P6 |
| 0008 | QGIS-Export 3.40 LTR, Test 4.2 | superseded (0045) | P7 |
| 0009 | PostGIS 17-3.5, nicht 18 | accepted | bump / P1 |
| 0010 | geo_objects als GIS-Stamm | accepted | P1 |
| 0011 | Redis 8 + Celery, hosted Docs | accepted | P-INF |
| 0012 | Python 3.14 / uv / FastAPI-Pins | accepted | bump-now |
| 0013 | Dev-API → Production-DB via PgBouncer mTLS | accepted | P-SEC |
| 0014 | Windows-Editor NSIS von Linux (cargo-xwin) |
accepted | P2 |
| 0015 | Shared map layer colors (map_layer_colors) |
accepted | P2 |
| 0016 | macOS-Editor nur nativ auf einem Mac | accepted | P2 |
| 0017 | Planung → Normierung copy (source_object_id) |
superseded (0045) | P3 |
| 0018 | Editor-Updates über statischen latest.json-Feed |
accepted | P2 |
| 0019 | Kind-Packs statt Vertikal-Zentrum | accepted | P8 |
| 0020 | Genehmigungsverfahren und Audit-Sidecar | accepted | P8 |
| 0021 | First-Party-Statusmaschine für Anträge | accepted | P8 |
| 0022 | Feld-App (Capacitor) und AR-Stufe | accepted | P11 / P12 |
| 0023 | Stammdaten Akteure und Objekt-Attribute | accepted (Nav: 0035) | Dashboard IA |
| 0024 | Named Planungsversionen (Freeze + Sidecar-Pin) | superseded (0045) | P3 / P8 |
| 0025 | Schema-CMS Hybrid (Management) und QGIS Value Relations | accepted | Editor Management |
| 0026 | Planer-Handoff per konfigurierbarem GIS-Import | accepted | Editor Import |
| 0027 | Management tabs Datenbank | Layer | Feature | superseded (0037) | Editor Management |
| 0028 | Kind-Vererbung und GIS-Promote | accepted (Tiefe: 0041) | Editor Management |
| 0029 | Editor Filteransichten (lokal pro Projekt) | accepted | Editor Kartenansicht |
| 0030 | QGIS-Plugin Capture-UI, DB pro Organisation | accepted | QGIS Plugin |
| 0031 | Control-Plane linetra, DB+Rollen pro Mandant |
accepted (QGIS-CN: 0055) | Multi-Tenant |
| 0032 | Organisationskonten, Org-Rollen, föderierter Stamm | accepted (0051) | Multi-Tenant |
| 0033 | Linetra Web Schema-SSOT, logisches Projektschema, Plugin apply-only | accepted | Web Schema-CMS |
| 0034 | Katalog-Kopien und bidirektionaler Sync | accepted | Web Schema-CMS |
| 0035 | Kein Stammdaten-Nav unter Datenmanagement | accepted | Web IA |
| 0036 | Benannte Schemata (Standard + föderierte Packs) | superseded (0037) | Web Schema-CMS |
| 0037 | Entity-Typ und Scope als Einstellungen | accepted | Web Schema-CMS |
| 0038 | Katalog-Löschen: behalten oder überall entfernen | accepted | Web Schema-CMS |
| 0039 | Feld-Kardinalität und Pflicht | accepted | Web Schema-CMS |
| 0040 | Projekt-Systemfelder | accepted | Web Schema-CMS / Stammdaten |
| 0041 | Einstufige Kind-Hierarchie, abstrakte Eltern | accepted (Instanzen: 0044) | Web Schema-CMS |
| 0042 | Benannte Auswahllisten für Enum und Liste | accepted | Web Schema-CMS |
| 0043 | Föderierte Datenobjekte im Standard-Schema | accepted | Web Schema-CMS |
| 0044 | Typabhängige Hierarchie, Transfer oder Löschen | accepted (Layer-Zweig: 0045) | Web Schema-CMS |
| 0045 | QGIS-Typen Gruppe, Layer, Datensatz | accepted | Web Schema-CMS |
| 0046 | Katalog-Checkout: Lock, Entwurf, Anwenden | accepted | Web Schema-CMS |
| 0047 | Jedes Projekt hat ein benanntes Schema | accepted | Web Schema-CMS |
| 0048 | Layer in mehreren Gruppen | accepted | Web Schema-CMS |
| 0049 | Schreibbare QGIS-Views pro Blatt-Layer | accepted | Web Schema-CMS / QGIS Plugin |
| 0050 | Sonder-View fiber_routes entfernen |
accepted | Web Schema-CMS / QGIS Plugin |
| 0051 | Sysadmin legt Orgs an; Control nur Metadaten | accepted | Multi-Tenant |
| 0052 | Projektmitgliedschaft (Owner / Bearbeiter / Reader) | accepted (Rollen abgelöst: 0069) | Multi-Tenant / QGIS Plugin |
| 0053 | Rollenkatalog, Systemadmin-Impersonation | accepted | Multi-Tenant / Auth |
| 0054 | Versioniertes Plattform-Ausgangsschema | accepted | Control-plane onboarding |
| 0055 | Persönliche QGIS-Cert-CN / LOGIN pro App-User | accepted | P-SEC / QGIS Plugin |
| 0056 | Layer-Systemfelder + Feature-Status-Enum | accepted | Web Schema-CMS / QGIS |
| 0057 | Formulargruppen (Web-Layout) | accepted | Web Schema-CMS |
| 0058 | Anzeigemuster für Entitäts-Labels | accepted | Web Schema-CMS |
| 0059 | Issue-Tracker (Jira) als Aufgaben-SSOT, Read-Mirror, Tracker-Abstraktion | proposed | Prozessmanagement |
| 0060 | WhatsApp Cloud API 1:1, Feldkontakte per Nummer ohne Web-Konto | proposed (teilweise abgelöst: 0069) | Prozessmanagement |
| 0061 | KI-Mittelsmann als Pipeline, Backoffice-Freigabe (Human in the loop) | proposed | Prozessmanagement |
| 0062 | StorageBackend, Nextcloud (WebDAV) als Projektarchiv | proposed (teilweise abgelöst: 0063) | Prozessmanagement |
| 0063 | Dokumentenverwaltung: Linetra als Quelle der Wahrheit, einseitiger Cloud-Spiegel | accepted | Dokumente (P14a) |
| 0065 | Dokument-Extraktion: pdf-oxide, lokales Vision-Modell | proposed | Dokumente (P14a / P14b) |
| 0067 | KI-Provider-Verbindungen: Ollama lokal, Anthropic und OpenAI optional | accepted | Prozessmanagement / Dokumente |
| 0068 | Telegram-Bot als zweiter Kanal für Feldkontakte, Identität per Einladungslink | accepted | Prozessmanagement |
| 0069 | Organisation vs. Projekt: Projektrollen Leitung / Büro / Feld, Kommunikation je Projekt | accepted | Multi-Tenant / Prozessmanagement |
Siehe auch die Soll-Architektur Datenbankzugang (Proxy-Design) und Architektur.