Zielgruppe Site AdminVersion: GSB10.1Push-Notification und Geo-Lokalisierung (PWA Beispiele)
Geolocation-Support und Push-Notifications als Progressive Web Apps (PWA) - Anwendungsbeispiele
Geolocation-Support für Kurznachrichten als Progressive Web Apps (PWA) Anwendungsbeispiel
Bei der Pflege von Kurzmeldungen können in der Standardlösung Geokoordinaten angegeben werden, indem folgende Schritte durchgeführt werden:
- Meldung ausleihen
- Property
Längen- und Breitengrad → Länge
auf entsprechenden Längengrad setzen (zur Auswahl kann der ButtonPosition auswählen
genutzt werden) - Property
Längen- und Breitengrad → Breite
auf entsprechenden Breitengrad setzen (zur Auswahl kann der ButtonPosition auswählen
genutzt werden) - Meldung zurückgeben
Die Funktion stellt Voraussetzungen an die Layouts von generischen Tabellen. Die Standardlösung wird mit einem Layout ausgeliefert, welches diese Voraussetzungen erfüllt:
- Dokument:
/standardlsg/SiteGlobals/Layout/ContentRegion/Tabellen/Tabelle/Layout_Nachrichten_StandortbasierteSortierung
Hinweis: |
---|
Die Voraussetzungen müssen auf Ebene der individuellen Entwicklung des Mandanten sichergestellt werden, da insb. die Positionierung des Buttons Layout-spezifisch entschieden werden muss. Die individuellen und konkreten Anforderungen des Mandanten können auf Grundlage der Implementierung des Mandanten standardlsg einfach im Rahmen der Mandantenentwicklung adaptiert und angepasst werden. |
Einmalige Voraussetzungen
Damit die o.g. Schritte dazu führen, dass Meldungen in dynamischen Listen nach Entfernung zum Nutzer sortiert werden können, müssen gewisse Voraussetzungen erfüllt sein.
Hinweis: |
---|
Die nachfolgenden Punkte müssen nicht kontrolliert werden, wenn eine Standardlösung (GSB Version 10.1) zum Aufsetzen des betroffenen Mandanten genutzt wurde. In diesem Fall sind die jeweiligen Dokumente bereits Bestandteil des Content. |
Label für Button anlegen
Der Button zur Sortierung nach Entfernung zum Nutzer kann optional durch ein Label bestimmt werden.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/_config/ResourceBundleEntries/Labels/NewslistLocalizer_SortButtonText
Javascript-Lib anlegen
Die Funktion besitzt eine Abhängigkeit zur Bibliothek URI.js, welche aus der Standardlösung übernommen wird.
Beispiel(e) in der Standardlösung
- Dokument:
`/standardlsg/SiteGlobals/Frontend/JavaScript/libs/urijs/URI.min
Javascript-Lib verlinken
Damit die Javascript-Lib verfügbar ist, muss sie noch im Abschnitt Parameter → libs
des jeweiligen global
-Javascripts ergänzt werden.
Beispiel(e) in der Standardlösung
Dokumente: * /standardlsg/SiteGlobals/Frontend/JavaScript/init/global
* /standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global
Javascript-Modul anlegen
Für die Funktion ist ein eigenes Javascript-Modul zuständig, welches aus der Standardlösung übernommen wird.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Frontend/JavaScript/modules/gsb_newslist_localizer
Javascript-Modul verlinken
Damit das Javascript-Modul aufgerufen werden kann, muss es noch im Abschnitt Parameter → modules
des jeweiligen global
-Javascripts ergänzt werden.
Beispiel(e) in der Standardlösung
Dokumente:
/standardlsg/SiteGlobals/Frontend/JavaScript/init/
/standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global
Javascript-Modul beim Seitenaufruf initialisieren
Damit das Javascript-Modul aufgerufen wird, muss es noch im init
-Javascript in der Property Script(lesbar)
ergänzt werden.
Der dazu notwendige Abschnitt ist im Beispieldokument der Standardlösung in der Property Script(lesbar)
mit folgenden Kommentaren gekennzeichnet:
## Start Geolocation-Support...## Ende Geolocation-Support
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Frontend/JavaScript/init/init
Globale Variablen für Javascript bereitstellen
Das Javascript-Modul besitzt Abhängigkeiten zu folgenden globalen Variablen:
NEWSLIST_LOCALIZER_SORT_BUTTON_TEXT
(optional, Standard:Nach Entfernung sortieren
): enthält Label für den Button, der nach Entfernung sortiert.REQUEST_PARAMETER_PREFIX
(optional, Standard:cms_
): enthält den Wert des Request-Parameter-Prefixes aus dem globalen ConfigeintragRequestParameterPrefix
Die Integrationen der beiden Parameter erfolgt analog der Standardlösung.
Beispiel(e) in der Standardlösung
Dokumente
/standardlsg/SiteGlobals/Frontend/JavaScript/init/variables_LABELS
/standardlsg/SiteGlobals/Frontend/JavaScript/init/global
/standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global
Push-Notifications als Progressive Web Apps (PWA) Anwendungsbeispiel
Kurzmeldungen können per Push-Notification an das Endgerät des Nutzers versendet werden, indem für eine Meldung folgende Schritte durchgeführt werden:
- Meldung ausleihen
- Property
Klassifikation → Push-Notification
aufJa
setzen - Meldung zurückgeben
- Meldung publizieren
Einmalige Voraussetzungen
Damit die o.g. Schritte zum Versand einer Push-Notification führen, müssen gewisse Voraussetzungen erfüllt sein.
Hinweis: |
---|
Die nachfolgenden Punkte müssen nicht kontrolliert werden, wenn eine Standardlösung (GSB Version 10.1.0-SNAPSHOT) zum Aufsetzen des betroffenen Mandanten genutzt wurde. In diesem Fall sind die jeweiligen Dokumente bereits Bestandteil des Contents. |
View für generische JSP anlegen
Damit die u.g. generische JSP wie erwartet funktioniert, muss eine View angelegt werden.
Die Properties sind wie folgt zu belegen:
View
=newsChanges
Variante
=-
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Layout/Views/GenericJSP/NewsChanges
Suchergebnisliste anlegen
Zur Ermittlung der für die Push-Notifications relevanten Meldungen muss eine Suchergebnisliste angelegt.
Die Properties sind wie folgt zu belegen:
Erweiterte Suchanfrage
analog zum Beispiel der Standardlösung
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Functions/PushNotifications/ChangedNewsSource
Generische JSP anlegen
Als Quelle für die Push-Notifications muss eine Generische JSP angelegt werden.
Diese muss zwingend in einem Unterordner PushNotifications liegen und den Namen ChangedNews besitzen.
Wo dieser Unterordner liegt, ist egal. Sofern keine guten Gründe dagegeben sprechen, wird allerdings empfohlen, nicht vom Pfad innerhalb der Standardlösung abzuweichen.
Die Properties sind wie folgt zu belegen:
Konfigurationsdokumente → layoutVariant
verweist auf die o.g. View.Konfigurationsdokumente → newsChangeSource
verweist auf die o.g. Suchergebnisliste.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Functions/PushNotifications/ChangedNews
Configeintrag PushNotificationPollingInterval anlegen
Um das Intervall der Abfragen auf Push-Notifications zu konfigurieren, muss ein globaler Configeintrag mit dem Namen PushNotificationPollingInterval
analog zur Standardlösung angelegt werden.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/_config/PushNotificationPollingInterval
HTML der Mainlayouts anpassen
Für alle Mainlayouts des Mandanten muss sichergestellt werden, dass das für die Funktion benötigte HTML gerendert wird.
Die dazu notwendigen Abschnitte sind in den Beispieldokumenten der Standardlösung in der Property Template
mit folgenden Kommentaren gekennzeichnet:
## Start Push-Notifications...## Ende Push-Notifications
Diese Abschnitte müssen an die korrespondierenden Stellen in den Mainlayouts des Mandanten übertragen werden.
Beispiel(e) in der Standardlösung
Dokumente:
/standardlsg/SiteGlobals/Layout/PageStructure/Startseite
/standardlsg/SiteGlobals/Layout/PageStructure/Startseite_fuer_OnePager
/standardlsg/SiteGlobals/Layout/PageStructure/Unterseite
Generische JSP für Link in Mainlayout bereitstellen
Damit der Link auf die Quelle für die Push-Notifications korrekt ins Mainlayout gerendert werden kann, muss in den PSBodyParameters
bzw. PSBodyParametersDefault
ein Eintrag pushnotifications
mit einem Link auf die generische JSP ergänzt werden.
Beispiel(e) in der Standardlösung
Dokumente:
/standardlsg/_config/PSBodyParameters_cll
/standardlsg/SiteGlobals/Functions/PushNotifications/ChangedNews
Javascript-Lib anlegen
Die Funktion besitzt eine Abhängigkeit zur Bibliothek URI.js, welche aus der Standardlösung übernommen wird.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Frontend/JavaScript/libs/urijs/URI.min
Javascript-Lib verlinken
Damit die Javascript-Lib verfügbar ist, muss sie noch im Abschnitt Parameter → libs
des jeweiligen global
-Javascripts ergänzt werden.
Beispiel(e) in der Standardlösung
Dokumente
/standardlsg/SiteGlobals/Frontend/JavaScript/init/global
/standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global
Javascript-Modul anlegen
Für die Funktion ist ein eigenes Javascript-Modul zuständig, welches aus der Standardlösung übernommen wird.
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Frontend/JavaScript/modules/gsb_news_pusher
Javascript-Modul verlinken
Damit das Javascript-Modul aufgerufen werden kann, muss es noch im Abschnitt Parameter → modules
des jeweiligen global
-Javascripts ergänzt werden.
Beispiel(e) in der Standardlösung
Dokumente
/standardlsg/SiteGlobals/Frontend/JavaScript/init/global
/standardlsg/SiteGlobals/Frontend/JavaScript/init/EN/global
Javascript-Modul beim Seitenaufruf initialisieren
Damit das Javascript-Modul aufgerufen wird, muss es noch im init
-Javascript in der Property Script(lesbar)
ergänzt werden.
Der dazu notwendige Abschnitt ist im Beispieldokument der Standardlösung in der Property Script(lesbar)
mit folgenden Kommentaren gekennzeichnet:
## Start Push-Notifications...## Ende Push-Notifications
Beispiel(e) in der Standardlösung
- Dokument:
/standardlsg/SiteGlobals/Frontend/JavaScript/init/init