配置Live Copy同步

執行以下任務以控制即時副本與其源內容同步的方式和時間。

  • 決定現有的轉出設定是否符合您的需求,或您是否需要建立一或多個轉出設定。
  • 指定要用於即時副本的轉出設定。

安裝和自訂轉出設定

本節提供有關已安裝轉出設定及其使用的同步動作,以及如有需要如何建立自訂設定的資訊。

注意

更新或變更現成可用的轉出設定(已安裝)是​不建議。 如果需要自訂即時動作,則應將其新增至自訂轉出設定。

轉出觸發器

每個轉出設定都使用轉出觸發器,而導致轉出發生。 轉出設定可使用下列其中一個觸發器:

  • 轉出時:Rollout ​命令用於藍色打印頁,或Synchronized命 ​令用於即時副本頁。

  • 修改時:已修改源頁。

  • 啟動時:源頁面已激活。

  • 停用時:源頁面已停用。

注意

使用「修改時」觸發器可能會影響效能。 如需詳細資訊,請參閱MSM最佳實務

已安裝的轉出設定

下表列出隨AEM安裝的轉出設定。 表格包含每個轉出設定的觸發和同步動作。 如果安裝的轉出設定動作不符合您的需求,您可以建立新的轉出設定

名稱 說明 觸發器 同步操作

另請參閱已安裝的同步操作
標準轉出設定 標準轉出設定,允許於轉出觸發時開始轉出程序,並執行下列動作: 建立、更新、刪除內容以及排序子節點。 於轉出 contentUpdate
contentCopy
contentDelete
referencesUpdate
productUpdate
orderChildren
在 Blueprint 啟動時啟動 發佈來源時發佈即時副本。 啟動時 targetActivate
在 Blueprint 停用時停用 停用來源時停用即時副本。 停用 targetDeactivate
在發生修改時推送

修改來源時推送內容至即時副本。

請謹慎使用此轉出設定,因為它使用「修改時」觸發器。

於修改 contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
在發生修改時推送 (淺層)

修改Blueprint頁面時推送內容至即時副本,而不更新參考(例如淺層副本)。

請謹慎使用此轉出設定,因為它使用「修改時」觸發器。

於修改 contentUpdate
contentCopy
contentDelete
orderChildren
提升啟動 提升啟動頁面的標準轉出設定。 於轉出 contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
markLiveRelationship
目錄頁面內容轉出設定 從目錄 Blueprint 套用頁面範本。 於轉出 contentUpdate
contentCopy
contentDelete
referencesUpdate
productCreateUpdate
orderChildren
目錄頁面更新轉出設定 從目錄藍圖套用目標屬性。 必須在目錄頁面內容轉出設定後執行。 於轉出 catalogRollotHooks
DPS 發佈轉出設定 DPS發佈轉出設定,允許在轉出觸發時開始轉出程式,同時在初始轉出時排除FolioProducer系結屬性 於轉出 contentUpdate
contentCopy
contentDelete
referencesUpdate
orderChildren
dpsMetadataFilter
舊版(5.6.0)目錄轉出設定 已棄用。轉出目錄時不使用 MSM,並改用 Catalog Generator。 於轉出 editProperties

已安裝的同步操作

下表列出隨AEM安裝的同步操作。 如果安裝的操作不符合您的要求,則可以建立新同步操作

動作名稱 說明 屬性
contentCopy 如果Live Copy上不存在源節點,則將節點複製到Live Copy。 設定CQ MSM內容複製動作 服務,以指定要排除的節點類型、段落項目和頁面屬性。
contentDelete

刪除源上不存在的即時副本節點。 設定CQ MSM內容刪除動作 服務,以指定要排除的節點類型、段落項目和頁面屬性。

contentUpdate 使用來源的變更更新即時副本內容。 設定CQ MSM內容更新動作 服務,以指定要排除的節點類型、段落項目和頁面屬性。
editProperties

編輯即時副本的屬性。 editMap屬性決定要編輯的屬性及其值。 editMap屬性的值必須使用下列格式:

[property_name_1]#[current_value]#[new_value],
[property_name_2]#[current_value]#[new_value],
... ,
[property_name_n]#[current_value]#[new_value]

current_valuenew_value項目是規則運算式。

例如,請考量下列editMap值:

sling:resourceType#/(contentpage|homepage)#/
mobilecontentpage,
cq:template#/contentpage#/mobilecontentpage

此值會編輯即時副本節點的屬性,如下所示:

  • 設為contentpage或設為homepagesling:resourceType屬性設為 mobilecontentpage.
  • 設為contentpagecq:template屬性設為 mobilecontentpage.

editMap:(字串)識別屬性、目前值和新值。 有關資訊,請參閱說明。

通知 傳送已轉出頁面的頁面事件。 若要收到通知,需先訂閱轉出事件。
orderChildren 在即時副本上,它會根據Blueprint
上的順序對子項(節點)進行排序
referencesUpdate

在即時副本上,此同步動作會更新類似連結的參考。
它會搜尋即時副本頁面中指向Blueprint內資源的路徑。找到後,會更新路徑,以指向即時副本(而非Blueprint)中的相關資源。 在Blueprint外具有目標的參照不會變更。

設定CQ MSM References Update Action服 務,以指定要排除的節點類型、段落項目和頁面屬性。

targetVersion

建立即時副本的版本。

此動作必須是轉出設定中唯一包含的同步動作。

targetActivate

啟動即時副本。

此動作必須是轉出設定中唯一包含的同步動作。

targetDeactivate

停用即時副本。

此動作必須是轉出設定中唯一包含的同步動作。

工作流程

啟動由target屬性定義的工作流程(僅適用於頁面),並將即時副本視為裝載。

目標路徑是模型節點的路徑。

目標:(字串)工作流模型的路徑。
強制

將即時副本頁面上多個ACL的權限設定為特定用戶組的只讀權限。 配置了以下ACL:

  • ActionSet.ACTION_NAME_REMOVE
  • ActionSet.ACTION_NAME_SET_PROPERTY
  • ActionSet.ACTION_NAME_ACL_MODIFY

僅對頁面使用此動作。

目標:(字串)您要設定權限之群組的ID。
mandatoryContent

將即時副本頁面上多個ACL的權限設定為特定用戶組的只讀權限。 配置了以下ACL:

  • ActionSet.ACTION_NAME_SET_PROPERTY
  • ActionSet.ACTION_NAME_ACL_MODIFY

僅對頁面使用此動作。

目標:(字串)您要設定權限之群組的ID。
mandatoryStructure 將ActionSet.ACTION_NAME_REMOVE ACL在Live Copy頁上的權限設定為特定用戶組的只讀。 僅對頁面使用此動作。 目標:(字串)您要設定權限之群組的ID。
VersionCopyAction 如果Blueprint/來源頁面至少已發佈一次,則會使用已發佈的版本建立即時副本頁面。 注意:此動作僅適用於根據已發佈的來源頁面建立即時副本頁面,不適用於更新現有的即時副本頁面。
PageMoveAction

當頁面在Blueprint中移動時,PageMoveAction即會套用。

動作會複製,而非將(相關的)LiveCopy頁面從移動前的位置移至之後的位置。

PageMoveAction不會變更移動前位置的LiveCopy頁面。 因此,對於連續的RolloutConfigurations,其狀態為不含Blueprint的LiveRelationship。

設定CQ MSM頁面移動動作 服務,以指定要排除的節點類型、段落項目和頁面屬性。

此動作必須是轉出設定中唯一包含的同步動作。

prop_referenceUpdate:(布林值)設為true可更新參考。 預設為true。

productCreateUpdate 在目錄中建立或更新產品資源。 此動作應用於下列其中一種情況:
  • 產生或轉出目錄(或目錄區段)
  • 用戶恢復產品元件的同步繼承。
markLiveRelationship 指出啟動建立的內容存在即時關係。
catalogRollotHooks 執行目錄產生專用轉出鈎點。 呼叫目錄產生器的executePageRolloutHooks和executeProductRolloutHooks方法。
請參閱AEM Javadocs中的com.adobe.cq.commerce.pim.api.CatalogGenerator 。
productUpdate 更新產品目錄即時副本中的產品頁面

建立轉出設定

當安裝的轉出設定不符合您的應用程式需求時,您可以建立轉出設定:

接著,當您在Blueprint或Live Copy頁面上設定轉出設定時,即可使用新的轉出設定。

從同步中排除屬性和節點類型

您可以配置多個支援相應同步操作的OSGi服務,以使其不影響特定節點類型和屬性。 例如,與AEM內部功能相關的許多屬性和子節點不應包含在即時副本中。 只應複製與頁面使用者相關的內容。

使用AEM時,有數種方法可管理這類服務的組態設定;如需詳細資訊和建議實務,請參閱設定OSGi

下表列出了可以指定要排除的節點的同步操作。 該表提供了使用Web控制台進行配置的服務的名稱,以及使用儲存庫節點進行配置的PID。

同步操作 Web控制台中的服務名 服務PID
contentCopy CQ MSM內容複製動作 com.day.cq.wcm.msm.impl.actions.ContentCopyActionFactory
contentDelete CQ MSM內容刪除動作 com.day.cq.wcm.msm.impl.actions.ContentDeleteActionFactory
contentUpdate CQ MSM內容更新動作 com.day.cq.wcm.msm.impl.actions.ContentUpdateActionFactory
PageMoveAction CQ MSM頁面移動動作 com.day.cq.wcm.msm.impl.actions.PageMoveActionFactory
referencesUpdate CQ MSM參考更新動作 com.day.cq.wcm.msm.impl.actions.ReferencesUpdateActionFactory

下表說明了可以配置的屬性:

Web控制台屬性/ OSGi屬性 說明

排除的節點類型

cq.wcm.msm.action.excludednodetypes

與要從同步操作中排除的節點類型匹配的規則表達式。

排除的段落項目

cq.wcm.msm.action.excludedparagraphitems

與要從同步操作中排除的段落項相匹配的規則表達式。

排除的頁面屬性

cq.wcm.msm.action.excludedprops

符合要從同步動作中排除之頁面屬性的規則運算式。

忽略的Mixin NodeTypes

cq.wcm.msm.action.ignoredMixin

僅適用於CQ MSM內容更新動作。 與要從同步操作中排除的mixin節點類型的名稱匹配的規則表達式。
注意

在傳統UI中,LiveCopy頁面的「頁面屬性」對話方塊中顯示的鎖定圖示不會反映「排除的頁面屬性」屬性的設定。 即使是從同步操作中排除的屬性,也會顯示鎖定表徵圖。

注意

在觸控最佳化UI中,另請參閱在頁面屬性上設定MSM鎖定(觸控最佳化UI)

CQ MSM內容更新動作 — 排除

預設情況下,會排除數個屬性和節點類型,這些會定義在​CQ MSM內容更新動作​的​排除的頁面屬性​下的OSGi設定中。

依預設,轉出時會排除與下列規則運算式相符的屬性(即未更新):

chlimage_1

您可以視需要變更定義排除清單的運算式。

例如,如果您想要將頁面​Title​納入考慮轉出的變更中,請從排除項目移除jcr:title。 例如,使用規則運算式:

jcr:(?!(title)$).*

配置更新引用的同步

您可以配置多個OSGi服務,這些服務支援與更新引用相關的相應同步操作。

使用AEM時,有數種方法可管理這類服務的組態設定;如需詳細資訊和建議實務,請參閱設定OSGi

下表列出了可以為其指定引用更新的同步操作。 該表提供了使用Web控制台進行配置的服務的名稱,以及使用儲存庫節點進行配置的PID。

Web控制台屬性/ OSGi屬性 說明

跨巢狀LiveCopy更新參考

cq.wcm.msm.impl.action.referencesupdate.prop_updateNested

僅適用於CQ MSM參考更新動作。 選擇此選項(Web控制台)或將此布林屬性設定為true(儲存庫配置)以替換指向位於最頂層LiveCopy分支內的任何資源的引用。

更新引用頁面

cq.wcm.msm.impl.actions.pagemove.prop_referenceUpdate

僅適用於CQ MSM頁面移動動作。 選擇此選項(Web控制台)或將此布爾屬性設定為true(儲存庫配置),以更新任何引用,以使用原始頁來改為引用LiveCopy頁。

指定要使用的轉出組態

MSM可讓您指定一般使用的轉出設定集,並在需要時,您可以針對特定即時副本覆寫這些設定。 MSM提供數個位置,用以指定要使用的轉出設定。 位置會決定設定是否套用至特定即時副本。

下列位置清單可讓您指定要使用的轉出設定,說明MSM如何決定要用於即時副本的轉出設定:

  • 即時副本頁面屬性: 當即時副本頁面設定為使用一或多個轉出設定時,MSM會使用這些轉出設定。
  • Blueprint頁面屬性: 當即時副本以Blueprint為基礎,且即時副本頁面未以轉出設定進行設定時,會使用與Blueprint來源頁面相關聯的轉出設定。
  • 即時副本上層頁面屬性: 如果即時副本頁面和Blueprint來源頁面均未使用轉出設定進行設定,則會使用套用至即時副本頁面上層頁面的轉出設定。
  • 系統預設: 無法判斷即時副本上層頁面的轉出設定時,會使用系統預設的轉出設定。

例如,Blueprint使用We.Retail參考網站作為來源內容。 從Blueprint建立網站。 下列清單中的每個項目說明使用轉出設定的不同案例:

  • 未將任何Blueprint頁面或即時副本頁面設定為使用轉出設定。 MSM會對所有即時副本頁面使用系統預設轉出設定。
  • We.Retail參考網站的根頁面已設定數個轉出設定。 MSM會對所有即時副本頁面使用這些轉出設定。
  • We.Retail參考網站的根頁面已設定數個轉出設定,而即時副本網站的根頁面則設定了一組不同的轉出設定。 MSM會使用即時副本網站根頁面上設定的轉出設定。

設定即時副本頁面的轉出設定

使用轉出設定設定設定即時副本頁面,以便在轉出來源頁面時使用。 子頁預設繼承配置。 將轉出設定設為使用時,會覆寫即時副本頁面從其上層繼承的設定。

當您建立即時副本時,也可以設定即時副本頁面的轉出設定。

  1. 使用​Sites​控制台來選取即時副本頁面。

  2. 從工具欄中選擇​屬性

  3. 開啟​Live Copy​標籤。

    Configuration​部分顯示頁面繼承的轉出配置。

    chlimage_1-1

  4. 如果需要,請調整​即時副本繼承​標幟。 如果已勾選,則即時副本配置對所有子項都有效。

  5. 清除​從父項繼承轉出配置​屬性,然後從清單中選擇一個或多個轉出配置。

    選取的轉出設定會顯示在下拉式清單下方。

    chlimage_1-2

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

設定Blueprint頁面的轉出設定

使用轉出設定設定設定藍圖頁面,以在Blueprint頁面推出時使用。

請注意,Blueprint頁面的子頁面會繼承設定。 將轉出配置配置配置為使用時,可能正在覆蓋頁面從其父級繼承的配置。

  1. 使用​Sites​控制台來選取Blueprint的根頁面。
  2. 從工具欄中選擇​屬性
  3. 開啟​Blueprint​標籤。
  4. 使用下拉式選取器選取一或多個​轉出設定
  5. 使用​Save​保存更新。

設定系統預設轉出配置

指定轉出設定以作為系統預設值。 若要指定預設值,請設定OSGi服務:

  • Day CQ WCM Live Relationship
    Manager服務PID為
    com.day.cq.wcm.msm.impl.LiveRelationshipManagerImpl

使用Web控制台儲存庫節點來配置服務。

  • 在Web主控台中,要設定的屬性名稱為「預設轉出設定」。
  • 使用儲存庫節點時,要配置的屬性名稱為liverelationshipmgr.relationsconfig.default

將此屬性值設定為轉出配置的路徑,以用作系統預設值。 預設值為/libs/msm/wcm/rolloutconfigs/default,即​標準轉出設定

本頁內容