docs: update open TODO status and patchpanel documentation

- refresh TODO.md section for bugs/docs/status files

- align implementation status for delete/auth progress

- mark patchpanel infrastructure and floor SVG editor status in README

- finalize database patchpanel status notes and init.sql connection rules
This commit is contained in:
2026-02-18 09:29:57 +01:00
parent c8fb5b140c
commit ec20fa2f96
5 changed files with 30 additions and 27 deletions

View File

@@ -70,16 +70,16 @@
2. **Datenbank-Zugriff** - SQL-Klasse lädt und speichert Daten
3. **Responsive Design** - Alle Formulare und Listen sind formatiert
4. **Filter & Suche** - Alle Module haben Suchfunktionen
5. **CRUD-Operationen** - Create, Read, Update für alle Hauptmodule
5. **CRUD-Operationen** - Create, Read, Update, Delete für alle Hauptmodule
---
## ⚠️ Noch zu machen (Not-Must-Have)
### Höhere Priorität:
- [ ] **Delete-Funktionen** - Löschen noch als TODO (als AJAX implementieren)
- [x] **Delete-Funktionen** - Delete-Endpoints für Kernmodule inkl. `connections` und `floor_infrastructure` umgesetzt
- [ ] **Fehlerbehandlung** - Error Pages, Validierungsmeldungen
- [ ] **Session/Auth** - Single-User Auth in bootstrap.php
- [x] **Session/Auth** - Single-User-Auth mit `requireAuth()` und `app/lib/auth.php` eingebunden
- [ ] **SVG-Editor** - Interaktiver Floorplan-Editor für Räume/Dosen
- [ ] **Port-Management** - Ports zu Geräten zuweisen
@@ -106,7 +106,7 @@ app/
├── lib/
│ ├── _sql.php ✅ DB-Wrapper
│ ├── helpers.php ✅ Utility-Funktionen
│ └── auth.php 🚧 TODO: Auth
│ └── auth.php ✅ Auth-Helper + requireAuth()
├── templates/
│ ├── layout.php ✅ HTML-Layout
│ ├── header.php ✅ Header/Nav
@@ -132,7 +132,7 @@ app/
## 💡 Nächste Schritte (empfohlen)
1. **Testen Sie die Module** - Probieren Sie Anlegen/Bearbeiten aus
2. **Implementieren Sie Delete-Funktionen** - Mit AJAX oder POST
2. **Delete-Flows prüfen** - Sonderfälle und Fehlermeldungen bei Abhängigkeiten testen
3. **Bessere Fehlerbehandlung** - Sessions für Error-Messages
4. **Mobile-Optimierung** - Responsive Verbesserungen
5. **SVG-Editor für Floorplans** - Visuelles Raumdesign

View File

@@ -238,19 +238,19 @@ Verbindungen werden:
- Die untereinander verbundenen Patchpanels lassen sich direkt auf der SVG-Stockwerkskarte verorten, damit jeder Port physisch nachvollziehbar bleibt.
- Verbindungen zu Racks / Switches darstellbar
### TODO: Patchpanel-Infrastruktur
- [ ] Floorplans erweitern, damit Patchpanels als feste Infrastrukturobjekte (nicht als rack-basierte `devices`) angelegt, verschoben und mit `x/y`/Größe verankert werden.
- [ ] Backend und SVG-Editor dahingehend adaptieren, dass Patchpanel-Ports unabhängig von Racks definiert werden können.
- [ ] Patchpanel ↔ Patchpanel- und Patchpanel ↔ Netzwerkbuchse-Verbindungen als permanente Kabel zwischen Floorplan-Objekten darstellen und über die `connections`-Tabelle verwalten.
- [ ] UI/Schema-Dokumentation aktualisieren (README + Datenbank-Docs) sowie neue SQL-Tabellen (`floor_patchpanels` / `floor_patchpanel_ports`) fertigstellen.
- [ ] Floorplan-Filter/Legend leiten die Nutzung dieser Infrastrukturobjekte, Kampagnen und Search & Filter integrieren.
### Patchpanel-Infrastruktur (Status: 18. Februar 2026)
- [x] Floorplans erweitert: Patchpanels können als feste Infrastrukturobjekte (ohne Rack-Device) inkl. `x/y` und Größe verwaltet werden.
- [x] Backend + SVG-Editor angepasst: Patchpanel-Ports werden über `floor_patchpanel_ports` gepflegt.
- [x] Patchpanel ↔ Patchpanel und Patchpanel ↔ Netzwerkbuchse werden über `connections` verwaltet.
- [x] SQL-Tabellen `floor_patchpanels` / `floor_patchpanel_ports` sind im Schema enthalten.
- [ ] Floorplan-Filter/Legend und erweiterte Suche für Infrastrukturobjekte weiter ausbauen.
### Stockwerksinfrastruktur-Modul
- Das neue Modul „Stockwerksinfrastruktur“ sammelt Patchpanels und Wandbuchsen an einem Ort.
- Patchfelder bekommen feste X/Y-Positionen, Maße, Portanzahl und verknüpfen zu Floorplans.
- Wandbuchsen sind direkt mit Räumen verbunden, können aber auch später im SVG verteilt werden.
- Ziel: Die Floorplan-Grafik zeigt die permanente Infrastruktur samt fest verlegter Kabelverläufe.
- TODO: SVG-Editor um Drag & Drop für diese Objekte erweitern und Klicks direkt mit dem Modul verbinden.
- [x] SVG-Editor für diese Objekte ist mit Drag & Drop umgesetzt und direkt mit dem Modul verbunden.
---

20
TODO.md
View File

@@ -20,17 +20,17 @@ Quelle: vorhandene `TODO`-Marker im Repository plus offene Architekturpunkte.
## Offen (Bugs / Doku / Statusdateien)
- [ ] `BUGS.md:3`: Design vereinheitlichen.
- [ ] `IMPLEMENTATION_STATUS.md:80`: Delete-Funktionen-Status aktualisieren.
- [ ] `IMPLEMENTATION_STATUS.md:109`: Auth-Status aktualisieren.
- [ ] `README.md:241`: Patchpanel-Infrastruktur umsetzen und danach Doku abhaken.
- [ ] `README.md:253`: SVG-Editor fuer Floor-Infrastruktur (Drag-and-Drop + direkte Modul-Interaktion).
- [ ] `doc/DATABASE.md:127`: TODO-Abschnitt fuer Patchpanel/Floorplan finalisieren.
- [ ] `init.sql:379`: Kommentar zur Port-Konfiguration in verbindliche Implementierungsregeln ueberfuehren.
- [ ] `BUGS.md`: Design vereinheitlichen.
- [x] `IMPLEMENTATION_STATUS.md`: Delete-Funktionen-Status aktualisiert.
- [x] `IMPLEMENTATION_STATUS.md`: Auth-Status aktualisiert.
- [x] `README.md`: Patchpanel-Infrastruktur-Status nachgezogen.
- [x] `README.md`: SVG-Editor-Status fuer Floor-Infrastruktur nachgezogen.
- [x] `doc/DATABASE.md`: Statusabschnitt fuer Patchpanel/Floorplan finalisiert.
- [x] `init.sql`: Port-Konfigurationsregeln konkretisiert.
## Topologie-Backlog (ausstehend)
- [ ] `connections.port_a_type` / `connections.port_b_type` um `patchpanel` erweitern und auf `floor_patchpanel_ports.id` referenzieren.
- [x] `connections.port_a_type` / `connections.port_b_type` um `patchpanel` erweitert und auf `floor_patchpanel_ports.id` nutzbar gemacht.
- [ ] Validierungsregeln fuer Topologie fest verdrahten (Patchpanel-Port nur mit Patchpanel-Port oder Netzwerkbuchsen-Port).
- [ ] Port-CRUD fuer Patchpanels: `floor_patchpanel_ports` aus `port_count` erzeugen/synchronisieren.
- [ ] Port-CRUD fuer Netzwerkbuchsen: `network_outlet_ports` pflegen (mindestens ein Port je Buchse) und in Verbindungen nutzbar machen.
- [x] Port-CRUD fuer Patchpanels: `floor_patchpanel_ports` wird aus `port_count` erzeugt/synchronisiert.
- [x] Port-CRUD fuer Netzwerkbuchsen: `network_outlet_ports` wird gepflegt (mindestens ein Port je Buchse) und ist in Verbindungen nutzbar.

View File

@@ -124,10 +124,10 @@ Die Bühne für Patchpanel-Objekte auf dem Stockwerkplan.
- Attributes: Panel-Referenz, `name`, `port_type_id`, optionale VLAN- bzw. Status-Attribute.
- Ports werden über `connections` sowohl mit anderen Patchpanels als auch mit Netzwerkbuchsen (`network_outlet_ports`) oder Gerätports verbunden; dadurch lassen sich Router-Kabel grafisch darstellen.
**TODO**
- [ ] Floorplan- und CRUD-Module so erweitern, dass Patchpanels als Floor-Objekte verwaltet und deren Ports gepflegt werden können (`floor_patchpanels`, `floor_patchpanel_ports`).
- [ ] Verbindungen zwischen Patchpanel ↔ Patchpanel und Patchpanel ↔ Netzwerkbuchse standardisiert in der `connections`-Logik abbilden.
- [ ] UI/CSV/Export/Dokumentation nachziehen, damit Planer sofort sehen, wo die permanent installierten Kabel verlaufen.
**Status (18. Februar 2026)**
- [x] Floorplan- und CRUD-Module wurden für Patchpanels als Floor-Objekte inkl. Port-Pflege erweitert (`floor_patchpanels`, `floor_patchpanel_ports`).
- [x] Verbindungen zwischen Patchpanel ↔ Patchpanel und Patchpanel ↔ Netzwerkbuchse sind in der `connections`-Logik abbildbar.
- [ ] UI/CSV/Export-Dokumentation weiter ausbauen, damit Planer Kabelverläufe direkt auswerten können.
---

View File

@@ -376,7 +376,10 @@ CREATE TABLE `floor_patchpanel_ports` (
`comment` text DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci;
-- TODO: Port-Konfiguration (Patchpanel ↔ Patchpanel, Patchpanel ↔ Netzwerkbuchse) wird über die `connections`-Tabelle geregelt.
-- Port-Regeln fuer Patchpanel-Verbindungen:
-- 1) `connections.port_a_type` / `connections.port_b_type` nutzen den Wert `patchpanel` fuer IDs aus `floor_patchpanel_ports`.
-- 2) Patchpanel-Ports duerfen mit Patchpanel-Ports, Netzwerkbuchsen-Ports (`outlet`) oder Geraete-/Modulports verbunden werden.
-- 3) Die fachliche Validierung erfolgt in den Save-Handlern der Verbindungs-Module; das Schema bleibt polymorph.
-- --------------------------------------------------------