Konfigurieren von ContextHub configuring-contexthub
ContextHub ist ein Framework zum Speichern, Ändern und Darstellen von Kontextdaten. Weitere Informationen zu ContextHub finden Sie unter Entwicklerdokumentation. ContextHub ersetzt ClientContext in der Touch-Benutzeroberfläche.
Konfigurieren Sie die ContextHub Symbolleiste, um zu steuern, ob sie im Vorschaumodus angezeigt wird, um ContextHub-Stores zu erstellen und UI-Module über die Touch-optimierte Benutzeroberfläche hinzuzufügen.
Deaktivieren von ContextHub disabling-contexthub
Standardmäßig ist ContextHub in einer AEM-Installation aktiviert. ContextHub kann deaktiviert werden, um zu verhindern, dass js/css geladen und initialisiert wird. Es gibt zwei Optionen zum Deaktivieren von ContextHub:
-
Bearbeiten Sie die Konfiguration von ContextHub und aktivieren Sie die Option ContextHub deaktivieren.
- Klicken oder tippen Sie in der Leiste auf Tools > Sites > ContextHub
- Klicken oder tippen Sie auf die Standardeinstellung Konfigurations-Container
- Wählen Sie die ContextHub-Konfiguration und klicken oder tippen Sie Ausgewähltes Element bearbeiten
- Klicken oder tippen Sie auf ContextHub deaktivieren und klicken oder tippen Sie Speichern
oder
- Verwenden Sie CRXDE Lite, um die Eigenschaft
disabled
unter/libs/settings/cloudsettings
auf true festzulegen.
/etc/cloudsettings
wie folgt geändert:/libs/settings/cloudsettings
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Ein- und Ausblenden der ContextHub-Benutzeroberfläche showing-and-hiding-the-contexthub-ui
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:
- Web-Konsole: Um die Benutzeroberfläche anzuzeigen, wählen Sie die Eigenschaft "Show UI"aus. Um die Benutzeroberfläche auszublenden, löschen Sie die Eigenschaft "Benutzeroberfläche ausblenden".
- JCR-Knoten: Legen Sie die boolesche Eigenschaft
com.adobe.granite.contexthub.show_ui
auftrue
fest, um die Benutzeroberfläche anzuzeigen. Legen Sie die Eigenschaft auffalse
fest, um die Benutzeroberfläche auszublenden.
Wenn die ContextHub-Benutzeroberfläche angezeigt wird, wird sie nur auf Seiten in AEM Autoreninstanzen angezeigt. Die Benutzeroberfläche wird nicht auf Seiten von Veröffentlichungsinstanzen angezeigt.
Hinzufügen von ContextHub-UI-Modi und -Modulen adding-contexthub-ui-modes-and-modules
Konfigurieren Sie die UI-Modi und -Module, die in der ContextHub-Symbolleiste im Vorschaumodus angezeigt werden:
- Benutzeroberflächenmodi: Gruppen verwandter Module
- Module: Widgets, die Kontextdaten aus einem Store bereitstellen und Autoren die Bearbeitung des Kontexts ermöglichen
Benutzeroberflächenmodi 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.
Hinzufügen eines UI-Modus adding-a-ui-mode
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 oder tippen Sie in 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 klicken oder tippen Sie dann auf den UI-Modus von ContextHub .
-
Geben Sie Werte für die folgenden Eigenschaften an:
- UI-Modustitel: Der Titel, mit dem der UI-Modus identifiziert wird.
- Modussymbol: Die Auswahl für das zu verwendende Coral-UI-Symbol, z. B.
coral-Icon--user
. - Aktiviert: Wählen Sie diese Option aus, um den UI-Modus in der ContextHub-Symbolleiste anzuzeigen.
-
Klicken oder tippen Sie auf Speichern .
Hinzufügen eines UI-Moduls adding-a-ui-module
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 hinzuzufügen, 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 Elemente. Informationen zum Entwickeln eines benutzerdefinierten UI-Moduls finden Sie unter Erstellen von ContextHub-UI-Modulen.
Die Eigenschaften des Benutzeroberflächenmoduls 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 über den JSON-Code, der für jeden UI-Modultyp erforderlich ist.
-
Klicken oder tippen Sie in 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 geben Sie die ContextHub-Konfiguration ein, 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 Module (generisch).
-
Geben Sie Werte für die folgenden Eigenschaften an:
- UI-Modultitel: Ein Titel, der das UI-Modul angibt
- Modultyp: Modultyp
- Aktiviert: Aktivieren Sie diese Option, um das UI-Modul in der ContextHub-Symbolleiste anzuzeigen.
-
(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 eines ContextHub-Store creating-a-contexthub-store
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 des storeType , mit dem der Store-Kandidat registriert wurde. (Siehe Erstellen benutzerdefinierter Store-Kandidaten.
Store-Detailkonfiguration detailed-store-configuration
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.
Beispiele für Store-Kandidaten sample-store-candidates
In AEM werden die folgenden Beispiele für Store-Kandidaten bereitgestellt, die Sie als Basis für einen Store verwenden können.
-
Klicken oder tippen Sie in 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
-
Um einen Store hinzuzufügen, klicken oder tippen Sie auf das Symbol Erstellen und dann auf ContextHub-Speicherkonfiguration .
-
Geben Sie Werte für die grundlegenden Konfigurationseigenschaften ein und klicken oder tippen Sie auf Weiter:
- Konfigurationstitel: Der Titel, der den Store angibt
- Store-Typ: Der Wert der Eigenschaft storeType des Store-Kandidaten, auf dem der Store basieren soll
- Erforderlich: Wählen Sie diese Option aus.
- Aktiviert: Wählen Sie aus, um den Store zu aktivieren
-
(Optional) Um die standardmäßige Store-Konfiguration zu überschreiben, geben Sie ein JSON-Objekt in das Feld "Detailkonfiguration (JSON)"ein.
-
Klicken oder tippen Sie auf Speichern .
Beispiel: Verwenden eines JSONP-Service example-using-a-jsonp-service
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\""
}
Erstellen des Stores „contexthub.generic-jsonp“ creating-a-contexthub-generic-jsonp-store
Mit dem Beispielspeicherkandidaten "contexthub.generic-jsonp"können Sie Daten von 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):
code language-xml { "service": { "jsonp": false, "timeout": 1000, "ttl": 1800000, "secure": false, "host": "md5.jsontest.com", "port": 80, "params":{ "text":"text to md5" } } }
Hinzufügen eines Benutzeroberflächenmoduls für die md5-Daten adding-a-ui-module-for-the-md-data
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:
Verwenden Sie das Verfahren unter Hinzufügen eines UI-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):
code language-xml { "icon": "coral-Icon--data", "title": "MD5 Converstion", "storeMapping": { "md5": "md5" }, "template": "<p> {{md5.original}}</p>; <p>{{md5.md5}}</p>" }
Debuggen von ContextHub debugging-contexthub
Ein Debugging-Modus für ContextHub kann aktiviert werden, um die Fehlerbehebung zu ermöglichen. Der Debug-Modus kann entweder über die ContextHub-Konfiguration oder über CRXDE aktiviert werden.
Per Konfiguration via-the-configuration
Bearbeiten Sie die Konfiguration von ContextHub und aktivieren Sie die Option Debuggen.
- Klicken oder tippen Sie in der Leiste auf Tools > Sites > ContextHub
- Klicken oder tippen Sie auf die Standardeinstellung Konfigurations-Container
- Wählen Sie die ContextHub-Konfiguration und klicken oder tippen Sie Ausgewähltes Element bearbeiten
- Klicken oder tippen Sie auf Debuggen und dann auf Speichern.
Per CRXDE via-crxde
Verwenden Sie CRXDE Lite, um die Eigenschaft debug
unter auf true festzulegen:
/conf/global/settings/cloudsettings
oder/conf/<tenant>/settings/cloudsettings
debug property
auf /libs/settings/cloudsettings/legacy/contexthub
festgelegt werden.Unbeaufsichtigter Modus silent-mode
Im unbeaufsichtigten Modus werden alle Debug-Informationen unterdrückt. Im Gegensatz zur normalen Debug-Option, die für jede ContextHub-Konfiguration unabhängig festgelegt werden kann, ist der stille Modus eine globale Einstellung, die Vorrang vor allen Debug-Einstellungen auf der ContextHub-Konfigurationsebene 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.
- Öffnen Sie die Konfiguration der Adobe Experience Manager-Web-Konsole unter
http://<host>:<port>/system/console/configMgr
. - Suchen Sie nach Adobe Granite ContextHub.
- Klicken Sie auf die Konfiguration Adobe Granite ContextHub, um die Eigenschaften zu bearbeiten.
- Aktivieren Sie die Option für den unbeaufsichtigten Modus und klicken Sie auf Speichern.
Wiederherstellen von ContextHub-Konfigurationen nach der Aktualisierung recovering-contexthub-configurations-after-upgrading
Wenn ein Upgrade auf AEM ausgeführt wird, werden die ContextHub-Konfigurationen gesichert und an einem sicheren Speicherort gespeichert. Während des Upgrades werden die standardmäßigen ContextHub-Konfigurationen installiert, die die vorhandenen Konfigurationen ersetzen. 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