配置ContextHub

ContextHub是儲存、操控和呈現內容資料的架構。 如需ContextHub的詳細資訊,請參閱ContextHub開發人員概述

您可以設定ContextHub工具列以控制它是否出現在「預覽」模式、建立ContextHub存放區,以及新增UI模組。

顯示和隱藏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模式和模組

設定以「預覽」模式顯示於ContextHub工具列的UI模式和模組:

  • UI模式:相關模組組
  • 模組:從儲存區公開內容資料並讓作者操控內容的介面工具集

UI模式會以一系列圖示的形式顯示在工具列左側。 選取後,UI模式的模組會顯示在右側。

ContextHub工具列

圖示是Coral UI圖示資料庫中的參考。

添加UI模式

新增UI模式以將相關的ContextHub模組分組。 建立UI模式時,您會提供顯示在ContextHub工具列中的標題和圖示。

  1. 在Experience Manager邊欄中,按一下或點選「工具>網站>內容中樞」。

  2. 按一下或點選預設的「設定容器」。

  3. 按一下或點選「Context Hub Configuration」。

  4. 按一下或點選「建立」按鈕,然後按一下或點選「內容中樞UI模式」。

    新增UI模式

  5. 提供下列屬性的值:

    • UI模式標題:識別UI模式的標題
    • 模式表徵圖:要使用的Coral UI圖示選取器,例如coral-Icon--user
    • 已啟用:選取「 」,在ContextHub工具列中顯示UI模式
  6. 按一下或點選「儲存」。

添加UI模組

將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.location 顯示用戶端的經緯度,以及地圖上的位置。 可讓您變更位置。 geolocation
contexthub.screen-orientation 顯示裝置的螢幕方向(橫向或直向) emulators
contexthub.tagcloud 顯示頁面標籤的統計資料 tagcloud
granite.profile 顯示當前用戶的配置檔案資訊,包括authorizableIDdisplayNamefamilyName。 您可以變更displayNamefamilyName的值。 profile
  1. 在Experience Manager邊欄中,按一下或點選「工具>網站> ContextHub」。

  2. 按一下或點選「設定容器」,以新增UI模組。

  3. 按一下或輸入您要新增UI模組的ContextHub設定。

  4. 按一下或點選您要新增UI模組的UI模式。

  5. 按一下或點選「建立」按鈕,然後按一下或點選「 ContextHub UI模組(一般)」。

    ContextHub UI模組

  6. 提供下列屬性的值:

    • UI模組標題:識別UI模組的標題
    • 模組類型:模組類型
    • 已啟用:選取「 」,在ContextHub工具列中顯示UI模組
  7. (選用)若要覆寫預設的存放區設定,請輸入JSON物件以設定UI模組。

  8. 按一下或點選「儲存」。

建立ContextHub存放區

建立Context Hub存放區以保留使用者資料並視需要存取資料。 ContextHub存放區是根據已註冊的存放區候選項。 建立商店時,需要註冊商店候選商店的storeType值。 (請參閱建立自訂商店候選項。)

詳細儲存配置

配置儲存時,「詳細配置」屬性允許您為儲存特定屬性提供值。 值以儲存init函式的config參數為基礎。 因此,您是否需要提供此值和值的格式取決於儲存區。

Detail Configuration屬性的值是JSON格式的config物件。

備用儲存示例

AEM提供下列範例存放區候選項,供您建立存放區。

商店類型 說明
aem.segmentation 儲存已解析和未解析的ContextHub區段。 自動從ContextHub SegmentManager中擷取區段
contexthub.geolocation 儲存瀏覽器位置的經緯度。
granite.emulators 定義多個設備的屬性和功能,並檢測當前客戶端設備
granite.profile 儲存目前使用者的設定檔資料
contexthub.surferinfo 儲存用戶端的相關資訊,例如裝置資訊、瀏覽器類型和視窗方向
  1. 在Experience Manager邊欄中,按一下或點選「工具>網站> ContextHub」。

  2. 按一下或點選預設設定容器。

  3. 按一下或點選「Contexthub設定」

  4. 若要新增商店,請按一下或點選「建立」圖示,然後按一下或點選「 ContextHub商店設定」。

    ContextHub存放區設定

  5. 提供基本配置屬性的值,然後按一下或點選「下一步」:

    • 設定標題: 識別存放區的標題
    • 儲存類型: 要作為儲存基礎的儲存候選項的storeType屬性的值
    • 必要: 選取
    • 啟用: 選取以啟用商店
  6. (選用)若要覆寫預設的存放區設定,請在「詳細設定(JSON)」方塊中輸入JSON物件。

  7. 按一下或點選「儲存」。

範例:使用JSONP服務

此範例說明如何設定儲存區,以及在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儲存

contexthub.generic-jsonp範例存放區候選項可讓您從傳回JSON資料的JSONP服務或網站服務擷取資料。 對於此儲存候選項,請使用儲存配置提供有關要使用的JSONP服務的詳細資訊。

ContextHub.Store.JSONPStore Javascript類的init函式定義了初始化此儲存候選項的config對象。 config物件包含service物件,其中包含JSONP服務的詳細資訊。 若要設定存放區,請以JSON格式提供service物件,作為Detail Configuration屬性的值。

要從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"
         }
       }
     }
    

為md5資料添加UI模組

將UI模組新增至ContextHub工具列,以顯示儲存在範例md5商店中的資料。 在此範例中,contexthub.base模組用於產生下列UI模組:

ContextHub MD5商店

使用新增UI模組中的程式,將UI模組新增至現有的UI模式,例如範例角色UI模式。 對於UI模組,請使用下列屬性值:

  • UI模組標題: MD5

  • 模組類型: contexthub.base

  • 詳細資料組態 (JSON):

    {
     "icon": "coral-Icon--data",
     "title": "MD5 Conversion",
     "storeMapping": { "md5": "md5" },
     "template": "<p> {{md5.original}}</p>;
                  <p>{{md5.md5}}</p>"
    }
    

調試ContextHub

ContextHub的除錯模式可啟用,以允許疑難排解。 偵錯模式可透過ContextHub設定或透過CRXDE啟用。

通過配置

編輯ContextHub的設定並核取選項​Debug

  1. 在邊欄中,按一下或點選​工具>網站> ContextHub
  2. 按一下或點選預設的​設定容器
  3. 選擇​ContextHub Configuration ,然後按一下或點選​Edit Selected Element
  4. 按一下或點選「Debug」,然後按一下或點選「Save

通過CRXDE

使用CRXDE Lite將屬性debug設為​true,位於:

  • /conf/global/settings/cloudsettings
  • /conf/<site>/settings/cloudsettings

記錄ContextHub的除錯訊息

設定AdobeGranite ContextHub OSGi服務(PID = com.adobe.granite.contexthub.impl.ContextHubImpl),以記錄開發時很實用的詳細除錯訊息。

要配置服務,可以使用Web控制台或在儲存庫中使用JCR節點:

  • Web控制台:若要記錄除錯訊息,請選取除錯屬性。
  • JCR節點:若要記錄除錯訊息,請將布林值com.adobe.granite.contexthub.debug屬性設為true

靜默模式

靜默模式隱藏所有調試資訊。 與可針對每個ContextHub配置獨立設定的一般除錯選項不同,靜默模式是全局設定,在ContextHub配置級別上取代任何調試設定。

這對您的發佈執行個體很實用,因為您完全不需要任何除錯資訊。 因為這是全域設定,所以會透過OSGi啟用。

  1. http://<host>:<port>/system/console/configMgr開啟​Adobe Experience Manager Web控制台配置
  2. 搜尋​AdobeGranite ContextHub
  3. 按一下設定​AdobeGranite ContextHub​以編輯其屬性
  4. 檢查選項​靜默模式,然後按一下​保存

禁用ContextHub

您可以停用ContextHub,以防止其載入js/css及初始化。 停用ContextHub有兩個選項:

  • 編輯ContextHub的設定並核取選項​停用ContextHub

    1. 在邊欄中,按一下或點選​工具>網站> ContextHub
    2. 按一下或點選預設的​設定容器
    3. 選擇​ContextHub Configuration ,然後按一下或點選​Edit Selected Element
    4. 按一下或點選「停用ContextHub」,然後按一下或點選「儲存

  • 使用CRXDE Lite將/conf/global/settings/cloudsettings/<configName>/contexthub下的屬性disabled設定為​true

本頁內容