martin3r / platforms-signage
There is no license information available for the latest version (dev-main) of this package.
Digital Signage Module for Platform - Upload media, build playlists and display them on TVs/monitors
dev-main
2026-06-15 12:49 UTC
Requires (Dev)
- phpunit/phpunit: ^10.5 || ^11.0
This package is auto-updated.
Last update: 2026-06-15 12:49:25 UTC
README
OptiSigns-ähnliches Digital-Signage-Modul: Medien (Bilder, Videos, Audio, PDF, PowerPoint) hochladen, in Wiedergabelisten organisieren und auf TVs/Monitoren anzeigen — mit Hintergrundmusik, Zeitplanung und Live-Vorschau.
- Key:
signage· Namespace:Platform\Signage· Prefix:/signage - Player: browserbasiert. Jeder Bildschirm öffnet
/signage/playund koppelt sich per 6-stelligem Code in der Admin-Oberfläche („Bildschirme“). - PDF/PowerPoint: werden serverseitig in Seitenbilder umgewandelt; jede Folie/Seite wird für die eingestellte Dauer angezeigt.
Architektur
| Bereich | Datei(en) |
|---|---|
| Registrierung | src/SignageServiceProvider.php, config/signage.php |
| Datenmodell | database/migrations/*, src/Models/* |
| Geräte-Kopplung | src/Services/ScreenPairingService.php |
| Manifest-Auflösung | src/Services/PlayerManifestService.php |
| Dokument-Konvertierung | src/Services/DocumentConversionService.php, src/Jobs/ConvertDocumentJob.php |
| Guest-API | routes/api.php, src/Http/Controllers/Api/* |
| Player | routes/guest.php, src/Http/Controllers/PlayerController.php, resources/views/player.blade.php |
| Admin | src/Livewire/*, resources/views/livewire/* |
Installation in einer App
- Modul als Composer-Paket einbinden. Lokale Entwicklung über ein Path-Repository in der
composer.jsonder App:"repositories": [ { "type": "path", "url": "../platform/modules/platforms-signage" } ], "require": { "martin3r/platforms-signage": "*" }
(In Produktion analog zu den übrigenmartin3r/*-Modulen über die genutzte Registry/VCS.) composer update martin3r/platforms-signagephp artisan migrate- Caches leeren:
php artisan config:clear && php artisan route:clear - Der Service-Provider wird via
extra.laravel.providersautomatisch erkannt.
Voraussetzungen (Server)
- Ghostscript (
gs) für PDF → Seitenbilder (bereits im Stack, vgl. Events). - LibreOffice headless (
soffice) für PowerPoint → PDF. - Laufender Queue-Worker (
php artisan queue:work) — Dokument-Konvertierung läuft asynchron. - Datei-Storage über
ContextFileService(lokalpublicoder S3, automatisch erkannt).
Bedienung
- Medien hochladen (
/signage/media). - Wiedergabeliste anlegen (visuell oder Musik) und Elemente mit Dauer ordnen.
- Bildschirm koppeln:
/signage/playam TV öffnen → Code in „Bildschirme“ eingeben. - Standard-Wiedergabeliste + Hintergrundmusik zuweisen, optional Zeitpläne definieren.
- Änderungen erscheinen am Bildschirm automatisch (Polling) oder per Neuladen-Button.