5.5 KiB
5.5 KiB
Info-Board Neu - Umsetzungs-Todo
Phase 0 - Projektbasis
- Projektverzeichnisstruktur unter
/srv/docker/info-board-neufestlegen - Namenskonventionen fuer Server, Player, Rollen und Pakete definieren
- Dokumentationsstruktur fuer Architektur, Betrieb und Deployment anlegen
- Entscheidung fuer Server-Tech-Stack dokumentieren
- Entscheidung fuer Player-Implementierung dokumentieren
Phase 1 - Fachliches Fundament
- Rollenmodell fuer
adminund monitorgebundene Nutzer final festschreiben - Datenmodell fuer
tenant,screen,user,media_asset,playlist,playlist_item,screen_status,screen_snapshotdefinieren - Playlist-Semantik mit
duration,valid_from,valid_until,load_timeout,cache_policy,on_errorspezifizieren - Fallback-Regel fuer ungeplante oder leere Inhalte verbindlich definieren
- Statusmodell fuer Online/Offline/Degraded/Error definieren
- Kommandokatalog fuer Admin-Aktionen finalisieren
Phase 2 - Technische Zielarchitektur
- Server-Komponentenliste finalisieren
- API-Schnittstellen grob definieren
- MQTT-Topic-Struktur finalisieren
- HTTPS- und MQTT-Aufgabentrennung dokumentieren
- Screenshot-/Vorschaustrategie spezifizieren
- Offline- und Cache-Strategie bis auf Dateiebene festlegen
- Sicherheitsmodell fuer Uploads, Login und Rechte pruefen
Phase 3 - Player-Design
- Minimalen Paketbedarf fuer den Player auf Raspberry Pi OS Debian 13 ermitteln
- X11-Minimalkonzept fuer Chromium-Kiosk dokumentieren
- Startmechanismus fuer Chromium ohne Desktop-Umgebung definieren
- Verzeichnislayout auf dem Player festlegen
player-agentfachlich zuschneidenplayer-uifachlich zuschneiden- Watchdog-Konzept fuer Browser und Agent definieren
- Offline-Overlay-Verhalten spezifizieren
- Fehlerbehandlung fuer Web-Inhalte und Timeouts ausarbeiten
- Display-Steuerung fuer An/Aus, Rotation und Neustart planen
Phase 4 - Server-Design
- API-Backend fachlich schneiden
- Admin-Oberflaeche in Hauptbereiche aufteilen
- Firmen-/Monitor-Oberflaeche in Hauptbereiche aufteilen
- Storage-Konzept fuer Uploads, Cache-Dateien und Screenshots festlegen
- Authentifizierungskonzept festlegen
- Mandantentrennung im Datenmodell und in den APIs absichern
- Logging- und Monitoring-Konzept definieren
Phase 5 - Prototyping
- Minimalen Server-Prototyp bauen
- Minimalen Player-Agent-Prototyp bauen
- Minimale Player-UI bauen
- Lokale Test-Playlist mit Bild, Video, PDF und Webseite anlegen
- Fallback-Verzeichnisbetrieb demonstrieren
valid_from/valid_untilim Prototyp pruefen- Offline-Sync mit lokalem Cache pruefen
- MQTT-Kommandos
reload,restart_player,reboot,display_on,display_offtestweise durchspielen
Phase 6 - Betriebsfaehigkeit
- Docker-Compose-Setup fuer den Server anlegen
- systemd-Units fuer den Player erstellen
- Chromium-Kiosk-Startskript erstellen
- Screenshot-Erzeugung auf dem Player integrieren
- Heartbeat- und Statusmeldungen integrieren
- Fehler- und Wiederanlaufverhalten verifizieren
Phase 7 - Ansible-Automatisierung
- Rolle
signage_baseerstellen - Rolle
signage_playererstellen - Rolle
signage_displayerstellen - Rolle
signage_servererstellen - Inventar-/Variablenmodell fuer mehrere Monitore entwerfen
- Screen-spezifische Variablen wie
screen_id, Rotation und Aufloesung abbilden - Erstinstallation eines neuen Players automatisieren
- Update-Rollout eines bestehenden Players automatisieren
Phase 8 - Pilotbetrieb
- Einen Referenzmonitor fuer den Pilotbetrieb auswaehlen
- Pilotmonitor neu aufsetzen
- Verbindung zum Zentralserver herstellen
- Upload- und Playlist-Pflege mit einem Testmandanten pruefen
- Admin-Funktionen am Pilotmonitor pruefen
- Offline-Betrieb real testen
- Browser-/Renderer-Stabilitaet ueber laengeren Zeitraum beobachten
Phase 9 - Migration der Bestandsmonitore
- Migrationsreihenfolge fuer
info01bisinfo09festlegen - Rueckfallstrategie pro Monitor definieren
- Altinhalte in das neue Medienmodell ueberfuehren
- Playlists uebernehmen oder neu modellieren
- Monitore nacheinander umstellen
- Nach jeder Umstellung Stabilitaet und Fernsteuerung pruefen
Phase 10 - Nacharbeiten
- Betriebsdokumentation schreiben
- Admin-Handbuch schreiben
- Kurzhandbuch fuer Firmen-Nutzer schreiben
- Backup- und Restore-Konzept dokumentieren
- Update- und Release-Prozess festlegen
- Langfristige Wayland-Neubewertung fuer spaetere Version vormerken
Querschnittsthemen
- Datensicherung fuer Datenbank und Medien einplanen
- TLS-/Reverse-Proxy-Konzept festlegen
- Ressourcenverbrauch auf Raspberry Pi beobachten
- Verhalten bei grossen Videos optimieren
- Verhalten bei defekten externen Webseiten absichern
- Datenschutz- und Rechtefragen fuer Screenshots/Vorschauen pruefen
Erste konkrete Abarbeitungsreihenfolge
- 1. Projektstruktur im neuen Verzeichnis vervollstaendigen
- 2. Datenmodell in eigener Datei ausformulieren
- 3. API- und MQTT-Vertrag definieren
- 4. Player-Minimalkonzept fuer Raspberry Pi OS Debian 13 festzurren
- 5. Server-Compose-Grundgeruest erstellen
- 6. Player-Prototyp mit lokalem Browser-Renderer bauen
- 7. Offline-Cache und Fallback robust machen
- 8. UIs fuer Admin und Firmen schrittweise aufbauen
- 9. Ansible-Rollen erstellen
- 10. Pilotmonitor migrieren