MSM最佳實務

一般

MSM是可自動部署內容的可設定架構。 實作通常涉及網站的主要部分,並橫跨組織和地理區域。 因此,強烈建議您在規劃網站時,務必謹慎規劃MSM實作:

  • 開始實作前,請務必小心​規劃結構和內容流
  • 視需要自訂,但盡可能少。 雖然MSM支援高度自訂(例如轉出設定),但針對網站效能、可靠性和可升級性,通常最佳實務是將自訂降至最低。
  • 及早建立​governance​模型,並據此訓練使用者,以確保成功。 從治理角度來看,最佳做法是​最小化本地內容生成者擁有的將內容分配給其他本地用戶及其各自的Live Copy/連接的權限。​這是因為不受管理、鏈式繼承可以顯著增加MSM結構的複雜性,並損害其效能和可靠性。
  • 一旦您的結構、內容流、自動化和控管有了計畫,原型並在開始即時實施之前徹底測試您的系統
  • 請記住,Adobe諮詢與領先的系統整合商​擁有透過MSM進行內容自動化規劃與實作的豐富經驗,因此可協助您開始使用MSM專案,以及完成整個實作。

即時副本來源和Blueprint設定

請記住,可使用一般頁面Blueprint設定來建立Live Copy。 兩者皆為有效的使用案例。

使用Blueprint配置的額外好處是:

  • 允許作者在Blueprint上使用​轉出​選項,以便明確推送修改至繼承自此Blueprint的Live Copy。
  • 允許作者使用​建立網站,以便輕鬆選取語言並設定Live Copy的結構。
  • 為與Blueprint有關係的Live Copy定義預設轉出設定。

如果未參考Blueprint設定,則只能從Live Copy本身啟動轉出,實際上是從來源提取內容。

使用Live Copy建立新網站時,建立Blueprint設定是有利的作法,以確保可使用完整的MSM功能集。

注意

請注意,「權限」頁簽中的CUG無法從Blueprint轉出到Live Copy。 設定Live Copy時,請針對此進行規劃。

元件和容器同步

一般而言,MSM中關於元件同步的轉出規則為:

  • 系統會推出元件,同步Blueprint中包含的任何資源。
  • 容器僅同步當前資源。

這表示元件被視為聚合,在轉出時,元件本身及其所有子代將被藍圖中的元件替換。 這表示如果資源在本機新增至此類元件,在轉出時將會遺失至Blueprint的內容。

若要支援元件巢狀,以便轉出時維護本機新增的元件,必須將元件宣告為容器。

注意

將屬性cq:isContainer新增至元件,以將其指定為容器。

建立網站

請注意,AEM有兩種建立Live Copy的主要方法:

  • 建立即時副本時 — 這可視為較通用的方法,可讓您從任何頁面建立即時副本。 即時副本的內容結構完全符合來源。

  • 建立網站時 — 這是更專業的方法,主要用於建立具有多語言結構的網站。

建立網站時,請謹記以下幾點:

  • 若要建立新網站,您需要blueprint設定
  • 若要允許選取要在新網站中建立的語言路徑,對應的語言根必須存在於Blueprint(來源)中。
  • 一旦將新網站建立為Live Copy(使用​Create,然後使用​Site),此Live Copy的前兩個層級為​shallow。 頁面的子項不屬於即時關係,但如果找到符合觸發器的即時關係,則轉出仍會下降。

有助於避免:

  • 在Blueprint中手動新增語言(在第一層下)。
  • 手動在語言根目錄正下方新增內容,因為這不會導致在轉出時自動將此新內容傳送到Live Copy。

MSM與多語言網站

MSM可以以兩種方式協助建立多語言網站:

建立語言主版時,請記住以下事項:

  • 雖然MSM本身​不提供內容翻譯,但可與提供內容的第三方翻譯連接器整合。 請注意:
    • MSM可讓您取消頁面和/或元件層級的繼承。 這有助於防止下次轉出時覆寫已轉譯的內容(來自即時副本,而來自Blueprint的尚未轉譯內容)。
      • 某些第三方翻譯連接器會自動管理MSM繼承內容。
      • 請洽詢您的翻譯服務提供商以了解更多資訊。
      • 建立和翻譯語言主版的替代方法是結合AEM現成的翻譯整合架構使用語言副本。

如需詳細資訊,請參閱翻譯多語言網站的內容翻譯最佳實務。

結構變更和轉出

Blueprint/來源樹狀結構中對內容結構的修改,在Live Copy中的反映方式不同。 這取決於修改類型:

  • ​在Blueprint中建立新頁面後,透過標準轉出設定轉出後,將會導致在Live Copy中建立對應的頁面。
  • ​透過標準轉出設定轉出後,Blueprint中的刪除頁面將導致從Live Copy中刪除對應的頁面。
  • ​使用標準轉出設定轉出 ​後,在Blueprint中移動頁面不會導致對應頁面在Live Copy中移動:
    • 此行為的原因是頁面移動隱含地包含頁面刪除。 這可能會在發佈時導致非預期的行為,因為刪除作者上的頁面會自動在發佈時停用對應的內容。 這也可能對相關項目(例如連結、書籤等)產生額外影響。
      • 會更新個別Live Copy頁面中的內容繼承,以反映其來源在Blueprint中的新位置。
      • 要完全實現從Blueprint到Live Copy的頁面移動,請考慮頁面移動最佳實踐。

頁面移動最佳作法

考慮在Live Copy中移動頁面時,請考慮下列最佳實務。

注意

下列項目僅適用於轉出觸發器

  1. 建立自訂轉出設定。
    • 此新配置必須包含PageMoveAction操作。
    • 請勿將其他動作新增至此設定。
  2. 定位新配置。
    • 若要在Live Copy中刪除個別頁面的舊位置時完全轉出頁面移動:
      • 在標準轉出設定之前放置新建立的設定。 標準轉出設定會處理刪除其舊位置中的頁面。
      • 若要展開頁面移動,同時將個別頁面保留在Live Copy的舊位置(基本上重複內容):
        • 在標準轉出設定後,放置新建立的設定。 這可確保Live Copy中不會刪除任何內容,或從發佈中停用。

自訂轉出

MSM轉出設定可高度自訂。 請注意,自動轉出可能會產生深遠的後果。 在進行下列活動之前,您應謹慎規劃,此為最佳作法:

onModify

使用轉出觸發器 onModify時,您應考量:

  • 使用onModify觸發器自動轉出可能會對製作效能造成負面影響,因為它們會在每次頁面修改後觸發轉出。
  • 轉出結果可能與預期的不同,如下所示:
    • 您無法指定產生的修改事件的順序。
    • 事件型架構無法保證傳遞至轉出管理器的事件順序。
  • 如果同一資源同時更新,使用此類轉出設定可能會導致提交衝突。

因此,建議您只在自動轉出啟動的好處超過任何潛在效能問題時,才使用onModify觸發器。

節點類型/屬性

除了自訂轉出動作,MSM也可讓您自訂正在轉出的節點屬性。 MSM OSGi設定可讓您排除節點類型,以避免從來源複製到Live Copy。

更多資訊

如需MSM和Live Copy的詳細資訊,請參閱下列文章。

本頁內容