ContextHub是儲存、控制和呈現上下文資料的架構。 有關ContextHub的詳細資訊,請參閱開發人員檔案。 ContextHub會取代觸控UI中的用戶端內容。
設定ContextHub工具列,以控制它是否出現在「預覽」模式中、建立ContextHub儲存區,並使用「最佳化觸控式UI」新增UI模組。
依預設,ContextHub會在AEM安裝中啟用。 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
設定Adobe Granite ContextHub OSGi服務,以顯示或隱藏頁面上的ContextHub UI。 此服務的PID為com.adobe.granite.contexthub.impl.ContextHubImpl.
要配置服務,您可以使用Web控制台或在儲存庫](/docs/experience-manager-65/sites-deploying/configuring-osgi.html?lang=zh-Hant#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邊欄上,按一下或點選「工具>網站>內容中樞」。
按一下或點選預設的「設定容器」。
按一下或點選「內容中樞設定」。
按一下或點選「建立」按鈕,然後按一下或點選「內容中樞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 | 顯示日期和時間資訊 | 日期時間 |
contexthub.device | 顯示客戶端設備 | 模擬器 |
contexthub.location | 顯示用戶端的經緯度,以及地圖上的位置。 可讓您變更位置。 | 地理位置 |
contexthub.screen-orientation | 顯示裝置的螢幕方向(橫向或縱向) | 模擬器 |
contexthub.tagcloud | 顯示頁面標籤的統計資料 | tagcloud |
granite.profile | 顯示目前使用者的設定檔資訊,包括authorizedID、displayName和familyName。 可以更改displayName和familyName的值。 | 側面像 |
在Experience Manager邊欄上,按一下或點選「工具>網站> ContextHub」。
按一下或點選您要新增UI模組的「設定容器」。
按一下或輸入您要新增UI模組的ContextHub設定。
按一下或點選您要新增UI模組的UI模式。
按一下或點選「建立」按鈕,然後按一下或點選「ContextHub UI Module(一般)」。
提供下列屬性的值:
(可選)若要覆寫預設商店設定,請輸入JSON物件以設定UI模組。
按一下或點選「儲存」。
建立內容中樞儲存區,以保存使用者資料並視需要存取資料。 ContextHub儲存區是以註冊的儲存區候選項為基礎。 當您建立商店時,需要註冊商店候選者的storeType值。 (請參閱建立自訂商店候選者)。
在配置儲存時,Detail Configuration屬性允許您為儲存特定屬性提供值。 該值基於儲存init
函式的config
參數。 因此,是否需要提供此值和值的格式取決於儲存。
Detail Configuration屬性的值是JSON格式的config
物件。
AEM提供下列範例商店候選者,供您建立商店的基礎。
商店類型 | 說明 |
---|---|
aem.segmentation | 儲存已解決和未解析的ContextHub區段。 自動從ContextHub SegmentManager中擷取區段 |
aem.resolvedsegments | 儲存目前解析的區段。 監聽ContextHub SegmentManager服務以自動更新商店 |
contexthub.geolocation | 儲存瀏覽器位置的經緯度。 |
contexthub.datetime | 儲存瀏覽器位置的目前日期、時間和季節 |
granite.emulator | 定義多個設備的屬性和功能,並檢測當前客戶端設備 |
contexthub.generic-jsonp | 從JSONP服務檢索和儲存資料 |
granite.profile | 儲存目前使用者的描述檔資料 |
contexthub.surferinfo | 儲存用戶端的相關資訊,例如裝置資訊、瀏覽器類型和視窗方向 |
contexthub.tagcloud | 儲存頁面標籤和標籤計數 |
在Experience Manager邊欄上,按一下或點選「工具>網站> ContextHub」。
按一下或點選預設設定容器。
按一下或點選「Contexthub Configuration」(內容圖布組態)
若要新增商店,請按一下或點選「建立」圖示,然後按一下或點選「ContexHub商店設定」。
提供基本配置屬性的值,然後按一下或點選「下一步」:
(可選)若要覆寫預設的商店設定,請在「詳細設定(JSON)」方塊中輸入JSON物件。
按一下或點選「儲存」。
此範例說明如何設定儲存區並在UI模組中顯示資料。 在此範例中,jsontest.com網站的MD5服務會用作商店的資料來源。 服務會傳回指定字串的MD5雜湊代碼,格式為JSON。
配置contexthub.generic-jsonp儲存,以便儲存服務調用https://md5.jsontest.com/?text=%22text%20to%20md5%22
的資料。 服務返回UI模組中顯示的以下資料:
{
"md5": "919a56ab62b6d5e1219fe1d95248a2c5",
"original": "\"text to md5\""
}
contexthub.generic-jsonp範例儲存候選項可讓您從傳回JSON資料的JSONP服務或網站服務擷取資料。 對於此商店候選項,請使用商店配置來提供要使用的JSONP服務的詳細資訊。
ContextHub.Store.JSONPStore
Javascript類的init函式定義了初始化此儲存候選項的config
對象。 config
對象包含service
對象,該對象包含有關JSONP服務的詳細資訊。 若要設定商店,請提供JSON格式的service
物件作為「詳細資料設定」屬性的值。
要保存jsontest.com站點的MD5服務中的資料,請使用使用以下屬性建立ContextHub儲存中的過程:
配置標題: 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配置獨立設定)不同,silent模式是全域設定,取代ContextHub組態層級上的任何除錯設定。
這對您的發佈例項非常有用,因為您完全不需要任何除錯資訊。 因為它是全域設定,所以會透過OSGi啟用。
http://<host>:<port>/system/console/configMgr
開啟Adobe Experience Manager Web Console Configuration當執行升級至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