AEM 项目原型

AEM项目原型是一个Maven模板,可创建基于最佳实践的、最基础的Adobe Experience Manager(AEM)项目,以作为您网站的起点。

小贴士

最新的AEM项目原型可在GitHub上找到。

资源

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

功能

  • 最佳实践: Bootstrap您的网站,以介绍Adobe的所有最新推荐实践。
  • 低代码: 编辑模板、创建内容、部署CSS,并且您的网站已准备就绪,可上线。
  • 云就绪: 如有需要,请使 用AEM as a Cloud Service在几天内上线,并轻松实现可扩展性和维护。
  • Dispatcher: 项目只能通过确保速度和安 性的Dispatcher配置完成。
  • 多站点: 如果需要,原型会为多语言和多 区域设置生成内容结构
  • 核心组件: 作者可以使用我们通用的标准化组件 集来创建几乎任何布局
  • 可编辑的模板: 几乎任何不 带代码的模板组合,并定义允许作者编辑的内容。
  • 响应式布局: 在模板或各个页面上, 定义定义断点 的元素重排方式。
  • 页眉和页脚: 使用组件的本地化功能,无需代码即 可组合和本地化它们
  • 样式系统: 通过允许作者对自定义组件应用不同的样式, 避免 生成这些组件。
  • 前端构建: 前端开发人员可以使用Webpack、TypeScript和SASS 模拟 AEM页 面并 构建客户端库。
  • WebApp-Ready: 对于使用ReactorAngular 🔗网站,请使用 SPA SDK保留 应用程序的上下文创作
  • 启用商务: 对于要将AEM Commerce与商务解决方 🔗 案(如管理商务核心组 件)集 成的项目
  • 示例代码: 签出HelloWorld组件以及示例模型、Servlet、过滤器和调度程序。
  • 开放源: 如果某些内容不如预期,将为您的改 🔗 进做出贡献!

使用

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

mvn -B archetype:generate \
 -D archetypeGroupId=com.adobe.aem \
 -D archetypeArtifactId=aem-project-archetype \
 -D archetypeVersion=XX \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
  • XX替换为最新的原型版本号。
  • AEM的aemVersion=cloud设置为Cloud Service;
    Adobe Managed Services或内部部署设置aemVersion=6.5.0
    仅会为非云aem版本添加核心组件依赖项,因为为AEM as aCloud Service提供了核心组件OOTB。
  • 调整appTitle="My Site"以定义网站标题和组件组。
  • 调整appId="mysite"以定义Maven人为对象ID、组件、配置和内容文件夹名称以及客户端库名称。
  • 调整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 Target AEM版本(对于AEM as a Cloud Service,可以为cloud;或6.5.0,或6.4.4(适用于Adobe Managed Services或内部部署版)。
sdkVersion latest aemVersion=cloud可以指定 SDK版本时(例如,2020.02.2265.20200217T222518Z-200130)。
includeDispatcherConfig y 包含适用于云或AMS/on-premise的调度程序配置,具体取决于aemVersion的值(可以是yn)。
frontendModule general 包括Webpack前端构建模块,用于为常规站点生成客户端库(可以是generalnone);可以是angularreact(对于实施SPA编辑器的单页应用程序)。
language en 语言代码(ISO 639-1),用于从(例如,en, deu)。
country us 国家/地区代码(ISO 3166-1),用于从(例如US)。
singleCountry y 包括语言主控的内容结构(可以是yn)。
includeExamples n 包括组件库示例站点(可以是yn)。
includeErrorHandler n 包括一个对整个实例全局的自定义404响应页面(可以是yn)。
includeCommerce n 包括CIF核心组件依赖项并生成相应的工件。
commerceEndpoint 仅CIF必需。 要使用的商务系统GraphQL服务的可选端点(例如,https://hostname.com/grapql)。
datalayer y 激活与Adobe客户端数据层的集成。
amp n 为生成的项目模板启用AMP支持。
enableDynamicMedia n 在项目策略设置中启用基础DynamicMedia组件,并在核心图像组件的策略中激活Dynamic Media功能。
enableSSR n 为前端项目启用SSR的选项

系统要求

原型 AEM as a Cloud Service AEM 6.5 Java SE 马文
28 持续 6.5.7.0+ 8, 11 3.3.9+

AEM as a Cloud ServiceSDK或为旧版AEM设置本地开发环境。

已知问题

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

在交互模式下执行原型(不带-B参数)时,无法更改具有默认值的属性,除非最终确认被取消,否则将重复问题,方法是在问题中包含具有默认值的属性(请参阅
ARCHETYPE-308以了解详细信息)。

使用File -> New -> Maven Project启动新项目时,无法在Eclipse中使用此原型,因为后生成脚本archetype-post-generate.groovy将因Eclipse问题而不执行。 解决方法是使用上述命令行,然后在Eclipse中使用 File -> Import -> Existing Maven Project

进一步阅读

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

在此页面上