ContextHub es un marco para almacenar, manipular y presentar datos de contexto. Para obtener más información sobre ContextHub, consulte la documentación para desarrolladores. ContextHub reemplaza Client Context en la IU táctil.
Configure la barra de herramientas ContextHub para controlar si aparece en modo de Previsualización, para crear almacenes de ContextHub y agregar módulos de interfaz de usuario mediante la IU táctil.
De forma predeterminada, ContextHub está habilitado en una instalación AEM. ContextHub se puede deshabilitar para evitar que cargue js/css e inicialice. Existen dos opciones para deshabilitar ContextHub:
Edite la configuración de ContextHub y marque la opción Deshabilitar ContextHub
o
disabled
en true en /libs/settings/cloudsettings
Debido a la reestructuración del repositorio en AEM 6.4, la ubicación de las configuraciones de ContextHub cambió de /etc/cloudsettings
a:
/libs/settings/cloudsettings
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Configure el servicio OSGi de ContextHub de Adobe Granite para mostrar u ocultar la IU de ContextHub en sus páginas. El PID de este servicio es com.adobe.granite.contexthub.impl.ContextHubImpl.
Para configurar el servicio, puede utilizar la Consola Web o un nodo JCR en el repositorio:
com.adobe.granite.contexthub.show_ui
propiedad booleana en true
. Para ocultar la interfaz de usuario, establezca la propiedad en false
.Al mostrar la interfaz de usuario de ContextHub, solo aparece en las páginas de AEM instancias de autor. La interfaz de usuario no aparece en las páginas de instancias de publicación.
Configure los modos y módulos de interfaz de usuario que aparecen en la barra de herramientas de ContextHub en modo de Previsualización:
Los modos de IU aparecen como una serie de iconos en la parte izquierda de la barra de herramientas. Cuando se selecciona, los módulos de un modo de IU aparecen a la derecha.
Los iconos son referencias de la biblioteca de iconos de la interfaz de usuario de Coral.
Añada un modo de IU para agrupar los módulos de ContextHub relacionados. Al crear el modo de IU, se proporciona el título y el icono que aparecen en la barra de herramientas de ContextHub.
En el carril del Experience Manager, toque o haga clic en Herramientas > Sitios > Context Hub.
Toque o haga clic en el Contenedor de configuración predeterminado.
Toque o haga clic en la Configuración de Context Hub.
Toque o haga clic en el botón Crear y, a continuación, toque o haga clic en el modo de IU de Context Hub.
Proporcione valores para las siguientes propiedades:
coral-Icon--user
Haga clic o pulse Guardar.
Añada un módulo de interfaz de usuario de ContextHub en un modo de interfaz de usuario para que aparezca en la barra de herramientas de ContextHub para obtener una vista previa del contenido de la página. Cuando agrega un módulo de interfaz de usuario, está creando una instancia de un tipo de módulo registrado con ContextHub. Para agregar un módulo de interfaz de usuario, debe conocer el nombre del tipo de módulo asociado.
AEM proporciona un tipo de módulo de interfaz de usuario base, así como varios tipos de módulo de interfaz de usuario de ejemplo en los que puede basar un módulo de interfaz de usuario. La siguiente tabla proporciona una breve descripción de cada una. Para obtener información sobre el desarrollo de un módulo de interfaz de usuario personalizado, consulte Creación de módulos de interfaz de usuario de ContextHub.
Las propiedades del módulo UI incluyen una configuración detallada en la que puede proporcionar valores para propiedades específicas del módulo. La configuración detallada se proporciona en formato JSON. La columna Tipo de módulo de la tabla proporciona vínculos a información sobre el código JSON necesario para cada tipo de módulo de interfaz de usuario.
Tipo de módulo | Descripción | Almacenar |
---|---|---|
contexthub.base | Un tipo de módulo de interfaz de usuario genérico | Configurado en las propiedades del módulo de interfaz de usuario |
contexthub.browserinfo | Muestra información sobre el explorador | surferinfo |
contexthub.datetime | Muestra información de fecha y hora | datetime |
contexthub.device | Mostrar el dispositivo cliente | emuladores |
contexthub.location | Muestra la latitud y la longitud del cliente, así como la ubicación en un mapa. Permite cambiar la ubicación. | geolocalización |
contexthub.screen-orientation | Muestra la orientación de la pantalla del dispositivo (horizontal o vertical) | emuladores |
contexthub.tagcloud | Muestra estadísticas sobre las etiquetas de página | tagcloud |
granite.perfil | Muestra la información de perfil del usuario actual, incluso autorizableID, displayName y familyName. Puede cambiar el valor de displayName y familyName. | El perfil. |
En el carril del Experience Manager, toque o haga clic en Herramientas > Sitios > ContextHub.
Toque o haga clic en el Contenedor de configuración al que desee agregar un módulo de interfaz de usuario.
Haga clic o escriba la Configuración de ContextHub a la que desea agregar el módulo de interfaz de usuario.
Toque o haga clic en el modo de IU al que está agregando el módulo de IU.
Toque o haga clic en el botón Crear y, a continuación, toque o haga clic en ContextHub UI Module (genérico).
Proporcione valores para las siguientes propiedades:
(Opcional) Para anular la configuración de almacenamiento predeterminada, introduzca un objeto JSON para configurar el módulo de interfaz de usuario.
Haga clic o pulse Guardar.
Cree un almacén de Context Hub para conservar los datos de usuario y acceder a ellos según sea necesario. Las tiendas de ContextHub se basan en los candidatos de las tiendas registradas. Cuando crea la tienda, necesita el valor de storeType con el que se registró el candidato de la tienda. (Consulte Creación de candidatos de tienda personalizados).
Al configurar una tienda, la propiedad Configuración de detalles permite proporcionar valores para propiedades específicas de la tienda. El valor se basa en el parámetro config
de la función init
del almacén. Por lo tanto, si necesita proporcionar este valor, y el formato del valor, depende de la tienda.
El valor de la propiedad Configuración de detalles es un objeto config
en formato JSON.
AEM proporciona los siguientes candidatos de almacén de muestra en los que puede basar una tienda.
Tipo de tienda | Descripción |
---|---|
aem.segmentation | Almacenar para segmentos de ContextHub resueltos y sin resolver. Recupera automáticamente segmentos desde el Administrador de segmentos de ContextHub |
aem.resolvedsegments | Almacena los segmentos resueltos actualmente. Escucha el servicio ContextHub SegmentManager para actualizar automáticamente la tienda |
contexthub.geolocation | Almacena la latitud y la longitud de la ubicación del explorador. |
contexthub.datetime | Almacena la fecha, hora y temporada actuales para la ubicación del explorador |
granite.emulators | Define las propiedades y capacidades de varios dispositivos y detecta el dispositivo cliente actual |
contexthub.generic-jsonp | Recupera y almacena datos de un servicio JSONP |
granite.perfil | Almacena datos de perfil para el usuario actual |
contexthub.surferinfo | Almacena información sobre el cliente, como la información del dispositivo, el tipo de navegador y la orientación de la ventana |
contexthub.tagcloud | Almacena etiquetas de página y recuentos de etiquetas |
En el carril del Experience Manager, toque o haga clic en Herramientas > Sitios > ContextHub.
Toque o haga clic en el contenedor de configuración predeterminado.
Haga clic o toque Configuración de Contexthub
Para agregar una tienda, toque o haga clic en el icono Crear y, a continuación, toque o haga clic en Configuración de la tienda ContexHub.
Proporcione valores para las propiedades de configuración básicas y toque o haga clic en Siguiente:
(Opcional) Para anular la configuración predeterminada del almacén, introduzca un objeto JSON en el cuadro Configuración de detalles (JSON).
Haga clic o pulse Guardar.
Este ejemplo ilustra cómo configurar una tienda y mostrar los datos en un módulo de interfaz de usuario. En este ejemplo, el servicio MD5 del sitio jsontest.com se utiliza como fuente de datos para una tienda. El servicio devuelve el código hash MD5 de una cadena determinada, en formato JSON.
Se ha configurado un almacén contexthub.generic-jsonp para que almacene datos para la llamada de servicio https://md5.jsontest.com/?text=%22text%20to%20md5%22
. El servicio devuelve los siguientes datos que se muestran en un módulo de interfaz de usuario:
{
"md5": "919a56ab62b6d5e1219fe1d95248a2c5",
"original": "\"text to md5\""
}
El candidato de almacén de muestras contexthub.generic-jsonp le permite recuperar datos de un servicio JSONP o un servicio Web que devuelve datos JSON. Para este candidato a tienda, utilice la configuración de la tienda para proporcionar detalles sobre el servicio JSONP que se va a utilizar.
La función init de la clase ContextHub.Store.JSONPStore
Javascript define un objeto config
que inicializa este candidato de almacén. El objeto config
contiene un objeto service
que incluye detalles sobre el servicio JSONP. Para configurar el almacén, debe proporcionar el objeto service
en formato JSON como valor de la propiedad Configuración de detalles.
Para guardar datos del servicio MD5 del sitio jsontest.com, utilice el procedimiento de Creación de una tienda ContextHub con las siguientes propiedades:
Título de configuración: md5
Tipo de tienda: contexthub.generic-jsonp
Requerido: Seleccionar
Habilitado: Seleccionar
Configuración detallada (JSON):
{
"service": {
"jsonp": false,
"timeout": 1000,
"ttl": 1800000,
"secure": false,
"host": "md5.jsontest.com",
"port": 80,
"params":{
"text":"text to md5"
}
}
}
Añada un módulo de interfaz de usuario a la barra de herramientas de ContextHub para mostrar los datos almacenados en la tienda md5 de ejemplo. En este ejemplo, el módulo contexthub.base se utiliza para producir el siguiente módulo de interfaz de usuario:
Utilice el procedimiento de Añadir un módulo de interfaz de usuario para agregar el módulo de interfaz de usuario a un modo de interfaz de usuario existente, como el modo de interfaz de usuario Perona de ejemplo. Para el módulo de interfaz de usuario, utilice los siguientes valores de propiedad:
Título del módulo de interfaz de usuario: MD5
Tipo de módulo: contexthub.base
Configuración detallada (JSON):
{
"icon": "coral-Icon--data",
"title": "MD5 Converstion",
"storeMapping": { "md5": "md5" },
"template": "<p> {{md5.original}}</p>;
<p>{{md5.md5}}</p>"
}
Se puede habilitar un modo de depuración para ContextHub para permitir la resolución de problemas. El modo de depuración se puede habilitar mediante la configuración de ContextHub o mediante CRXDE.
Edite la configuración de ContextHub y marque la opción Depurar
Use CRXDE Lite para establecer la propiedad debug
en true en:
/conf/global/settings/cloudsettings
o/conf/<tenant>/settings/cloudsettings
Para las configuraciones de ContextHub que aún se encuentran bajo sus rutas heredadas, la ubicación para establecer debug property
es /libs/settings/cloudsettings/legacy/contexthub
.
El modo silencioso suprime toda la información de depuración. A diferencia de la opción de depuración normal, que se puede establecer de forma independiente para cada configuración de ContextHub, el modo silencioso es una configuración global que tiene prioridad sobre cualquier configuración de depuración en el nivel de configuración de ContextHub.
Esto resulta útil para la instancia de publicación, donde no desea ninguna información de depuración. Dado que es una configuración global, se habilita mediante OSGi.
http://<host>:<port>/system/console/configMgr
Cuando se realiza una actualización a AEM, se realiza una copia de seguridad de las configuraciones de ContextHub y se almacenan en una ubicación segura. Durante la actualización, se instalan las configuraciones predeterminadas de ContextHub, reemplazando las configuraciones existentes. La copia de seguridad es necesaria para conservar los cambios o adiciones que haya realizado.
Las configuraciones de ContextHub se almacenan en una carpeta denominada contexthub
en los nodos siguientes:
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
Después de una actualización, la copia de seguridad se almacena en una carpeta denominada contexthub
bajo un nodo denominado:
/conf/global/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
o
/conf/<tenant>/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
La porción yyyymmdd
del nombre del nodo es la fecha en que se realizó la actualización.
Para recuperar las configuraciones de ContextHub, utilice CRXDE Lite para copiar los nodos que representan sus tiendas, modos de interfaz de usuario y módulos de interfaz de usuario desde debajo del nodo default-pre-upgrade_yyyymmdd_xxxxxx
a continuación:
/conf/global/settings/cloudsettings
o/conf/<tenant>/settings/cloudsettings