GSB 7.0 Standardlösung

Push-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:

  1. Meldung ausleihen
  2. Property Längen- und Breitengrad → Länge auf entsprechenden Längengrad setzen (zur Auswahl kann der Button Position auswählen genutzt werden)
  3. Property Längen- und Breitengrad → Breite auf entsprechenden Breitengrad setzen (zur Auswahl kann der Button Position auswählen genutzt werden)
  4. 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 Configeintrag RequestParameterPrefix

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:

  1. Meldung ausleihen
  2. Property Klassifikation → Push-Notification auf Ja setzen
  3. Meldung zurückgeben
  4. 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