配置 ContextHub configuring-contexthub
ContextHub是一个用于存储、操作和呈现上下文数据的框架。 有关ContextHub的详细信息,请参阅ContextHub开发人员概述。
您可以配置ContextHub工具栏以控制它是否以预览模式显示、创建ContextHub存储区以及添加UI模块。
显示和隐藏ContextHub UI showing-and-hiding-the-contexthub-ui
将AdobeGranite ContextHub OSGi服务配置为在您的页面上显示或隐藏ContextHub UI。 此服务的PID为com.adobe.granite.contexthub.impl.ContextHubImpl.
要配置服务,您可以使用Web控制台或使用存储库中的JCR节点:
- Web控制台: 要显示UI,请选择“显示UI”属性。 要隐藏UI,请清除隐藏UI属性。
- JCR节点: 要显示UI,请将布尔值
com.adobe.granite.contexthub.show_ui
属性设置为true
。 要隐藏UI,请将属性设置为false
。
显示ContextHub UI时,它仅显示在AEM创作实例上的页面上。 UI未出现在发布实例的页面上。
添加ContextHub UI模式和模块 adding-contexthub-ui-modes-and-modules
配置在预览模式下显示在ContextHub工具栏中的UI模式和模块:
- UI模式:相关模块组
- 模块:从存储中公开上下文数据并使作者能够处理上下文的小部件
UI模式在工具栏左侧显示为一系列图标。 选中后,UI模式的模块将显示在右侧。
图标是来自Coral UI图标库的引用。
添加UI模式 adding-a-ui-mode
添加UI模式以分组相关的ContextHub模块。 在创建UI模式时,您需要提供显示在ContextHub工具栏中的标题和图标。
-
在Experience Manager边栏中,选择工具>站点>上下文中心。
-
选择默认配置容器。
-
选择上下文中心配置。
-
选择创建按钮,然后选择Context Hub UI模式。
-
提供以下属性的值:
- 用户界面模式标题:标识用户界面模式的标题
- 模式图标:要使用的Coral UI图标的选择器,例如
coral-Icon--user
- 启用:选择此项可在ContextHub工具栏中显示UI模式
-
选择“保存”。
添加UI模块 adding-a-ui-module
将ContextHub UI模块添加到UI模式,以便该模块显示在ContextHub工具栏中,用于预览页面内容。 添加UI模块时,您将创建一个已在ContextHub中注册的模块类型实例。 要添加UI模块,您必须知道关联模块类型的名称。
AEM提供了一个基本UI模块类型以及多个示例UI模块类型,您可以基于这些类型构建UI模块。 下表提供了每种类型的简要说明。 有关开发自定义用户界面模块的信息,请参阅创建ContextHub UI模块。
UI模块属性包括一个详细配置,您可以在其中提供特定于模块的属性的值。 您以JSON格式提供详细配置。 表中的模块类型列提供了指向每个UI模块类型所需JSON代码信息的链接。
authorizableID
、displayName
和familyName
。 您可以更改displayName
和familyName
的值。profile
-
在Experience Manager边栏中,选择“工具”>“站点”>“ContextHub”。
-
选择要将UI模块添加到其中的配置容器。
-
选择或键入要向其添加UI模块的ContextHub配置。
-
选择要在其中添加UI模块的UI模式。
-
选择创建按钮,然后选择ContextHub UI模块(通用)。
-
提供以下属性的值:
- 用户界面模块标题:标识用户界面模块的标题
- 模块类型:模块类型
- 已启用:选择此选项可在ContextHub工具栏中显示UI模块
-
(可选)要覆盖默认存储配置,请输入要配置UI模块的JSON对象。
-
选择“保存”。
创建ContextHub存储 creating-a-contexthub-store
创建Context Hub存储以保留用户数据并根据需要访问数据。 ContextHub存储基于已注册的存储候选项。 在创建存储时,需要存储候选注册到的storeType的值。 (请参阅创建自定义商店候选。)
详细存储配置 detailed-store-configuration
在配置存储时,细节配置属性允许您提供特定于存储的属性的值。 该值基于存储的init
函数的config
参数。 因此,是否需要提供此值,以及此值的格式,取决于存储。
详细信息配置属性的值是JSON格式的config
对象。
示例存储候选 sample-store-candidates
AEM提供了以下存储候选项示例,您可以根据它们创建存储。
-
在Experience Manager边栏中,选择“工具”>“站点”>“ContextHub”。
-
选择默认配置容器。
-
选择Contexthub配置
-
要添加存储,请选择“创建”图标,然后选择ContextHub存储配置。
-
提供基本配置属性的值,然后选择下一步:
- 配置标题: 标识存储区的标题
- 存储类型: 作为存储基础的存储候选的storeType属性的值
- 必需: 选择
- 已启用: 选择以启用存储
-
(可选)要覆盖默认存储配置,请在详细信息配置(JSON)框中输入JSON对象。
-
选择“保存”。
示例:使用JSONP服务 example-using-a-jsonp-service
此示例说明如何在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存储 creating-a-contexthub-generic-jsonp-store
Contexthub.generic-jsonp示例存储候选项允许您从返回JSON数据的JSONP服务或Web服务中检索数据。 对于此存储候选项,请使用存储配置提供关于要使用的JSONP服务的详细信息。
ContextHub.Store.JSONPStore
JavaScript类的init函数定义了一个初始化此商店候选的config
对象。 config
对象包含一个service
对象,其中包含有关JSONP服务的详细信息。 要配置存储,请以JSON格式提供service
对象作为详细信息配置属性的值。
要保存来自jsontest.com站点的MD5服务的数据,请使用使用以下属性创建ContextHub存储区中的过程:
-
配置标题: md5
-
存储类型: contexthub.generic-jsonp
-
必需: 选择
-
已启用: 选择
-
详细配置(JSON):
code language-javascript { "service": { "jsonp": false, "timeout": 1000, "ttl": 1800000, "secure": false, "host": "md5.jsontest.com", "port": 80, "params":{ "text":"text to md5" } } }
为md5数据添加UI模块 adding-a-ui-module-for-the-md-data
将UI模块添加到ContextHub工具栏,以显示存储在示例md5存储中的数据。 在此示例中,contexthub.base模块用于生成以下UI模块:
使用添加UI模块中的过程将UI模块添加到现有UI模式,如示例Persona UI模式。 对于UI模块,请使用以下属性值:
-
UI模块标题: MD5
-
模块类型: contexthub.base
-
详细配置(JSON):
code language-javascript { "icon": "coral-Icon--data", "title": "MD5 Conversion", "storeMapping": { "md5": "md5" }, "template": "<p> {{md5.original}}</p>; <p>{{md5.md5}}</p>" }
调试Contexthub debugging-contexthub
可以启用ContextHub的调试模式以进行疑难解答。 调试模式可通过ContextHub配置或CRXDE启用。
通过配置 via-the-configuration
编辑ContextHub的配置并选中选项 调试
- 在边栏中,选择 工具> Sites > ContextHub
- 选择默认 配置容器
- 选择 ContextHub配置 并选择 编辑所选元素
- 选择 调试 并选择 保存
通过CRXDE via-crxde
使用CRXDE Lite将属性debug
设置为 true,位于:
/conf/global/settings/cloudsettings
或/conf/<site>/settings/cloudsettings
记录ContextHub的调试消息 logging-debug-messages-for-contexthub
配置AdobeGranite ContextHub OSGi服务(PID = com.adobe.granite.contexthub.impl.ContextHubImpl
)以记录开发时有用的详细调试消息。
要配置服务,您可以使用Web控制台或使用存储库中的JCR节点:
- Web控制台:要记录调试消息,请选择Debug属性。
- JCR节点:要记录调试消息,请将布尔值
com.adobe.granite.contexthub.debug
属性设置为true
。
静默模式 silent-mode
静默模式会隐藏所有调试信息。 与可为每个ContextHub配置单独设置的普通调试选项不同,静默模式是一种全局设置,其优先于ContextHub配置级别上的任何调试设置。
这对于您根本不需要任何调试信息的发布实例非常有用。 由于它是全局设置,因此可通过OSGi启用。
- 在
http://<host>:<port>/system/console/configMgr
处打开 Adobe Experience Manager Web控制台配置 - 搜索 AdobeGranite ContextHub
- 单击配置 AdobeGranite ContextHub 以编辑其属性
- 选中选项 静默模式 并单击 保存
禁用ContextHub disabling-contexthub
可以禁用ContextHub以阻止其加载js/css和初始化。 可通过以下两个选项禁用ContextHub:
-
编辑ContextHub的配置并选中选项 禁用ContextHub
- 在边栏中,选择 工具> Sites > ContextHub
- 选择默认 配置容器
- 选择 ContextHub配置 并选择 编辑所选元素
- 选择 禁用ContextHub 并选择 保存
或
- 使用CRXDE Lite将
/conf/global/settings/cloudsettings/<configName>/contexthub
下的属性disabled
设置为 true