Add Settings → Events (Presentations) defaults (interval, page-progress, auto-progress) persisted via /api/system-settings Seed defaults in init_defaults.py (10/true/true) Add Event.page_progress and Event.auto_progress (Alembic applied) CustomEventModal applies defaults on create and saves fields Scheduler publishes only currently active events per group, clears retained topics when none, normalizes times to UTC; include flags in payloads Docs: update README, copilot instructions, and DEV-CHANGELOG If you can split the commit, even better feat(dashboard): add presentation defaults UI feat(api): seed presentation defaults in init_defaults.py feat(model): add Event.page_progress and Event.auto_progress feat(scheduler): publish only active events; clear retained topics; UTC docs: update README and copilot-instructions chore: update DEV-CHANGELOG
145 lines
6.7 KiB
JSON
145 lines
6.7 KiB
JSON
{
|
||
"appName": "Infoscreen-Management",
|
||
"version": "2025.1.0-alpha.12",
|
||
"copyright": "© 2025 Third-Age-Applications",
|
||
"supportContact": "support@third-age-applications.com",
|
||
"description": "Eine zentrale Verwaltungsoberfläche für digitale Informationsbildschirme.",
|
||
"techStack": {
|
||
"Frontend": "React, Vite, TypeScript",
|
||
"Backend": "Python (Flask), SQLAlchemy",
|
||
"Database": "MariaDB",
|
||
"Realtime": "Mosquitto (MQTT)",
|
||
"Containerization": "Docker"
|
||
},
|
||
"openSourceComponents": {
|
||
"frontend": [
|
||
{ "name": "React", "license": "MIT" },
|
||
{ "name": "Vite", "license": "MIT" },
|
||
{ "name": "Lucide Icons", "license": "ISC" },
|
||
{ "name": "Syncfusion UI Components", "license": "Kommerziell / Community" }
|
||
],
|
||
"backend": [
|
||
{ "name": "Flask", "license": "BSD" },
|
||
{ "name": "SQLAlchemy", "license": "MIT" },
|
||
{ "name": "Paho-MQTT", "license": "EPL/EDL" },
|
||
{ "name": "Alembic", "license": "MIT" }
|
||
]
|
||
},
|
||
"buildInfo": {
|
||
"buildDate": "2025-10-18T14:00:00Z",
|
||
"commitId": "9f2ae8b44c3a"
|
||
},
|
||
"changelog": [
|
||
{
|
||
"version": "2025.1.0-alpha.12",
|
||
"date": "2025-10-18",
|
||
"changes": [
|
||
"✨ Einstellungen › Events › Präsentationen: Neue Felder für Slide-Show Intervall, Seitenfortschritt (Page-Progress) und Präsentationsfortschritt (Auto-Progress) – inspiriert von Impressive Presenter (-q, -k).",
|
||
"️ Event-Modal: Präsentations-Einstellungen werden beim Erstellen aus globalen Defaults geladen; beim Bearbeiten aus Event-Daten; individuell pro Event anpassbar.",
|
||
"🐛 Bugfix: Scheduler sendet jetzt leere retained Messages (`[]`) wenn keine Events mehr aktiv sind (Client-Display wird korrekt gelöscht).",
|
||
"🔧 Bugfix: Nur aktuell aktive Events werden via MQTT an Clients gesendet (reduziert Datenübertragung).",
|
||
"📖 Doku: Copilot-Instructions um Präsentations-Settings, Scheduler-Logik und Event-Modal erweitert."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.11",
|
||
"date": "2025-10-16",
|
||
"changes": [
|
||
"✨ Einstellungen-Seite: Neues Tab-Layout (Syncfusion) mit rollenbasierter Sichtbarkeit – Tabs: 📅 Akademischer Kalender, 🖥️ Anzeige & Clients, 🎬 Medien & Dateien, 🗓️ Events, ⚙️ System.",
|
||
"🗓️ Einstellungen › Events: WebUntis/Vertretungsplan – Zusatz-Tabelle (URL) in den Events-Tab verschoben; Aktivieren/Deaktivieren, Speichern und Vorschau; systemweite Einstellung.",
|
||
"📅 Einstellungen › Akademischer Kalender: Aktive akademische Periode kann direkt gesetzt werden.",
|
||
" Doku: README zur Einstellungen-Seite (Tabs) und System-Settings-API ergänzt."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.10",
|
||
"date": "2025-10-15",
|
||
"changes": [
|
||
"🔐 Auth: Login und Benutzerverwaltung implementiert (rollenbasiert, persistente Sitzungen).",
|
||
"✨ UI: Benutzer-Menü oben rechts – DropDownButton mit Benutzername/Rolle; Einträge: ‘Profil’ und ‘Abmelden’.",
|
||
"🧩 Frontend: Syncfusion SplitButtons integriert (react-splitbuttons) und Vite-Konfiguration für Pre-Bundling ergänzt.",
|
||
"🐛 Fix: Import-Fehler ‘@syncfusion/ej2-react-splitbuttons’ – Anleitung in README hinzugefügt (optimizeDeps + Volume-Reset)."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.9",
|
||
"date": "2025-10-14",
|
||
"changes": [
|
||
"✨ UI: Einheitlicher Lösch-Workflow für Termine – alle Typen (Einzeltermin, Einzelinstanz, ganze Serie) werden mit eigenen, benutzerfreundlichen Dialogen behandelt.",
|
||
"🔧 Frontend: Syncfusion-RecurrenceAlert und DeleteAlert werden abgefangen und durch eigene Dialoge ersetzt (inkl. finale Bestätigung für Serienlöschung).",
|
||
"✅ Bugfix: Keine doppelten oder verwirrenden Bestätigungsdialoge mehr beim Löschen von Serienterminen.",
|
||
"📖 Doku: README und Copilot-Instructions um Lösch-Workflow und Dialoghandling erweitert."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.8",
|
||
"date": "2025-10-11",
|
||
"changes": [
|
||
"🎨 Theme: Umstellung auf Syncfusion Material 3; zentrale CSS-Imports in main.tsx",
|
||
"🧹 Cleanup: Tailwind CSS komplett entfernt (Pakete, PostCSS, Stylelint, Konfigurationsdateien)",
|
||
"🧩 Gruppenverwaltung: \"infoscreen_groups\" auf Syncfusion-Komponenten (Buttons, Dialoge, DropDownList, TextBox) umgestellt; Abstände verbessert",
|
||
"🔔 Benachrichtigungen: Vereinheitlichte Toast-/Dialog-Texte; letzte Alert-Verwendung ersetzt",
|
||
"📖 Doku: README und Copilot-Anweisungen angepasst (Material 3, zentrale Styles, kein Tailwind)"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.7",
|
||
"date": "2025-09-21",
|
||
"changes": [
|
||
"🧭 UI: Periode-Auswahl (Syncfusion) neben Gruppenauswahl; kompaktes Layout",
|
||
"✅ Anzeige: Abzeichen für vorhandenen Ferienplan + Zähler 'Ferien im Blick'",
|
||
"📅 Scheduler: Standardmäßig keine Terminierung in Ferien; Block-Darstellung wie Ganztagesereignis; schwarze Textfarbe",
|
||
"📤 Ferien: Upload von TXT/CSV (headless TXT nutzt Spalten 2–4)",
|
||
"🔧 UX: Schalter in einer Reihe; Dropdown-Breiten optimiert"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.6",
|
||
"date": "2025-09-20",
|
||
"changes": [
|
||
"🗓️ NEU: Akademische Perioden System - Unterstützung für Schuljahre, Semester und Trimester",
|
||
"🔗 ERWEITERT: Events und Medien können jetzt optional einer akademischen Periode zugeordnet werden",
|
||
"🎯 BILDUNG: Fokus auf Schulumgebung mit Erweiterbarkeit für Hochschulen"
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.5",
|
||
"date": "2025-09-14",
|
||
"changes": [
|
||
"Komplettes Redesign des Backend-Handlings der Gruppenzuordnungen von neuen Clients und der Schritte bei Änderung der Gruppenzuordnung."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.4",
|
||
"date": "2025-09-01",
|
||
"changes": [
|
||
"Grundstruktur für Deployment getestet und optimiert.",
|
||
"FIX: Programmfehler beim Umschalten der Ansicht auf der Medien-Seite behoben."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.3",
|
||
"date": "2025-08-30",
|
||
"changes": [
|
||
"NEU: Programminfo-Seite mit dynamischen Daten, Build-Infos und Changelog.",
|
||
"NEU: Logout-Funktionalität implementiert.",
|
||
"FIX: Breite der Sidebar im eingeklappten Zustand korrigiert."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.2",
|
||
"date": "2025-08-29",
|
||
"changes": [
|
||
"INFO: Analyse und Anzeige der verwendeten Open-Source-Bibliotheken."
|
||
]
|
||
},
|
||
{
|
||
"version": "2025.1.0-alpha.1",
|
||
"date": "2025-08-28",
|
||
"changes": [
|
||
"Initiales Setup des Projekts und der Grundstruktur."
|
||
]
|
||
}
|
||
]
|
||
}
|