有关经典UI的使用,请参阅AEM 6.3文档以作参考。
创建工作流模型以定义用户开始工作流时执行的一系列步骤。 您还可以定义模型属性,如工作流是临时的还是使用多个资源。
当用户开始工作流时,启动一个实例;这是相应的运行时模型,在您Sync进行更改时创建。
首次创建新的工作流模型时,它包含:
要使用编辑器创建新工作流,请执行以下操作:
如果以编程方式(使用crx包)创建模型,则还可以在以下位置创建子文件夹:
/var/workflow/models
例如,/var/workflow/models/prototypes
然后,此文件夹可用于管理对该文件夹中模型的访问。
您可以编辑任何现有的工作流模型以:
编辑默认和/或旧(现成)工作流有一个附加步骤,以确保在进行更改之前执行安全副本。
完成对工作流的更新后,必须使用Sync以生成运行时模型。 有关详细信息,请参阅同步工作流。
Sync (在编辑器工具栏中)生成运行 时模型。运行时模型是用户开始工作流时实际使用的模型。 如果您没有同步您的更改,则这些更改在运行时将不可用。
当您(或任何其他用户)对工作流进行任何更改时,您必须使用Sync生成运行时模型——即使单个对话框(例如,步骤)具有自己的保存选项时也是如此。
当更改与运行时(已保存)模型同步时,将显示同步。
某些步骤包含必填字段和/或内置验证。 当这些条件不满足时,当您尝试同步模型时,将显示错误。 例如,当参与者步骤未定义任何参与者时:
打开默认和/或旧型号进行编辑时:
/libs
/etc
中/conf
有关详细信息,请参阅工作流模型的位置。
您需要向模型中添加步骤以表示要执行的活动-每个步骤都执行特定活动。 标准AEM实例中提供一系列步骤组件。
编辑模型时,步骤浏览器的各组中会显示可用的步骤。 例如:
有关随AEM一起安装的主步骤组件的信息,请参阅工作流步骤参考。
要向工作流模型中添加步骤,请执行以下操作:
打开现有的工作流模型进行编辑。 从工作流模型控制台中,选择所需的模型,然后选择编辑。
打开“步骤”浏览器;使用顶部工具栏最左侧的切换侧面板。 在此对话框中,您可以:
将相应的步骤拖动到模型中的所需位置。
例如,参与者步骤。
添加到流后,您可以配置步骤。
根据需要添加任意多个步骤或其他更新。
在运行时,按步骤在模型中的显示顺序执行步骤。 添加步骤元件后,可以将它们拖动到模型中的其他位置。
您还可以复制、剪切、粘贴、分组或删除现有步骤;与页面编辑器一样。
还可以使用工具栏选项折叠/展开拆分步骤:
使用Sync(编辑器工具栏)确认更改以生成运行时模型。
有关详细信息,请参阅同步工作流。
您可以使用步骤属性对话框配置和自定义工作流步骤的行为。
要打开步骤的步骤属性对话框,请执行以下操作之一:
单击/点按工作流模型中的步骤,并从组件工具栏中选择配置**。
多次单击该步骤。
有关随AEM一起安装的主步骤组件的信息,请参阅工作流步骤参考。
根据需要配置步骤属性;可用的属性取决于步骤类型,也可能有多个可用的选项卡。 例如,新工作流中默认的参与者步骤为Step 1
:
用勾号确认更新。
使用Sync(编辑器工具栏)确认更改以生成运行时模型。
有关详细信息,请参阅同步工作流。
在创建新模型或编辑现有模型时,可以创建Tranient工作流模型:
打开工作流模型进行编辑。
从工具栏中选择工作流模型属性。
在对话框中,激活临时工作流(或根据需要取消激活):
使用保存并关闭确认更改;后跟Sync(编辑器工具栏)以生成运行时模型。
有关详细信息,请参阅同步工作流。
如果工作流模型在经典UI中存在,但在触屏UI的时间线边栏的选择弹出菜单中缺失,则按照配置进行操作以使其可用。 以下步骤说明了如何使用名为请求激活的工作流模型。
确认该型号在触屏优化UI中不可用。 使用/assets.html/content/dam
路径访问资产。 选择资产。 打开左边栏中的时间轴。 单击开始工作流并确认弹出列表中不存在激活请求模型。
浏览工具>常规>标记。 选择工作流。
选择创建>创建标记。 将标题设置为DAM
,将名称设置为dam
。 选择提交。
导航到工具>工作流>模型。 选择请求激活,然后选择编辑。
选择编辑,打开页面信息菜单,从中选择打开属性并转到基本选项卡(如果尚未打开)。
将Workflow : DAM
添加到标记字段。 用勾号(勾号)确认选择。
使用保存并关闭确认添加标记。
使用Sync完成该过程。 该工作流现在在触屏优化UI中可用。
在创建新模型或编辑现有模型时,可以为多资源支持配置工作流模型:
打开工作流模型进行编辑。
从工具栏中选择工作流模型属性。
在对话框中,激活多资源支持(或根据需要取消激活):
使用保存并关闭确认更改;后跟Sync(编辑器工具栏)以生成运行时模型。
有关详细信息,请参阅同步工作流。
工作 流阶段可在处理任务时帮助可视化工作流的进度。
如果在页面属性中定义了工作流阶段,但不用于任何工作流步骤,则进度栏将不显示任何进度(无论当前工作流步骤如何)。
可用的阶段在工作流模型中定义;可以更新现有工作流模型以包含阶段定义。 您可以为工作流模型定义任意数量的阶段。
要为工作流定义阶段,请执行以下操作:
打开要编辑的工作流模型。
从工具栏中选择工作流模型属性。 然后打开阶段选项卡。
添加(并定位)所需的阶段。 您可以为工作流模型定义任意数量的阶段。
例如:
单击保存并关闭以保存属性。
为工作流模型中的每个步骤分配一个阶段。 例如:
可以将舞台分配给多个步骤。 例如:
步骤 | 暂存 |
---|---|
步骤 1 | 创建 |
步骤 2 | 创建 |
步骤 3 | 审核 |
步骤 4 | 批准 |
步骤 5 | 批准 |
步骤 6 | 完成 |
使用Sync(编辑器工具栏)确认更改以生成运行时模型。
有关详细信息,请参阅同步工作流。
要在包中导出工作流模型,请执行以下操作:
使用包管理器创建新包:
通过工具、部署、软件包导航到软件包管理器。
单击创建包。
根据需要指定包名称和任何其他详细信息。
单击确定。
单击新包工具栏上的编辑。
打开过滤器选项卡。
选择添加筛选器并指定工作流模型design的路径:
/conf/global/settings/workflow/models/<*your-model-name*>
单击完成。
选择添加过滤器并指定运行时工作流模型的路径:
/var/workflow/models/<*your-model-name*>
单击完成。
为模型使用的任何自定义脚本添加附加过滤器。
单击保存以确认您的筛选器定义。
从包定义的工具栏中选择构建。
从包工具栏中选择下载。
您可以配置要由所选工作流处理的表单。 当用户提交表单时,将创建一个新的工作流实例,并将表单提交的数据作为有效负荷。
配置要用于表单的工作流:
创建新页面并打开它进行编辑。
将Form组件添加到页面。
配 置在 页 面中显示的表单启动组件。
使用开始工作流从可用工作流中选择所需的工作流:
使用勾号确认新表单配置。
在测试工作流以使用各种有效负荷类型时,这是一个好做法;包括不同于已开发的类型。 例如,如果您打算使用工作流处理资产,请通过将页面设置为有效负荷来测试它,并确保它不会抛出错误。
例如,按如下方式测试新工作流:
从控制台 开始您的工作流模型。
定义有效负荷并确认。
根据需要执行操作,以便工作流继续进行。
在工作流运行时监视日志文件。
您还可以配置AEM以在日志文件中显示DEBUG消息。 有关详细信息,请参阅日志,当开发完成时,将日志级别设置回信息。
为了说明创建工作流的一些可能性,以下示例创建了Publish Example
工作流的变体。
新工作流将包含:
Step 1
删除Step 1
(因为此示例的步骤类型错误):
从步骤浏览器的工作流选择中,将参与者步骤拖动到工作流上,并将它放在流开始和流结束之间。
要打开属性对话框,请执行以下操作之一:
在Common选项卡中,输入Validate Content
作为Title和Description。
打开用户/组选项卡:
Administrator
(admin
)。对于要发送的电子邮件,需要配置邮件服务和用户帐户详细信息。
用勾号确认更新。
您将返回到工作流模型的概述,在此参加者步骤将重命名为Validate Content
。
将Or Split拖到工作流上,并将它放在Validate Content
和流结束之间。
打开或Split进行配置。
配置:
常见:指定拆分名称。
分支1:选择 默认路由。
分支2:确保 未选 择默认路由。
确认对OR Split的更新。
将参与者步骤拖到左侧分支,打开属性,指定以下值,然后确认更改:
标题: Reject Publish Request
用户/组:例如, projects-administrators
通过电子邮件通知用户:激活后,通过电子邮件通知用户。
将处理步骤拖到右分支,打开属性,指定以下值,然后确认更改:
标题: Publish Page as Requested
流程:选择 Activate Page
。此过程会将所选页面发布到发布者实例。
单击同步(编辑器工具栏)以生成运行时模型。
有关详细信息,请参阅同步工作流。
您的新工作流模型将如下所示:
将此工作流应用于您的页面,当用户移动到完成验证内容步骤时,他们可以选择是按请求发布页面,还是拒绝发布请求。
或拆 分步骤允许您将条件处理路径引入工作流。
要定义OR规则,请按如下步骤继续:
创建两个脚本并将其保存到存储库中,例如:
/apps/myapp/workflow/scripts
脚本必须具有一个函数check()
,它返回一个布尔值。
编辑工作流,并将OR Split添加到模型中。
编辑OR Split的分支1的属性:
通过将Value设置为true
,将其定义为默认路由。
作为规则,设置脚本的路径。 例如:
/apps/myapp/workflow/scripts/myscript1.ecma
您可以根据需要切换分支顺序。
编辑OR Split的分支2的属性。
作为规则,将路径设置为其他脚本。 例如:
/apps/myapp/workflow/scripts/myscript2.ecma
设置每个分支中各个步骤的属性。 确保已设置用户/组。
单击Sync(编辑器工具栏),将更改保留到运行时模型。
有关详细信息,请参阅同步工作流。
请参阅使用ECMAScript。
如果节点是位于/content/we-retail/us/en
下的JCR_PATH
,则以下示例脚本返回true
:
function check() {
if (workflowData.getPayloadType() == "JCR_PATH") {
var path = workflowData.getPayload().toString();
var node = jcrSession.getItem(path);
if (node.getPath().indexOf("/content/we-retail/us/en") >= 0) {
return true;
} else {
return false;
}
} else {
return false;
}
}
您可以自定义任何现成的工作流。 要进行自定义行为,请叠加相应工作流的详细信息。
例如,激活请求。 此工作流用于发布Sites中的页面,并在内容作者没有适当的复制权限时自动触发。 有关更多详细信息,请参阅自定义页面创作——自定义激活工作流请求。