ContextHub是存储、处理和呈现上下文数据的框架。 有关ContextHub的详细信息,请参阅开发人员文档。 ContextHub替换了触屏UI中的Client Context。
配置ContextHub工具栏,以控制它是否显示在预览模式中、创建ContextHub存储区以及使用触屏优化UI添加UI模块。
默认情况下,AEM安装中启用ContextHub。 可以禁用ContextHub以阻止它加载js/css和初始化。 禁用ContextHub有两种选项:
编辑ContextHub的配置并选中选项禁用ContextHub
或
disabled
设置为true /libs/settings/cloudsettings
下由于AEM 6.4中的存储库重 组,ContextHub配置的位置从 /etc/cloudsettings
更改为:
/libs/settings/cloudsettings
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
将AdobeGranite ContextHub OSGi服务配置为在页面上显示或隐藏ContextHub UI。 此服务的PID为com.adobe.granite.contexthub.impl.ContextHubImpl.
要配置服务,您可以使用Web控制台或使用存储库](/docs/experience-manager-64/sites-deploying/configuring-osgi.html?lang=zh-Hans#osgi-configuration-in-the-repository)中的[ JCR节点:
com.adobe.granite.contexthub.show_ui
性设置为 true
。要隐藏UI,请将属性设置为false
。显示ContextHub UI时,它仅显示在AEM作者实例的页面上。 UI不显示在发布实例的页面上。
配置在预览模式下ContextHub工具栏中显示的UI模式和模块:
UI模式在工具栏左侧显示为一系列图标。 选择后,UI模式的模块将显示在右侧。
图标是Coral UI图标库的引用。
添加UI模式以组相关的ContextHub模块。 在创建UI模式时,您提供标题和图标,它们显示在ContextHub工具栏中。
在Experience Manager边栏上,单击或点按工具>站点> Context Hub。
单击或点按默认的配置容器。
单击或点按Context Hub配置。
单击或点按创建按钮,然后单击或点按Context Hub UI模式。
提供以下属性的值:
coral-Icon--user
单击或点按保存。
将ContextHub UI模块添加到UI模式,以便它显示在ContextHub工具栏中以预览页面内容。 添加UI模块时,您将创建向ContextHub注册的模块类型实例。 要添加UI模块,您必须知道关联模块类型的名称。
AEM提供基本UI模块类型以及几种示例UI模块类型,您可以在这些类型上对UI模块进行基础设置。 下表对每种方法进行了简要说明。 有关开发自定义UI模块的信息,请参阅创建ContextHub UI模块。
UI模块属性包括详细信息配置,您可以在其中提供模块特定属性的值。 您以JSON格式提供详细配置。 表中的“模块类型”列提供了指向每个UI模块类型所需JSON代码的相关信息的链接。
模块类型 | 描述 | 存储 |
---|---|---|
contexthub.base | 通用UI模块类型 | 在UI模块属性中配置 |
contexthub.browserinfo | 显示有关浏览器的信息 | surferinfo |
contexthub.datetime | 显示日期和时间信息 | datetime |
contexthub.device | 显示客户端设备 | 模拟器 |
contexthub.location | 显示客户端的经度和纬度,以及地图上的位置。 允许您更改位置。 | 地理位置 |
contexthub.screen-orientation | 显示设备的屏幕方向(横向或纵向) | 模拟器 |
contexthub.tagcloud | 显示有关页面标记的统计信息 | 塔格云 |
granite.用户档案 | 显示当前用户的用户档案信息,包括authorizableID、displayName和familyName。 可以更改displayName和familyName的值。 | 配置文件 |
在Experience Manager边栏上,单击或点按工具>站点> ContextHub。
单击或点按要向其添加UI模块的配置容器。
单击或键入要向其添加UI模块的ContextHub配置。
单击或点按要添加UI模块的UI模式。
单击或点按创建按钮,然后单击或点按ContextHub UI模块(通用)。
提供以下属性的值:
(可选)要覆盖默认的存储配置,请输入JSON对象以配置UI模块。
单击或点按保存。
创建Context Hub存储库以保留用户数据并根据需要访问数据。 ContextHub存储基于注册的存储候选。 创建商店时,需要注册商店候选者的storeType值。 (请参阅创建自定义存储候选项。)
配置存储时,Detail Configuration属性允许您为存储特定属性提供值。 该值基于存储的init
函数的config
参数。 因此,是否需要提供此值以及值的格式取决于存储。
Detail Configuration属性的值是JSON格式的config
对象。
AEM提供以下可作为商店基础的样本商店候选。
存储类型 | 描述 |
---|---|
aem.segmentation | 存储已解析和未解析的ContextHub区段。 自动从ContextHub SegmentManager检索区段 |
aem.resolved区段 | 存储当前解析的区段。 监听ContextHub SegmentManager服务以自动更新存储 |
contexthub.geolocation | 存储浏览器位置的经度和纬度。 |
contexthub.datetime | 存储浏览器位置的当前日期、时间和季节 |
granite.emulators | 定义多个设备的属性和功能,并检测当前客户端设备 |
contexthub.generic-jsonp | 从JSONP服务检索和存储数据 |
granite.用户档案 | 存储当前用户的用户档案数据 |
contexthub.surferinfo | 存储有关客户端的信息,如设备信息、浏览器类型和窗口方向 |
contexthub.tagcloud | 存储页面标记和标记计数 |
在Experience Manager边栏上,单击或点按工具>站点> ContextHub。
单击或点按默认配置容器。
单击或点按Contexthub配置
要添加商店,请单击或点按创建图标,然后单击或点按ContexHub商店配置。
提供基本配置属性的值,然后单击或点按下一步:
(可选)要覆盖默认的存储配置,请在“详细配置(JSON)”框中输入JSON对象。
单击或点按保存。
此示例说明如何在UI模块中配置存储和显示数据。 在此示例中,jsontest.com站点的MD5服务用作存储的数据源。 服务以JSON格式返回给定字符串的MD5哈希代码。
配置contexthub.generic-jsonp存储,以便它存储服务调用https://md5.jsontest.com/?text=%22text%20to%20md5%22
的数据。 服务返回UI模块中显示的以下数据:
{
"md5": "919a56ab62b6d5e1219fe1d95248a2c5",
"original": "\"text to md5\""
}
contexthub.generic-jsonp示例存储候选项允许您从JSONP服务或返回JSON数据的Web服务检索数据。 对于此存储候选项,请使用存储配置提供有关要使用的JSONP服务的详细信息。
ContextHub.Store.JSONPStore
Javascript类的init函数定义一个初始化此存储候选的config
对象。 config
对象包含一个service
对象,该对象包含有关JSONP服务的详细信息。 要配置存储,请提供JSON格式的service
对象作为“Detail Configuration”属性的值。
要保存jsontest.com站点的MD5服务中的数据,请使用使用以下属性创建ContextHub Store中的过程:
配置标题: md5
存储类型: contexthub.generic-jsonp
必需:选 择
启用:选 择
详细配置 (JSON):
{
"service": {
"jsonp": false,
"timeout": 1000,
"ttl": 1800000,
"secure": false,
"host": "md5.jsontest.com",
"port": 80,
"params":{
"text":"text to md5"
}
}
}
将UI模块添加到ContextHub工具栏以显示存储在示例md5商店中的数据。 在此示例中,contexthub.base模块用于生成以下UI模块:
使用添加UI模块中的步骤将UI模块添加到现有UI模式,如示例Perona UI模式。 对于UI模块,请使用以下属性值:
UI模块标题: MD5
模块类型: contexthub.base
详细配置 (JSON):
{
"icon": "coral-Icon--data",
"title": "MD5 Converstion",
"storeMapping": { "md5": "md5" },
"template": "<p> {{md5.original}}</p>;
<p>{{md5.md5}}</p>"
}
可以启用ContextHub的调试模式以允许进行疑难解答。 调试模式可以通过ContextHub配置或通过CRXDE启用。
编辑ContextHub的配置并选中选项Debug
使用CRXDE Lite将属性debug
设置为true,位于:
/conf/global/settings/cloudsettings
或/conf/<tenant>/settings/cloudsettings
对于仍位于其旧路径下的ContextHub配置,设置debug property
的位置为/libs/settings/cloudsettings/legacy/contexthub
。
“静默”模式抑制所有调试信息。 与常规调试选项不同,静默模式是全局设置,优先于ContextHub配置级别上的任何调试设置。
这对于您的发布实例非常有用,因为您根本不需要任何调试信息。 由于它是全局设置,因此它通过OSGi启用。
http://<host>:<port>/system/console/configMgr
的Adobe Experience ManagerWeb控制台配置当执行升级到AEM时,将备份ContextHub配置并将其存储在安全位置。 在升级过程中,将安装默认的ContextHub配置,替换现有配置。 需要备份才能保留您所做的任何更改或添加内容。
ContextHub配置存储在以下节点下名为contexthub
的文件夹中:
/conf/global/settings/cloudsettings
/conf/<tenant>/settings/cloudsettings
升级后,备份存储在名为contexthub
的节点下的一个文件夹中:
/conf/global/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
或
/conf/<tenant>/settings/cloudsettings/default-pre-upgrade_yyyymmdd_xxxxxxx
节点名称的yyyymmdd
部分是执行升级的日期。
要恢复ContextHub配置,请使用CRXDE Lite将代表您的商店、UI模式和UI模块的节点从default-pre-upgrade_yyyymmdd_xxxxxx
节点下复制到以下位置:
/conf/global/settings/cloudsettings
或/conf/<tenant>/settings/cloudsettings