可持續升級

自訂框架

體系結構(功能/基礎結構/內容/應用程式)

「自訂架構」功能可協助減少不方便升級的程式碼(例如APIS)或內容(例如覆蓋)不可擴充區域的違規。

定制框架有兩個元件:API Surface​和​內容分類

API Surface

在舊版AEM中,許多API都是透過Uber Jar公開的。 其中有些API並非客戶所要使用,但是會跨套件提供支援AEM功能。 未來,Java API將標示為「公開」或「私用」,以向客戶指出哪些API在升級中可安全使用。 其他具體內容包括:

  • 標示為Public的Java API可供自訂實作組合使用和參考。

  • Public API將向後相容相容軟體包的安裝。

  • 相容性軟體包將包含相容性Uber JAR以確保向後相容性

  • 標示為Private的Java API僅供AEM內部組合使用,不應供自訂組合使用。

注意

PrivatePublic的概念不應與Java的公共和私有類概念混淆。

image2018-2-12_23-52-48

內容分類

AEM長期以來都採用覆蓋和Sling Resource Merger的原則,讓客戶可擴充和自訂AEM功能。 為AEM主控台和UI提供動力的預先定義功能會儲存在​/libs​中。 客戶絕不得修改​/libs​下方的任何內容,但可在​/apps​下方新增其他內容,以覆蓋並延伸​/libs​中定義的功能(如需詳細資訊,請參閱使用覆蓋進行開發)。 當將AEM升級為​/libs​中的內容時,仍然會造成許多問題,這些問題可能會變更,導致覆蓋函式以非預期的方式中斷。 客戶也可以透過sling:resourceSuperType的繼承來擴充AEM元件,或直接透過sling:resourceType參考​/libs​中的元件。 類似的升級問題可能與參考和覆寫使用案例有關。

為了讓客戶更安全、更輕鬆地瞭解​/libs​的哪些區域安全使用並覆蓋​/libs​中的內容,已使用下列混音分類:

  • 公用(granite:PublicArea) -將節點定義為公用,以便其可以覆蓋、繼承( sling:resourceSuperType)或直接使用( sling:resourceType)。在/libs下標示為Public的節點可以通過添加相容性包進行安全升級。 一般而言,客戶只應使用標示為「公用」的節點。

  • 摘要(granite:AbstractArea) -將節點定義為抽象。節點可以覆蓋或繼承(sling:resourceSupertype),但不能直接使用(sling:resourceType)。

  • Final(granite:FinalArea) -將節點定義為final。分類為最終的理想節點不應重疊或繼承。 最終節點可以直接通過sling:resourceType使用。 預設情況下,最終節點下的子節點被視為內部節點。

  • 內部(granite:InternalArea) *- *將節點定義為內部。理想情況下,分類為內部的節點不應重疊、繼承或直接使用。 這些節點僅適用於AEM的內部功能

  • 無注釋 -節點根據樹層次繼承分類。預設情況下, / root為Public。 父節點被分類為「內部」或「最終」,節點也被視為「內部」。

注意

這些原則僅會針對Sling搜尋路徑架構強制執行。 /libs​的其他區域(如用戶端程式庫)可標示為Internal,但仍可與標準clientlib內含項目搭配使用。 在這些情況下,客戶必須繼續遵守內部分類。

CRXDE Lite內容類型指示器

在CRXDE Lite中套用的Mixin會顯示標示為INTERNAL的內容節點和樹狀結構變灰。 對於FINAL,只有圖示會變灰。 這些節點的子節點也將顯示為灰色。 這兩種情況下都會停用「覆蓋節點」功能。

公共

image2018-2-8_23-34-5

最終

image2018-2-8_23-34-56

內部

image2018-2-8_23-38-23

Content Health Check

注意

自AEM 6.5起,Adobe建議使用Pattern Detector來偵測內容存取違規。 模式檢測器報告更加詳細,檢測問題更多,降低誤報率。

如需詳細資訊,請參閱使用模式偵測器評估升級複雜性

AEM 6.5將隨附健康狀況檢查,以警告客戶重疊或參考的內容使用方式與內容分類不符。

The Sling/Granite Content Access Check​是新的健康狀態檢查,可監控儲存庫,以檢視客戶程式碼是否正在不當存取AEM中的受保護節點。

這會掃描​/apps,通常需要數秒才能完成。

要訪問此新的運行狀況檢查,您需要執行以下操作:

  1. 從「AEM首頁畫面」,導覽至「工具>作業>健康報表」

  2. 按一下​Sling/Granite Content Access Check,如下所示:

    screen_shot_2017-12-14at55648pm

掃描完成後,將顯示警告清單,通知正被不當引用的受保護節點的最終用戶:

screenshot-2018-2-5healthreports

修正違規後,將返回綠色狀態:

screenshot-2018-2-5healthreports-violations

The health check displays information by a background services collected that hat an an overlay or resource type is used or all Sling search paths. 如果內容混音使用不當,則會報告違規。

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free