ContextHub ist ein Framework zum Speichern, Ändern und Darstellen von Kontextdaten. Ausführlichere Informationen zu ContextHub finden Sie in der Entwicklerdokumentation. ContextHub ersetzt ClientContext auf der Touch-Benutzeroberfläche.
Konfigurieren Sie die ContextHub-Symbolleiste, um zu steuern, ob sie im Vorschaumodus angezeigt wird, um ContextHub-Stores zu erstellen und um über die Touch-optimierte Benutzeroberfläche UI-Module hinzuzufügen.
Standardmäßig ist ContextHub in einer AEM-Installation aktiviert. ContextHub kann deaktiviert werden, um das Laden von JS/CSS-Code und die Initialisierung zu verhindern. Sie haben zwei Optionen, um ContextHub zu deaktivieren:
Bearbeiten Sie die Konfiguration von ContextHub und aktivieren Sie die Option ContextHub deaktivieren.
oder
disabled
unter /libs/settings/cloudsettings
auf true festzulegen.Aufgrund der Repository-Umstrukturierung in AEM 6.4 wurde der Speicherort der ContextHub-Konfigurationen von /etc/cloudsettings
wie folgt geändert:
/libs/settings/cloudsettings
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Konfigurieren Sie den Adobe Granite ContextHub-OSGi-Service, um die ContextHub-Benutzeroberfläche auf Ihren Seiten ein- oder auszublenden. Die PID dieses Service lautet com.adobe.granite.contexthub.impl.ContextHubImpl.
.
Der Service kann entweder mithilfe der Web-Konsole oder mit einem JCR-Knoten im Repository konfiguriert werden:
com.adobe.granite.contexthub.show_ui
auf true
fest, um die Benutzeroberfläche anzuzeigen. Legen Sie die Eigenschaft auf false
fest, um die Benutzeroberfläche auszublenden.Wenn die ContextHub-Benutzeroberfläche angezeigt wird, erscheint sie nur auf den Seiten von AEM-Autoreninstanzen. Auf Seiten von Veröffentlichungsinstanzen wird die Benutzeroberfläche nicht angezeigt.
Konfigurieren Sie die UI-Modi und -Module, die auf der ContextHub-Symbolleiste im Vorschaumodus angezeigt werden:
UI-Modi werden als Symbole auf der linken Seite der Symbolleiste angezeigt. Wenn die Option ausgewählt ist, erscheinen die Module eines UI-Modus auf der rechten Seite.
Bei Symbolen handelt es sich um Verweise aus der Coral-Bibliothek mit Benutzeroberflächensymbolen.
Fügen Sie einer Gruppe mit verwandten ContextHub-Modulen einen UI-Modus hinzu. Beim Erstellen des UI-Modus geben Sie den Titel und das Symbol an, der bzw. das in der ContextHub-Symbolleiste angezeigt werden soll.
Klicken oder tippen Sie auf der Experience Manager-Leiste auf „Tools“ > „Sites“ > „ContextHub“.
Klicken oder tippen Sie auf den standardmäßigen Konfigurations-Container.
Klicken oder tippen Sie auf die ContextHub-Konfiguration.
Klicken oder tippen Sie auf die Schaltfläche „Erstellen“ und dann auf „ContextHub-UI-Modus“.
Geben Sie Werte für die folgenden Eigenschaften an:
coral-Icon--user
.Klicken oder tippen Sie auf „Speichern“.
Fügen Sie ein ContextHub-UI-Modul einem UI-Modus hinzu, damit es in der ContextHub-Symbolleiste zum Einblenden einer Vorschau für Seiteninhalte angezeigt wird. Beim Hinzufügen eines UI-Moduls erstellen Sie eine Instanz eines Modultyps, der für ContextHub registriert ist. Sie müssen den Namen des zugeordneten Modultyps kennen, um ein UI-Modul hinzufügen zu können.
AEM stellt einen grundlegenden UI-Modultyp und mehrere Beispiele für UI-Modultypen bereit, die Sie als Basis für ein UI-Modul verwenden können. Die folgende Tabelle enthält eine kurze Beschreibung der einzelnen Modultypen. Weitere Informationen zum Entwickeln eines benutzerdefinierten UI-Moduls finden Sie unter Erstellen von ContextHub-UI-Modulen.
Die Eigenschaften von UI-Modulen enthalten eine Detailkonfiguration, in der Sie Werte für modulspezifische Eigenschaften angeben können. Sie stellen die Detailkonfiguration im JSON-Format bereit. Die Spalte „Modultyp“ in der Tabelle enthält Links zu Informationen zum JSON-Code, der für die einzelnen UI-Modultypen erforderlich ist.
Modultyp | Beschreibung | Store |
---|---|---|
contexthub.base | Ein generischer UI-Modultyp | In den Eigenschaften des UI-Modusl konfiguriert |
contexthub.browserinfo | Zeigt Informationen zum Browser an | surferinfo |
contexthub.datetime | Zeigt Informationen zu Datum und Uhrzeit an | datetime |
contexthub.device | Zeigt das Client-Gerät an | emulators |
contexthub.location | Zeigt den Breiten- und Längengrad des Clients sowie den Standort auf einer Karte an. Sie können den Standort ändern. | geolocation |
contexthub.screen-orientation | Zeigt die Bildschirmausrichtung des Geräts (Querformat oder Hochformat) an | emulators |
contexthub.tagcloud | Zeigt Statistiken zu Seiten-Tags an | tagcloud |
granite.profile | Zeigt Informationen zum Profil des aktuellen Benutzers an, einschließlich authorizableID, displayName und familyName. Sie können den Wert von displayName und familyName ändern. | Profil |
Klicken oder tippen Sie auf der Experience Manager-Leiste auf „Tools“ > „Sites“ > „ContextHub“.
Klicken oder tippen Sie auf den Konfigurations-Container, dem Sie ein UI-Modul hinzufügen möchten.
Klicken oder tippen Sie auf die ContextHub-Konfiguration, der Sie das UI-Modul hinzufügen möchten.
Klicken oder tippen Sie auf den UI-Modus, dem Sie das UI-Modul hinzufügen.
Klicken oder tippen Sie auf die Schaltfläche „Erstellen“ und dann auf „ContextHub-UI-Modul (generisch)“.
Geben Sie Werte für die folgenden Eigenschaften an:
(Optional) Geben Sie ein JSON-Objekt ein, um das UI-Modul zu konfigurieren und so die Standardkonfiguration für den Store außer Kraft zu setzen.
Klicken oder tippen Sie auf „Speichern“.
Erstellen Sie einen ContextHub-Store, in dem Benutzerdaten dauerhaft gespeichert werden können und bei Bedarf zugänglich sind. ContextHub-Stores basieren auf registrierten Store-Kandidaten. Beim Erstellen des Stores benötigen Sie den Wert von storeType, unter dem der Store-Kandidat registriert wurde. (Siehe Erstellen von benutzerdefinierten Store-Kandidaten.)
Beim Konfigurieren eines Stores können Sie über die Eigenschaft „Detailkonfiguration“ Werte für Store-spezifische Eigenschaften angeben. Der Wert basiert auf dem Parameter config
der Store-Funktion init
. Es hängt daher vom Store ab, ob dieser Wert angegeben werden muss und welches Format der Wert haben muss.
Der Wert der Eigenschaft „Detailkonfiguration“ ist ein config
-Objekt im JSON-Format.
In AEM werden die folgenden Beispiele für Store-Kandidaten bereitgestellt, die Sie als Basis für einen Store verwenden können.
Filialtyp | Beschreibung |
---|---|
aem.segmentation | Store für gelöste und ungelöste ContextHub-Segmente. Ruft automatisch Segmente aus dem ContextHub SegmentManager zurück |
aem.resolvedsegments | Speichert die aktuell aufgelösten Segmente. Hört automatisch auf den ContextHub SegmentManager-Dienst, um den Store automatisch zu aktualisieren |
contexthub.geolocation | Speichert den Breiten- und Längengrad des Browser-Standorts. |
contexthub.datetime | Speichert das aktuelle Datum, die aktuelle Uhrzeit und die aktuelle Jahreszeit für den Browser-Standort |
granite.emulators | Definiert Eigenschaften und Funktionen für eine Reihe von Geräten und erkennt das aktuelle Client-Gerät. |
contexthub.generic-jsonp | Ruft Daten von einem JSONP-Dienst ab und speichert sie |
granite.profile | Speichert die Profildaten für den aktuellen Benutzer. |
contexthub.surferinfo | Speichert die Informationen zum Client, z. B. Geräteinformationen, Browser-Typ und Fensterausrichtung. |
contexthub.tagcloud | Speichert Seiten-Tags und die Tag-Anzahl |
Klicken oder tippen Sie auf der Experience Manager-Leiste auf „Tools“ > „Sites“ > „ContextHub“.
Klicken oder tippen Sie auf den standardmäßigen Konfigurations-Container.
Klicken oder tippen Sie auf „ContextHub-Konfiguration“.
Klicken oder tippen Sie zum Hinzufügen eines Stores auf das Symbol „Erstellen“ und dann auf „ContextHub-Store-Konfiguration“.
Geben Sie Werte für die grundlegenden Konfigurationseigenschaften an und klicken oder tippen Sie dann auf „Weiter“:
(Optional) Geben Sie im Feld „Detailkonfiguration (JSON)“ ein JSON-Objekt ein, um die Standardkonfiguration für den Store außer Kraft zu setzen.
Klicken oder tippen Sie auf „Speichern“.
In diesem Beispiel wird veranschaulicht, wie Sie einen Store konfigurieren und die Daten in einem UI-Modul anzeigen. In diesem Beispiel wird der MD5-Service der Website „jsontest.com“ als Datenquelle für einen Store verwendet. Der Service gibt den MD5-Hashcode einer bestimmten Zeichenfolge im JSON-Format zurück.
Der Store „contexthub.generic-jsonp“ wird so konfiguriert, dass Daten für den Service-Aufruf https://md5.jsontest.com/?text=%22text%20to%20md5%22
gespeichert werden. Der Service gibt die folgenden Daten zurück, die in einem UI-Modul angezeigt werden:
{
"md5": "919a56ab62b6d5e1219fe1d95248a2c5",
"original": "\"text to md5\""
}
Mit dem Store-Beispielkandidaten „contexthub.generic-jsonp“ können Sie Daten aus einem JSONP-Dienst oder einem Webdienst abrufen, der JSON-Daten zurückgibt. Verwenden Sie für diesen Store-Kandidaten die Store-Konfiguration, um Details zu dem JSONP-Service anzugeben, der genutzt werden soll.
Mit der Funktion init der JavaScript-Klasse ContextHub.Store.JSONPStore
wird ein config
-Objekt definiert, das diesen Store-Kandidaten initialisiert. Das config
-Objekt enthält ein service
-Objekt mit Details zum JSONP-Service. Zum Konfigurieren des Stores geben Sie das service
-Objekt im JSON-Format als Wert für die Eigenschaft „Detailkonfiguration“ an.
Verwenden Sie zum Speichern von Daten aus dem MD5-Service der Website „jsontest.com“ das Verfahren unter Erstellen eines ContextHub-Store mit den folgenden Eigenschaften:
Konfigurationstitel: md5
Store-Typ: contexthub.generic-jsonp
Erforderlich: Wählen Sie diese Option aus.
Aktiviert: Wählen Sie diese Option aus.
Detailkonfiguration (JSON):
{
"service": {
"jsonp": false,
"timeout": 1000,
"ttl": 1800000,
"secure": false,
"host": "md5.jsontest.com",
"port": 80,
"params":{
"text":"text to md5"
}
}
}
Fügen Sie der ContextHub-Symbolleiste ein UI-Modul hinzu, um die Daten anzuzeigen, die im md5-Beispiel-Store gespeichert sind. In diesem Beispiel wird das Modul „contexthub.base“ verwendet, um das folgende UI-Modul zu erstellen:
Nutzen Sie das Verfahren unter Hinzufügen eines Moduls, um das UI-Modul einem vorhandenen UI-Modus hinzuzufügen, z. B. dem Perona-UI-Beispielmodus. Verwenden Sie für das UI-Modul die folgenden Eigenschaftswerte:
UI-Modultitel: MD5
Modultyp: contexthub.base
Detailkonfiguration (JSON):
{
"icon": "coral-Icon--data",
"title": "MD5 Converstion",
"storeMapping": { "md5": "md5" },
"template": "<p> {{md5.original}}</p>;
<p>{{md5.md5}}</p>"
}
Ein Debugmodus für ContextHub kann aktiviert werden, um die Fehlerbehebung zuzulassen. Der Debugmodus kann entweder über die ContextHub-Konfiguration oder per CRXDE aktiviert werden.
Bearbeiten Sie die Konfiguration von ContextHub und aktivieren Sie die Option Debuggen.
Verwenden Sie CRXDE Lite, um die Eigenschaft debug
unter auf true festzulegen:
/conf/global/settings/cloudsettings
oder/conf/<tenant>/settings/cloudsettings
Bei ContextHub-Konfigurationen, die sich noch unter ihren veralteten Pfaden befinden, muss der Speicherort für debug property
auf /libs/settings/cloudsettings/legacy/contexthub
festgelegt werden.
Im unbeaufsichtigten Modus werden alle Debug-Informationen unterdrückt. Im Gegensatz zur normalen Debugoption, die für jede ContextHub-Konfiguration einzeln festgelegt werden kann, ist der unbeaufsichtigte Modus eine globale Einstellung, die Vorrang vor allen Debugeinstellungen auf der Ebene der ContextHub-Konfiguration hat.
Dies ist für Ihre Veröffentlichungsinstanz hilfreich, für die Sie keine Debug-Informationen benötigen. Da es sich um eine globale Einstellung handelt, wird sie per OSGi aktiviert.
http://<host>:<port>/system/console/configMgr
.Wenn ein Upgrade für AEM durchgeführt wird, werden die ContextHub-Konfigurationen gesichert und an einem sicheren Ort gespeichert. Während des Upgrades werden die ContextHub-Standardkonfigurationen installiert, um die vorhandenen Konfigurationen zu ersetzen. Die Sicherung ist erforderlich, um alle von Ihnen vorgenommenen Änderungen oder Hinzufügungen beizubehalten.
ContextHub-Konfigurationen werden in einem Ordner mit dem Namen contexthub
unter den folgenden Knoten gespeichert:
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Nach einem Upgrade wird die Sicherung in einem Ordner mit dem Namen contexthub
unter einem Knoten mit dem folgenden Namen gespeichert:
/conf/global/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
oder
/conf/<tenant>/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
Der Teil yyyymmdd
des Knotennamens ist das Datum, an dem das Upgrade durchgeführt wurde.
Verwenden Sie zum Wiederherstellen Ihrer ContextHub-Konfigurationen CRXDE Lite, um die Knoten mit Ihren Stores, Benutzeroberflächenmodi und Benutzeroberflächenmodulen von default-pre-upgrade_yyyymmdd_xxxxxx
unter den folgenden Knoten zu kopieren:
/conf/global/settings/cloudsettings
oder/conf/<tenant>/settings/cloudsettings