AEM 6.4 a atteint la fin de la prise en charge étendue et cette documentation n’est plus mise à jour. Pour plus d’informations, voir notre période de support technique. Rechercher les versions prises en charge here.
ContextHub est un framework permettant de stocker, manipuler et présenter des données contextuelles. Pour plus de détails sur ContextHub, voir la documentation destinée aux développeurs. ContextHub remplace ClientContext dans l’interface utilisateur tactile.
Configurez la variable ContextHub pour contrôler si elle s’affiche en mode Aperçu, créer des magasins ContextHub et ajouter des modules d’IU à l’aide de l’IU optimisée pour les écrans tactiles.
Par défaut, ContextHub est activé dans une installation AEM. ContextHub peut être désactivé pour éviter qu’il charge js/css et s’initialise. Il existe deux options pour désactiver ContextHub :
Modifiez la configuration de ContextHub et cochez l’option Désactiver ContextHub
ou
disabled
sur true sous /libs/settings/cloudsettings
.En raison de la restructuration du référentiel dans AEM 6.4, l’emplacement des configurations ContextHub a été modifié de /etc/cloudsettings
vers :
/libs/settings/cloudsettings
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Configurez le service Adobe Granite ContextHub OSGi pour afficher ou masquer l’IU ContextHub sur vos pages. Le PID de ce service est com.adobe.granite.contexthub.impl.ContextHubImpl.
Pour configurer le service, vous pouvez utiliser la Console web ou un nœud JCR du référentiel :
com.adobe.granite.contexthub.show_ui
sur true
. Pour masquer l’IU, définissez la propriété sur false
.Si l’IU ContextHub est activée, elle s’affiche uniquement sur les pages sur les instances de création AEM. L’interface utilisateur n’apparaît pas sur les pages des instances de publication.
Configurez les modes et modules d’IU qui s’affichent dans la barre d’outils ContextHub en mode Aperçu :
Les modes d’IU s’affichent sous forme d’une série d’icônes dans la partie gauche de la barre d’outils. Lorsque cette option est sélectionnée, les modules d’un mode d’IU s’affichent à droite.
Les icônes sont des références de la bibliothèque d’icônes CoralUI.
Ajoutez un mode d’IU afin de regrouper les modules ContextHub associés. Lorsque vous créez le mode d’IU, vous fournissez le titre et l’icône qui s’affichent dans la barre d’outils ContextHub.
Sur le rail du Experience Manager, cliquez ou appuyez sur Outils > Sites > ContextHub.
Cliquez ou appuyez sur Conteneur de configuration par défaut.
Cliquez ou appuyez sur Configuration ContextHub.
Cliquez ou appuyez sur le bouton Créer, puis sur Mode d’IU ContextHub.
Saisissez les valeurs pour les propriétés suivantes :
coral-Icon--user
.Cliquez ou appuyez sur Enregistrer.
Ajoutez un module d’IU ContextHub à un mode d’IU afin qu’il s’affiche dans la barre d’outils ContextHub pour prévisualiser le contenu d’une page. Lorsque vous ajoutez un module d’IU, vous créez une instance d’un type de module qui est enregistré auprès de ContextHub. Pour ajouter un module d’IU, vous devez connaître le nom du type de module associé.
AEM propose un type de module d’IU de base, ainsi que plusieurs types de modules d’IU d’exemple sur lesquels vous pouvez baser un module d’IU. Le tableau suivant présente une brève description de chacun d’entre eux. Pour plus d’informations sur le développement d’un module d’IU personnalisé, voir Création de modules d’IU ContextHub.
Les propriétés du module d’IU incluent une configuration de détails où vous pouvez fournir des valeurs pour des propriétés spécifiques au module. Vous fournissez la configuration de détails au format JSON. La colonne Type de module du tableau fournit des liens vers des informations sur le code JSON requis pour chaque type de module d’IU.
Type de module | Description | Magasin |
---|---|---|
contexthub.base | Type de module d’IU générique | Configuré dans les propriétés du module d’IU |
contexthub.browserinfo | Affiche des informations sur le navigateur. | surferinfo |
contexthub.datetime | Affiche la date et l’heure. | datetime |
contexthub.device | Affiche le périphérique client | emulators |
contexthub.location | Affiche la latitude et la longitude du client, ainsi que l’emplacement sur une carte. Vous permet de modifier l’emplacement. | geolocation |
contexthub.screen-orientation | Affiche l’orientation de l’écran de l’appareil (paysage ou portrait). | emulators |
contexthub.tagcloud | Affiche des statistiques sur les balises de page. | tagcloud |
granite.profile | Affiche les informations de profil de l’utilisateur actuel, y compris les authorizableID, displayName et familyName. Vous pouvez modifier la valeur du nom d’affichage (displayName) et du nom de famille (familyName). | profile |
Sur le rail du Experience Manager, cliquez ou appuyez sur Outils > Sites > ContextHub.
Cliquez ou appuyez sur le conteneur de configuration auquel vous souhaitez ajouter un module d’IU.
Cliquez ou saisissez la configuration ContextHub à laquelle vous souhaitez ajouter le module d’IU.
Cliquez ou appuyez sur le mode d’IU auquel vous ajoutez le module d’IU.
Cliquez ou appuyez sur le bouton Créer, puis sur Module d’IU ContextHub (générique).
Saisissez les valeurs pour les propriétés suivantes :
(Facultatif) Pour remplacer la configuration de magasin par défaut, saisissez un objet JSON pour configurer le module d’IU.
Cliquez ou appuyez sur Enregistrer.
Créez un magasin ContextHub pour conserver les données utilisateur et accéder aux données selon vos besoins. Les magasins ContextHub sont basés sur des candidats de magasins enregistrés. Lorsque vous créez le magasin, vous avez besoin de la valeur du paramètre storeType avec lequel le candidat de magasin a été enregistré. (Voir Création de candidats de magasin personnalisés.)
Lorsque vous configurez un magasin, la propriété Configuration de détails vous permet de fournir des valeurs pour les propriétés spécifiques au magasin. La valeur est basée sur le paramètre config
de la fonction init
du magasin. Par conséquent, la nécessité de fournir ou non cette valeur et son format dépend du magasin.
La valeur de la propriété Configuration de détails est un objet config
au format JSON.
AEM fournit des exemples de candidats de magasins sur lesquels vous pouvez baser un magasin.
Type de magasin | Description |
---|---|
aem.segmentation | Magasin pour les segments ContextHub résolus et non résolus. Récupère automatiquement les segments de SegmentManager ContextHub |
aem.resolvedsegments | Stocke les segments actuellement résolus. Écoute le service ContextHub SegmentManager pour mettre à jour automatiquement le magasin. |
contexthub.geolocation | Stocke la latitude et la longitude de l’emplacement du navigateur. |
contexthub.datetime | Stocke la date, l’heure et la saison actuelles de l’emplacement du navigateur. |
granite.emulators | Définit les propriétés et les fonctionnalités d’un certain nombre d’appareils et détecte l’appareil client actuel. |
contexthub.generic-jsonp | Récupère et stocke des données à partir d’un service JSONP. |
granite.profile | Stocke les données de profil de l’utilisateur actuel. |
contexthub.surferinfo | Stocke des informations sur le client, telles que les informations relatives à l’appareil, le type de navigateur et l’orientation de la fenêtre. |
contexthub.tagcloud | Stocke les balises de page et le nombre de balises. |
Sur le rail du Experience Manager, cliquez ou appuyez sur Outils > Sites > ContextHub.
Cliquez ou appuyez sur le conteneur de configuration par défaut.
Cliquez ou appuyez sur Configuration ContextHub
Pour ajouter un magasin, cliquez ou appuyez sur l’icône Créer, puis sur Configuration de magasin ContextHub.
Indiquez les valeurs des propriétés de configuration de base, puis cliquez ou appuyez sur Suivant :
(Facultatif) Pour remplacer la configuration de magasin par défaut, saisissez un objet JSON dans la zone Configuration des détails (JSON).
Cliquez ou appuyez sur Enregistrer.
Cet exemple illustre comment configurer un magasin et afficher les données dans un module d’IU. Dans cet exemple, le service MD5 du site jsontest.com est utilisé comme source de données pour un magasin. Le service renvoie le code de hachage MD5 d’une chaîne donnée, au format JSON.
Le magasin contexthub.generic-jsonp est configuré de sorte qu’il stocke les données de l’appel de service https://md5.jsontest.com/?text=%22text%20to%20md5%22
. Le service renvoie les données suivantes qui s’affichent dans un module d’IU :
{
"md5": "919a56ab62b6d5e1219fe1d95248a2c5",
"original": "\"text to md5\""
}
L’exemple de candidat de magasin contexthub.generic-jsonp vous permet de récupérer les données d’un service JSONP ou web qui renvoie des données JSON. Pour ce candidat de magasin, utilisez la configuration de magasin afin de fournir les détails du service JSONP à utiliser.
La fonction init de la classe JavaScript ContextHub.Store.JSONPStore
définit un objet config
qui initialise ce candidat de magasin. L’objet config
contient un objet service
qui inclut des détails sur le service JSONP. Pour configurer le magasin, il vous suffit de fournir l’objet service
au format JSON comme valeur de la propriété Configuration de détails.
Pour enregistrer les données à partir du service MD5 du site jsontest.com, suivez la procédure décrite dans Création d’un magasin ContextHub à l’aide des propriétés suivantes :
Titre de configuration : md5
Type de magasin : contexthub.generic-jsonp
Obligatoire : sélectionnez cette option.
Activé : sélectionnez cette option.
Configuration des détails (JSON) :
{
"service": {
"jsonp": false,
"timeout": 1000,
"ttl": 1800000,
"secure": false,
"host": "md5.jsontest.com",
"port": 80,
"params":{
"text":"text to md5"
}
}
}
Ajoutez un module d’IU à la barre d’outils ContextHub pour afficher les données stockées dans l’exemple de magasin MD5. Dans cet exemple, le module contexthub.base est utilisé pour générer le module d’IU suivant :
Utilisez la procédure de la section Ajout d’un module d’IU pour ajouter le module d’IU à un mode d’IU existant, comme l’exemple de mode d’IU Perona. Pour le module d’IU, utilisez les valeurs de propriété suivantes :
Titre du module d’IU : MD5
Type de module : contexthub.base.
Configuration des détails (JSON) :
{
"icon": "coral-Icon--data",
"title": "MD5 Converstion",
"storeMapping": { "md5": "md5" },
"template": "<p> {{md5.original}}</p>;
<p>{{md5.md5}}</p>"
}
Une procédure de débogage pour ContextHub peut être activée afin de permettre la résolution des incidents. Le mode de débogage peut être activé via la configuration ContextHub ou via CRXDE.
Modifiez la configuration de ContextHub et cochez l’option Débogage.
Utilisez CRXDE Lite pour définir la propriété debug
sur true sous :
/conf/global/settings/cloudsettings
ou/conf/<tenant>/settings/cloudsettings
Pour les configurations ContextHub toujours situées sous leurs chemins hérités, l’emplacement où définir la debug property
est /libs/settings/cloudsettings/legacy/contexthub
.
Le mode silencieux supprime toutes les informations de débogage. Contrairement à l’option de débogage normale, qui peut être définie indépendamment pour chaque configuration ContextHub, le mode silencieux est un paramètre global qui a un précédent sur tous les paramètres de débogage au niveau de la configuration ContextHub.
Cela est utile pour votre instance de publication, où vous ne souhaitez pas voir d’informations de débogage. Puisqu’il s’agit d’un paramètre global, il est activé via OSGi.
http://<host>:<port>/system/console/configMgr
Lors d’une mise à niveau vers AEM, les configurations de ContextHub sont sauvegardées et stockées dans un emplacement sécurisé. Lors de la mise à niveau, les configurations de ContextHub par défaut sont installées et remplacent les configurations existantes. La sauvegarde est nécessaire pour conserver les modifications ou ajouts que vous avez apportés.
Les configurations ContextHub sont stockées dans un dossier nommé contexthub
sous les nœuds suivants :
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Après une mise à niveau, la sauvegarde est stockée dans un dossier nommé contexthub
sous un nœud nommé :
/conf/global/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
ou
/conf/<tenant>/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
La partie yyyymmdd
du nom du nœud correspond à la date à laquelle la mise à niveau a été effectuée.
Pour récupérer vos configurations de ContextHub, utilisez CRXDE Lite afin de copier les nœuds qui représentent vos magasins, modes d’IU et modules d’IU à partir du niveau en dessous du nœud default-pre-upgrade_yyyymmdd_xxxxxx
sur les chemin ci-dessous :
/conf/global/settings/cloudsettings
ou/conf/<tenant>/settings/cloudsettings