ContextHub ist ein Framework zum Speichern, Ändern und Darstellen von Kontextdaten. Weitere Informationen zu ContextHub finden Sie unter Entwicklerdokumentation. In der Touch-optimierten Benutzeroberfläche wird Client Context durch ContextHub ersetzt.
Sie können die ContextHub-Symbolleiste konfigurieren, um unter Verwendung der Touch-optimierten Benutzeroberfläche zu steuern, ob sie im Vorschaumodus angezeigt wird, ContextHub-Stores zu erstellen und UI-Module hinzuzufügen.
In einer AEM-Installation ist ContextHub standardmäßig aktiviert. ContextHub kann deaktiviert werden, um zu verhindern, dass js/css geladen und initialisiert wird.
disabled
unter /libs/settings/cloudsettings/legacy/contexthub
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-Authoring-Instanzen. Auf Seiten von Publishing-Instanzen wird die Benutzeroberfläche nicht angezeigt.
Konfigurieren Sie die UI-Modi und -Module, die in der ContextHub-Symbolleiste im Vorschaumodus angezeigt werden:
UI-Modi werden als eine Reihe von Symbolen auf der linken Seite der Symbolleiste angezeigt. Wenn diese Option aktiviert ist, werden die Module eines UI-Modus rechts angezeigt.
Bei Symbolen handelt es sich um Verweise aus der Coral-Bibliothek mit Benutzeroberflächensymbolen.
Fügen Sie einen UI-Modus hinzu, um verwandte ContextHub-Module zu gruppieren. Wenn Sie den UI-Modus erstellen, geben Sie den Titel und das Symbol an, die in der ContextHub-Symbolleiste angezeigt werden.
Klicken Sie in der Experience Manager-Leiste auf Tools > Sites > ContextHub.
Klicken Sie auf den standardmäßigen Konfigurations-Container.
Klicken Sie auf die ContextHub-Konfiguration.
Klicken Sie auf die Schaltfläche Erstellen und dann auf UI-Modus für ContextHub.
Geben Sie Werte für die folgenden Eigenschaften an:
coral-Icon--user
Klicken Sie auf „Speichern“.
Fügen Sie einem UI-Modus ein ContextHub-UI-Modul hinzu, damit es in der ContextHub-Symbolleiste zur Vorschau von Seiteninhalten angezeigt wird. Wenn Sie ein UI-Modul hinzufügen, erstellen Sie eine Instanz eines Modultyps, der bei ContextHub registriert ist. Um ein UI-Modul hinzufügen zu können, müssen Sie den Namen des zugehörigen Modultyps kennen.
AEM bietet einen grundlegenden UI-Modultyp sowie mehrere Beispiel-UI-Modultypen, auf denen Sie ein UI-Modul aufbauen können. Die folgende Tabelle enthält eine kurze Beschreibung der einzelnen Typen. Informationen zum Entwickeln eines benutzerdefinierten UI-Moduls finden Sie unter Erstellen von ContextHub-UI-Modulen.
Die Eigenschaften des UI-Moduls enthalten eine Detailkonfiguration, in der Sie Werte für modulspezifische Eigenschaften angeben können. Die Detailkonfiguration stellen Sie im JSON-Format bereit. Die Spalte „Modultyp“ in der Tabelle enthält Links zu Informationen über den JSON-Code, der für jeden UI-Modultyp 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 Sie in der Experience Manager-Leiste auf Tools > Sites > ContextHub.
Klicken 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 Sie auf den UI-Modus, dem Sie das UI-Modul hinzufügen.
Klicken Sie auf die Schaltfläche Erstellen und dann auf ContextHub UI Module (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 Sie auf „Speichern“.
Erstellen Sie einen ContextHub-Store, um Benutzerdaten beizubehalten und nach Bedarf auf die Daten zuzugreifen. ContextHub-Stores basieren auf registrierten Store-Kandidaten. Wenn Sie den Store erstellen, benötigen Sie den Wert von „storeType“, mit dem der Store-Kandidat registriert wurde. (Weitere Informationen finden Sie unter Erstellen benutzerdefinierter 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 mehrere Geräte 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 Sie in der Experience Manager-Leiste auf Tools > Sites > ContextHub.
Klicken Sie auf den standardmäßigen Konfigurations-Container.
Klicken Sie auf ContextHub-Konfiguration
Um einen Store hinzuzufügen, klicken Sie auf das Symbol Erstellen und dann auf ContextHub-Speicherkonfiguration .
Geben Sie Werte für die grundlegenden Konfigurationseigenschaften ein und klicken Sie auf Weiter:
(Optional) Geben Sie ein JSON-Objekt in das Feld „Detailkonfiguration (JSON)“ ein, um die standardmäßige Store-Konfiguration zu überschreiben.
Klicken 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-Service oder einem Webservice 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 Benutzeroberflächenmoduls, um das Benutzeroberflächenmodul einem vorhandenen Benutzeroberflächenmodus hinzuzufügen, z. B. dem Beispiel-Benutzeroberflächenmodus „Perona“. Verwenden Sie für das UI-Modul die folgenden Eigenschaftswerte:
Titel des UI-Moduls: 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 Debugging-Modus für ContextHub kann aktiviert werden, um die Fehlerbehebung zu ermöglichen. Der Debugging-Modus kann entweder über die ContextHub-Konfiguration oder über 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, wird der Speicherort festgelegt, unter dem die debug property
is /libs/settings/cloudsettings/legacy/contexthub
.
Im unbeaufsichtigten Modus werden alle Debug-Informationen unterdrückt. Im Gegensatz zur normalen Debug-Option, die für jede ContextHub-Konfiguration einzeln festgelegt werden kann, ist der unbeaufsichtigte Modus eine globale Einstellung, die Vorrang vor allen Debug-Einstellungen 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 Speicherort gespeichert. Während des Upgrades werden die standardmäßigen ContextHub-Konfigurationen installiert. Sie ersetzen dabei die vorhandenen Konfigurationen. Die Sicherung ist erforderlich, um alle Änderungen oder Ergänzungen beizubehalten, die Sie vorgenommen haben.
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