核心元件不僅是全新功能,並且有多項優點,因此建議用於新的 AEM 專案。對於既有專案來說,移轉應該是品牌重塑或整體重構等較大專案工作的一部分。
因此,Adobe提供下列建議:
核心元件功能強大、靈活,易於使用和定制。 遵循幾項重要准則 將能確保您的核心元件專案成功。
任何新專案都應使用核心元件來實作。 但現有專案通常會大量實施基礎元件。
對現有專案付出更大努力(例如品牌重塑或整體重構)通常可讓您移轉至核心元件。 為方便移轉,Adobe提供了許多移轉工具,以鼓勵採用核心元件和最新的AEM技術。
AEM現代化工具 可輕鬆轉換:
如需這些工具之使用的詳細資訊, 查看其檔案.
AEM現代化工具是社群的努力成果,Adobe不支援或保固。
由於AEMas a Cloud Service會自動隨附最新版核心元件,當您從內部部署AEM安裝移轉時,必須移除專案中對核心元件的任何相依性 pom.xml
檔案。
您的代理元件仍將如往常般運作,因為proxy指向必要的supertype,且supertype路徑中包含版本。 如此一來,只要移除相依性,核心元件就能像在內部部署一樣,在AEMaCS中運作。
如同任何其他AEMaaCS專案,您也需要將相依性新增至AEM SDK jar中。 這並非核心元件專屬,而是必要項目。
<dependency>
<groupId>com.adobe.aem</groupId>
<artifactId>aem-sdk-api</artifactId>
</dependency>
請參閱檔案 AEM專案結構 以取得AEMaaCS專案的詳細資訊。
核心元件是 AEM 不可或缺的一部分,並依照與 Quickstart 所提供相同的條款與條件給予支援。
如同其他AEM產品功能,一般規則為:元件會先宣佈淘汰,並在下列AEM版本中盡早移除。 這可讓客戶在停止支援前,至少有一個發行週期可移至新版本的元件。
每個元件的版本都清楚說明其支援的 AEM 版本。當停止支援 AEM 的單一版本時,核心元件對該 AEM 版本的支援也會停止。
如需支援自訂元件的詳細資訊,請參閱 自訂核心元件 頁面。
下表概述核心元件與基礎元件之間的差異。
如需其製作功能和預先設定選項的詳細資訊, 請參閱相關的製作頁面.
功能 | 核心元件 | 基礎元件 |
---|---|---|
邏輯實作 | Java POJO搭配 Sling模型 註解 | JSP代碼 |
標籤定義 | HTML範本語言 (HTL)語法 | JSP代碼 |
XSS淨化 | 由HTL自動化 | 多為手動 |
CSS類命名 | 基於的標準化命名慣例 區塊元素修飾詞 (BEM)標籤法(自2.0.0版起) | 自訂配置 |
對話框定義 | 珊瑚3 | Coral 2 +傳統UI |
JSON 輸出 | Jackson序列化的Sling模型匯出工具 | 預設Sling Servlet |
版本設定 | 針對模型和HTL | 無 |
測試 | 單元測試+整合測試 | 整合測試 |
傳送 | 透過公開GitHub | 通過快速入門 |
授權 | Apache授權 | Adobe專有 |
貢獻 | 透過提取請求 | 不可能 |
協助工具 | 完全符合 WCAG 2.0 AA標準 | 僅部分符合 WCAG 2.0 AA標準 |
下表列出可用的核心元件(連結至其API),並指出其所取代的基礎元件。
核心元件 | 說明 | 已更換基礎元件 |
---|---|---|
Page | 使用範本編輯器的回應式頁面 | /libs/foundation/components/page /libs/wcm/foundation/components/page |
階層連結 | 頁面階層導覽 | /libs/foundation/components/breadcrumb |
標題 | H1-H6標題 | /libs/foundation/components/title /libs/wcm/foundation/components/title |
文字 | RTF文字 | /libs/foundation/components/text /libs/foundation/components/table /libs/wcm/foundation/components/text |
影像 | 智慧和延遲載入最佳轉譯大小 | /libs/foundation/components/image /libs/foundation/components/adaptiveimage /libs/foundation/components/logo /libs/foundation/components/mobileimage /libs/foundation/components/mobilelogo /libs/wcm/foundation/components/image |
清單 | 頁面清單 | /libs/foundation/components/list /libs/foundation/components/mobilelist /libs/wcm/foundation/components/list |
社交媒體分享 | Facebook與Pinterest共用widget | - |
來自容器 | 回應式表單段落系統 | /libs/foundation/components/form/start /libs/foundation/components/form/end |
表單文字 | 文字輸入欄位 | /libs/foundation/components/form/text /libs/foundation/components/form/password |
表單選項 | 多選項輸入欄位 | /libs/foundation/components/form/checkbox /libs/foundation/components/form/radio /libs/foundation/components/form/dropdown |
已隱藏的表單 | 隱藏輸入欄位 | /libs/foundation/components/form/hidden |
表單按鈕 | 提交或自訂按鈕 | /libs/foundation/components/form/submit |
導覽 | 列出巢狀頁面階層的網站導覽元件 | /libs/foundation/components/topnav /libs/foundation/components/mobiletopnav |
語言導覽 | 列出全球語言結構的語言和國家切換器 | - |
快速搜尋 | 在下拉式功能表中將結果顯示為就地建議的搜尋元件 | /libs/foundation/components/search |
Teaser | 可讓內容作者輕鬆建立預告,以使用影像、標題或RTF來進一步內容,並連結至更多內容或其他動作 | - |
索引標籤 | 可讓內容作者在多個索引標籤內組織頁面內容 | - |
傳送 | 允許內容作者在旋轉的投影片輪播中組織內容 | /libs/foundation/components/carousel |
內容片段 | 允許顯示內容片段 | - |
內容片段清單 | 允許顯示內容片段清單 | - |
分隔符號 | 分隔頁面上的內容 | - |
折疊式面板 | 在可折疊的折疊式折疊式功能表中組織內容面板 | - |
容器 | 在容器內組織元件 | - |
按鈕 | 在頁面上建立按鈕 | - |
下載 | 新增可下載的資產至頁面 | - |
體驗片段 | 新增體驗片段至頁面 | /libs/cq/experience-fragments/editor/components/experiencefragment |
內嵌 | 將外部資源內嵌在頁面中 | - |
進度列 | 提供目標進展的直觀表示 | - |
PDF 檢視器 | 在頁面上呈現PDF文檔 | - |
版本控制元件的其中一項優點,是可將移轉至新AEM版本與移轉至新元件版本分開。 此外,如果有新元件版本可用,則可將每個元件個別移轉至新版本。
移轉至新AEM版本不會影響核心元件的運作方式,但條件是其版本也支援要移轉至的新AEM版本。 只要核心元件未使用已 已過時或已移除.
移轉至新版本的核心元件也不會影響元件的運作方式,但頁面作者可能會受到新功能的影響,這可能需要透過範本編輯器進行一些設定,以防不需要預設行為。 不過可能需要調整自訂項目,如需詳細資訊,請參閱 自訂核心元件 頁面。