Display Module 13-05-2026
This commit is contained in:
parent
6a65354f4c
commit
9262132325
41 changed files with 496 additions and 334 deletions
|
|
@ -16,8 +16,8 @@ Im Admin-Portal unter `portal.b2in.test/admin/cms/` existiert der Bereich **Stor
|
|||
|---|---|
|
||||
| `cms/display-dashboard` | Übersicht / Einstieg |
|
||||
| `cms/display-media` | Mediathek (eigene Display-Mediathek, getrennt von Flux CMS) |
|
||||
| `cms/display-versions` | Inhalts-„Versionen" |
|
||||
| `cms/display-versions/{id}/edit` | Editor für eine Version |
|
||||
| `cms/display-modules` | Inhalts-Module |
|
||||
| `cms/display-modules/{id}/edit` | Editor für ein Modul |
|
||||
| `cms/displays` | Physische Displays + Playlist-Zuweisung |
|
||||
| `cms/cabinet-tablet` | Info-Tablet (Öffnungszeiten/Status) |
|
||||
|
||||
|
|
@ -25,13 +25,14 @@ Im Admin-Portal unter `portal.b2in.test/admin/cms/` existiert der Bereich **Stor
|
|||
|
||||
```
|
||||
displays (5 Datensätze live)
|
||||
└── m:n via display_display_version (sort_order = Playlist-Reihenfolge)
|
||||
└── display_versions (5 Datensätze live)
|
||||
├── type: video-display | b2in | offers
|
||||
├── settings: JSON
|
||||
└── 1:n display_version_items (17 Datensätze live)
|
||||
├── item_type: video | footer | media | slide
|
||||
└── content: JSON
|
||||
└── 1:n display_playlists (Live/Entwurf)
|
||||
└── 1:n display_playlist_items (sort_order = Playlist-Reihenfolge)
|
||||
└── display_versions (technisch), fachlich Module
|
||||
├── type: video-display | b2in | offers
|
||||
├── settings: JSON
|
||||
└── 1:n display_version_items
|
||||
├── item_type: video | footer | media | slide
|
||||
└── content: JSON
|
||||
```
|
||||
|
||||
### 1.3 Echte Live-Daten (Stand heute)
|
||||
|
|
@ -83,7 +84,7 @@ displays (5 Datensätze live)
|
|||
| Mediathek | **Display-Mediathek** *(unverändert)* | Bilder/Videos für Displays. |
|
||||
| Info-Tablet | **Info-Tablet** *(unverändert)* | Eingangs-Tablet mit Öffnungszeiten. |
|
||||
|
||||
Routen werden entsprechend umbenannt: `display-versions` → `display-modules`.
|
||||
Routen wurden entsprechend umbenannt: `display-versions` → `display-modules`. Die Übergangs-Redirects wurden in Phase 7 entfernt.
|
||||
|
||||
### 2.2 Neues mentales Modell
|
||||
|
||||
|
|
@ -181,7 +182,7 @@ für jedes Display D:
|
|||
erstelle display_playlists (display_id=D.id, status='published', published_at=now())
|
||||
für jeden Eintrag aus display_display_version (display_id=D.id), sortiert nach sort_order:
|
||||
erstelle display_playlist_items (...)
|
||||
display_display_version-Tabelle bleibt vorerst → wird in Phase 7 dropped.
|
||||
display_display_version-Tabelle wurde in Phase 7 dropped.
|
||||
```
|
||||
|
||||
**Ergebnis nach Migration:** Alle 5 Displays haben eine Live-Bespielung, kein Entwurf. Konsumenten-API liefert exakt das gleiche wie heute.
|
||||
|
|
@ -355,15 +356,15 @@ Jede Phase liefert ein in sich getestetes, deploybares Inkrement.
|
|||
- [ ] Player-Templates: Single-Module-Modus
|
||||
|
||||
### Phase 6 – Umbenennung & Onboarding (Tag 3)
|
||||
- [ ] Routen: `display-versions` → `display-modules` (mit 301-Redirect)
|
||||
- [ ] Komponenten / Views umbenennen
|
||||
- [ ] Dashboard-Texte / Hilfe-Bausteine aktualisieren
|
||||
- [ ] Tooltips an Schlüsselstellen
|
||||
- [x] Routen: `display-versions` → `display-modules`
|
||||
- [x] Komponenten / Views umbenennen
|
||||
- [x] Dashboard-Texte / Hilfe-Bausteine aktualisieren
|
||||
- [x] Tooltips an Schlüsselstellen
|
||||
|
||||
### Phase 7 – Aufräumen (Tag 4)
|
||||
- [ ] `display_display_version`-Tabelle dropped
|
||||
- [ ] Alte Routen entfernt
|
||||
- [ ] `DISPLAY_CMS_README.md` aktualisiert (in `dev/` ablegen)
|
||||
- [x] `display_display_version`-Tabelle dropped
|
||||
- [x] Alte Routen entfernt
|
||||
- [x] Entwicklerdoku in `dev/displays-11-05-2026` aktualisiert
|
||||
- [ ] Vollständiger Test-Run
|
||||
|
||||
---
|
||||
|
|
|
|||
|
|
@ -245,7 +245,7 @@ Umsetzung:
|
|||
|
||||
## Phase 6 – Umbenennung Versionen → Module + Onboarding
|
||||
|
||||
**Ziel:** Die Admin-UI verwendet den fachlich korrekten Begriff „Module“. Alte URLs bleiben kompatibel und leiten weiter.
|
||||
**Ziel:** Die Admin-UI verwendet den fachlich korrekten Begriff „Module“. Alte URLs wurden während der Übergangsphase per 301 weitergeleitet und in Phase 7 entfernt.
|
||||
|
||||
### Stand 12.05.2026 – ✅ abgeschlossen
|
||||
|
||||
|
|
@ -261,9 +261,9 @@ Dateien:
|
|||
Umsetzung:
|
||||
- Neue Routen: `admin/cms/display-modules` und `admin/cms/display-modules/{displayVersion}/edit`
|
||||
- Neue Routennamen: `admin.cms.display-modules` und `admin.cms.display-module-edit`
|
||||
- Alte `display-versions`-Routen bleiben erhalten und leiten per 301 auf die Modul-Routen weiter
|
||||
- Alte `display-versions`-Routen waren während der Übergangsphase als 301-Redirects aktiv und wurden in Phase 7 entfernt
|
||||
- Sidebar, Dashboard, Listen- und Editor-Texte verwenden „Module“
|
||||
- Technische Modell-/Klassennamen bleiben bis Phase 7 kompatibel bei `DisplayVersion`
|
||||
- Technische Modell-/Klassennamen bleiben bei `DisplayVersion`, da sie fachlich weiterhin die wiederverwendbaren Module abbilden
|
||||
|
||||
#### Tests
|
||||
|
||||
|
|
@ -276,3 +276,35 @@ tests/Feature/DisplayPlaylistMigrationTest.php – ok
|
|||
|
||||
Insgesamt 64 grüne Tests für Phasen 5/6 und die angrenzenden Display-Flows. Pint clean.
|
||||
|
||||
---
|
||||
|
||||
## Phase 7 – Technisches Aufräumen & Optimierung
|
||||
|
||||
**Ziel:** Nach Stabilisierung des neuen Playlist-Flows wird die alte Pivot-Kompatibilität entfernt und der Modul-Editor weiter vereinheitlicht.
|
||||
|
||||
### Stand 13.05.2026 – ✅ umgesetzt
|
||||
|
||||
Dateien:
|
||||
- `app/Models/Display.php`
|
||||
- `app/Models/DisplayVersion.php`
|
||||
- `app/Livewire/Admin/Cms/DisplayList.php`
|
||||
- `app/Console/Commands/MigrateLegacyDisplays.php`
|
||||
- `app/Support/DisplayModuleSettings.php`
|
||||
- `app/Services/DisplayPlaylistConfigBuilder.php`
|
||||
- `app/Livewire/Admin/Cms/DisplayVersionEditor.php`
|
||||
- `app/Livewire/Admin/Cms/DisplayVersionList.php`
|
||||
- `routes/admin.php`
|
||||
- `database/migrations/2026_05_13_103600_drop_display_display_version_table.php`
|
||||
- `resources/views/livewire/admin/cms/display-list.blade.php`
|
||||
- `resources/views/livewire/admin/cms/display-version-editor.blade.php`
|
||||
- `resources/views/livewire/admin/cms/partials/version-editor-video.blade.php`
|
||||
|
||||
Umsetzung:
|
||||
- Alte Pivot-Tabelle `display_display_version` wird per Migration entfernt
|
||||
- Legacy-Relationen `Display::versions()` und `DisplayVersion::displays()` wurden entfernt
|
||||
- Display-Bearbeitung, Draft-Veröffentlichung und Legacy-Migrations-Command schreiben ausschließlich in `display_playlists` und `display_playlist_items`
|
||||
- Alte `display-versions`-Redirect-Routen wurden entfernt; die Admin-UI nutzt nur noch `display-modules`
|
||||
- Modul-Settings-Defaults liegen zentral in `App\Support\DisplayModuleSettings` und werden von Editor, Listen-Erstellung und API-Config-Builder gemeinsam genutzt
|
||||
- Admin-Iframes laden per `loading="lazy"` verzögert, um die parallelen Player-Vorschauen leichter zu halten
|
||||
- Video-Display-Items zeigen im Editor sichtbar an, ob die Quelle aus der Mediathek oder aus einem Legacy-Dateinamen kommt
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue