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