📚 PS Smart Business
Dokumentations-Navigation
Priorisiert (verwandte Kapitel):
- Übersicht
- Allgemeine Dokumentation
- Einrichtung & Berechtigungen
- CRM & Prozessmanagement
- Dokumente, Angebote & Rechnungen
- Buchhaltung & Abrechnung
- Integrationen, API & Erweiterbarkeit
- Dev-Referenz: Integrationen, Hooks & Actions
- PWA & Frontend-Module
- WebApp-Funktion (PWA/App-Modus)
- PS-Bloghosting Integrations-README
- Über das Projekt
WebApp-Funktion (PWA/App-Modus)
Diese Seite beschreibt die WebApp-Funktion von PS Smart Business: installierbare App, App-Modus ohne Theme, Offline-Verhalten und Push-Benachrichtigungen.
Architektur im Überblick
Die WebApp besteht aus drei Kernbausteinen:
- PWA Manager: registriert Manifest- und Service-Worker-Endpunkte, Meta-Tags und Script-Registrierung
- App Template: rendert bei
?app=1ein cleanes Standalone-Layout ohne WordPress-Theme - PWA Frontend JS: steuert Install-Prompt, Push-Subscription und Offline-Status
Endpunkte & URLs
Wichtige Endpunkte:
crm-manifest.json→ Web App Manifestcrm-service-worker.js→ Service Worker Script/?app=1→ App-Modus (Standalone-Ansicht)
Typische Test-URLs:
https://deine-domain.tld/?app=1https://deine-domain.tld/crm-manifest.jsonhttps://deine-domain.tld/crm-service-worker.js
App-Modus (?app=1)
Wenn ?app=1 gesetzt ist, wird das normale Theme umgangen und ein spezielles App-Template geladen.
Verhalten im App-Modus:
- Login-Ansicht bei nicht eingeloggten Usern
- Rollen-Erkennung für Agent/Kunde
- Routing auf passende Dashboard-Ansicht
- Interne Links werden automatisch mit
app=1ergänzt - Admin-Bar wird ausgeblendet
Manifest-Funktion
Das Manifest wird dynamisch erzeugt und enthält u. a.:
- App-Name, Kurzname, Beschreibung
- Start-URL und Scope
- Theme- und Background-Color
- Icons (uploadbar oder Fallback-Icons)
- optionale Shortcuts (z. B. Ticket-Quick-Action)
Service Worker Funktion
Der Service Worker übernimmt:
- Installation & Aktivierung inkl. Cache-Versionierung
- Löschen alter Caches bei Versionswechsel
- Fetch-Strategie: Network First, Cache-Fallback
- Ausschluss sensibler Routen (
/wp-admin/, Login, AJAX/API) - Push-Notification Anzeige + Click-Handling
- Background Sync für offline gespeicherte Ticket-Antworten
Push-Benachrichtigungen
Push wird über Browser-APIs + AJAX-Endpoints gesteuert.
Ablauf:
- Permission anfragen
- Push-Subscription im Browser erstellen
- Subscription am Server speichern
- Benachrichtigungen über Service Worker ausspielen
Hinweise:
- Push benötigt HTTPS (oder localhost)
- Für produktive Nutzung müssen VAPID-Keys korrekt gesetzt sein
Admin-Einstellungen
Die WebApp/PWA-Einstellungen sind im CRM-Settings-Bereich konfigurierbar:
- App-Name, Kurzname, Beschreibung
- Theme-/Background-Farbe
- Icons (512x512, 192x192)
- Test-Links für App-Modus und Manifest
Beim Speichern der PWA-Settings werden Rewrite Rules aktualisiert.
AJAX-Endpunkte (WebApp-relevant)
Für den App-Betrieb sind u. a. diese Endpunkte aktiv:
- Ticket erstellen
- Ticket-Antwort hinzufügen
- FAQ-Voting
Sicherheitsaspekte:
- Nonce-Checks (
check_ajax_referer) - Login- und Rollenprüfung
- Input-Sanitizing vor Verarbeitung
Admin-Checkliste
?app=1lädt korrektes Standalone-Templatecrm-manifest.jsonist erreichbar und validecrm-service-worker.jswird registriert- Install-Prompt erscheint auf unterstützten Browsern
- Push-Permission und Subscription funktionieren über HTTPS
Troubleshooting
Manifest lädt nicht
- Permalinks neu speichern
- Rewrite Rules prüfen
- URL exakt auf
crm-manifest.jsontesten
Service Worker registriert nicht
- Browser-Konsole auf Fehler prüfen
- HTTPS/Scope prüfen
- Alte Service Worker im Browser löschen und neu laden
Push funktioniert nicht
- HTTPS aktiv?
- Notification Permission auf „Erlauben“?
- VAPID-Key-Konfiguration geprüft?