開發和頁面差異 developing-and-page-diff

功能概述 feature-overview

內容建立是一個反複的過程。 以高效率撰寫需要能夠檢視反複專案之間的變更。 檢視一個頁面版本然後檢視另一個頁面版本會效率低下,並容易發生錯誤。 作者希望能夠並排比較目前頁面與先前版本,並醒目提示差異。

頁面差異可讓使用者將目前頁面與啟動項、舊版等專案進行比較。 如需此使用者功能的詳細資訊,請參閱 頁面差異.

作業詳細資料 operation-details

比較頁面的版本時,使用者想要比較的先前版本會由AEM在背景重新建立,以方便差異比較。 這是為了能夠呈現內容 用於並排比較.

此重新建立操作由AEM內部完成,對使用者而言是透明的,不需要任何干涉。 但是,管理員檢視存放庫(例如,在CRXDE Lite中)時,會在內容結構中看到這些重新建立的版本。

比較內容時,系統會在下列位置重新建立整個樹狀結構,一直到要比較的頁面為止:

/tmp/versionhistory/

清除工作會自動執行,以清除此暫存內容。

權限 permissions

先前,在傳統UI中,必須進行特殊的開發考量,以促進AEM差異(例如使用 cq:text 標籤程式庫,或自訂整合 DiffService OSGi服務轉換為元件)。 新的diff功能不再需要此專案,因為差異是透過DOM比較在使用者端發生。

不過,開發人員必須考慮一些限制。

  • 此功能使用的CSS類別未與AEM產品建立名稱空間。 如果頁面上包含其他相同名稱的自訂CSS類別或協力廠商CSS類別,差異的顯示可能會受到影響。

    • html-added
    • html-removed
    • cq-component-added
    • cq-component-removed
    • cq-component-moved
    • cq-component-changed
  • 由於diff是使用者端並在頁面載入時執行,因此使用者端diff服務執行後對DOM所做的任何調整都不會計算在內。 這可能會影響

    • 使用AJAX來包含內容的元件
    • 單頁應用程式
    • 可在使用者互動時操控DOM的JavaScript型元件。
NOTE
頁面差異比較僅適用於具有有效cq:editConfig節點的元件。
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2