AEM 项目原型

AEM Project Archetype是一个Maven模板,它创建基于最小最佳实践的Adobe Experience Manager(AEM)项目,作为网站的起点。

小贴士

最新的AEM Project Archetype 可在GitHub上找到

资源

  • 原型文档(此文档): 原型体系结构及其不同模块概述。
  • 以下教程基于此原型:

功能

  • 最佳实践: Bootstrap您的网站,了解Adobe的所有最新推荐做法。
  • 低码: 编辑模板、创建内容、部署CSS,让站点上线。
  • 云就绪: 如果需要, 请将AEM用作Cloud Service ,在几天内投入使用,并简化可扩展性和维护。
  • 调度程序: 项目只能通过确保速度和安 全的Dispatcher 配置完成。
  • 多站点: 如果需要,原型为多语言和多 区域设置生成内容结构
  • 核心组件: 作者可以使用我们的多功能标准化组件集 创建几乎任何布局
  • 可编辑模板: 无需代码 即可组合几乎任何模板,并定义作者可以编辑的内容。
  • 响应式布局: 在模板或单个页面上,定 义元素如何重排 (定义的断点)。
  • 页眉和页脚: 使用组件的本地化功能,无需代码即可将 其组合并本地化
  • 样式系统: 通过允许作者对自定义组件应用不 同的样式,避免 构建自定义组件。
  • 前端构建: 前端开发人员可以 使用Webpack 、TypeScript和SASS模 拟AEM页面并构建客户端库。
  • WebApp就绪: 对于使用 React 或Angular的 站点,请使 用SPA SDK ,以保 留应用程序的上下文创作。
  • 启用商务: 对于希望将AEM Commerce与商 务解决方案 (如使用商务核 心组件 进行 Magento)集成的项目。
  • 示例代码: 结帐HelloWorld组件,以及示例模型、Servlet、过滤器和调度程序。
  • 未结来源: 如果事情不是本该如此,那 就帮 助您改进!

使用

要生成项目,请根据需要调整以下命令行:

mvn -B archetype:generate \
 -D archetypeGroupId=com.adobe.aem \
 -D archetypeArtifactId=aem-project-archetype \
 -D archetypeVersion=24 \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
  • Set aemVersion=cloud for AEM as a Cloud Service;
    aemVersion=6.5.0 Adobe Managed Services或内部部署设置。
    核心组件依赖关系仅针对非云aem版本添加,因为核心组件是作为Cloud Service提供给AEM的OOTB的。
  • 调整 appTitle="My Site" 以定义网站标题和组件组。
  • appId="mysite" 整以定义Maven artifactId、组件、配置和内容文件夹名称以及客户端库名称。
  • groupId="com.mysite" 整以定义Maven groupId和Java源包。
  • 查找可用属性的列表,查看是否有更多要调整的属性。

可用属性

名称 默认 描述
appTitle 应用程序标题将用于网站标题和组件组(例如, "My Site")。
appId 技术名称将用于组件、配置和内容文件夹名称以及客户端库名称(例如, "mysite")。
artifactId ${appId} 基Maven对象ID(例如, "mysite")。
groupId 基本Maven组ID(例如, "com.mysite")。
package ${groupId} Java源包(例如, "com.mysite")。
version 1.0-SNAPSHOT 项目版本(如 1.0-SNAPSHOT)。
aemVersion cloud 目标AEM版本(可 cloud作为Cloud Service;或 6.5.0者适 6.4.4 用于 Adobe Managed Services 或内部部署)。
sdkVersion latest aemVersion=cloud以指定 SDK版本时(例如, 2020.02.2265.20200217T222518Z-200130)。
includeDispatcherConfig y 根据值(可以是或),为云或AMS/本地包括调度程序 aemVersion 配置 yn
frontendModule general 包括一个Webpack前端构建模块,它生成客户端库(可以是常规 general 站点 none 或常规站点;可以是 angularreact 用于实施SPA Editor的单页 应用程序)。
language en 用于从(例如, en, deu)。
country us 国家/地区代码(ISO 3166-1),用于创建内容结构(例如, US)。
singleCountry y 包括语言主控的内容结构( y可以是 n或)。
includeExamples n 包括 组件库 示例站点( y可以是或 n)。
includeErrorHandler n 包括将对整个实例(可以是或)全局的自定义404响 y 应页 n面。
includeCommerce n 包括 CIF核心组件依赖 ,并生成相应的伪像。
commerceEndpoint 仅CIF必需。 要使用的商务系统GraphQL服务的可选端点(例如, https://hostname.com/grapql)。
datalayer y 激活与Adobe客 户端数据层的集成
amp n 启用 对生成 的项目模板的AMP支持。

Analyzer模块

AEM analyzer Maven插件可分析各种内容包项目的结构。

有关如何 将AEM Analyzer Maven插件包含在AEM Maven项目中的信息,请参阅AnalyzerMaven插件文档。 该插件包含在AEM Maven原型版本25及更高版本中。

下表描述了作为此步骤一部分执行的分析器。 请注意,有些在本地SDK中执行,而有些仅在Cloud Manager管道部署期间执行。

模块 功能、示例和疑难解答 本地SDK Cloud Manager
api-regions-exportsimports 检查所有OSGI包是否都具有其Import-Package声明,该声明由Maven项目中其他包含包的Export-package声明所满足。

 

要进行疑难解答,请查看要导出的捆绑清单,以确定使用的是错误名称还是错误版本。
requirements-capabilities 检查在OSGI捆绑包中所做的所有要求声明是否由Maven项目中包含的其他捆绑包的功能声明来满足。

 

要进行疑难解答,请查看您希望声明功能以确定缺少该功能的捆绑清单。
bundle-content 如果捆绑包包含用Sling-Initial-Content指定的初始内容,则发出警告,在AEM中,这是作为Cloud Service群集环境的问题。
api-regions-crossfeature-dups 验证客户OSGI捆绑包没有覆盖AEM作为Cloud Service公共API的导出包声明

系统要求

原型 AEM as a Cloud Service AEM 6.5 AEM 6.4 Java SE 马文
24 持续 6.5.5.0+ 6.4.8.1+ 8, 11 3.3.9+

将AEM的本地开发环境 设置为Cloud Service SDK或 旧版AEM的本地开发。

已知问题

在Windows上运行并生成调度程序配置时,应在提升的命令提示符或Windows Subsystem for Linux中运行(请参 阅#329)。

在交互模式(无参数 -B )中执行原型时,无法更改具有默认值的属性,除非最终确认消失,否则将通过将具有默认值的属性包含在问题中来重复问题(有关详细信息,请参阅ARCHETYPE -308)。

进一步阅读

有关使用原型的更多详细信息,包括原型的优点、选项及其模块的工作方式,请参 阅使用原型文档。

在此页面上