创建工作流模型

注意

有关经典UI的使用,请参阅AEM 6.3文档以作参考。

创建工作流模型以定义用户开始工作流时执行的一系列步骤。 您还可以定义模型属性,如工作流是临时的还是使用多个资源。

当用户开始工作流时,启动一个实例;这是相应的运行时模型,在您Sync进行更改时创建。

创建新工作流

首次创建新的工作流模型时,它包含:

  • 步骤:流开始​和​流结束
    它们表示工作流的开始和结束。 这些步骤是必需的,无法编辑/删除。
  • 名为​Step 1​的​Participant​步骤示例。
    此步骤配置为将工作项分配给工作流启动器。 编辑或删除此步骤,并根据需要添加步骤。

要使用编辑器创建新工作流,请执行以下操作:

  1. 打开​工作流模型​控制台;通过​工具工作流模型​或,例如:https://localhost:4502/aem/workflow
  2. 选择​创建,然后选择​创建模型
  3. 将显示​添加工作流模型​对话框。 在选择​完成​之前,输入​标题​和​名称(可选)。
  4. 新模型列在​工作流模型​控制台中。
  5. 选择新的工作流,然后使用​Edit​打开它进行配置:
    wf-01
注意

如果以编程方式(使用crx包)创建模型,则还可以在以下位置创建子文件夹:

/var/workflow/models

例如,/var/workflow/models/prototypes

然后,此文件夹可用于管理对该文件夹中模型的访问。

编辑工作流

您可以编辑任何现有的工作流模型以:

编辑​默认和/或旧(现成)工作流有一个附加步骤,以确保在进行更改之前执行安全副本

完成对工作流的更新后,必须使用​Sync​以​生成运行时模型。 有关详细信息,请参阅同步工作流

同步工作流——生成运行时模型

Sync (在编辑器工具栏中)生成运行 时模型。运行时模型是用户开始工作流时实际使用的模型。 如果您没有​同步​您的更改,则这些更改在运行时将不可用。

当您(或任何其他用户)对工作流进行任何更改时,您必须使用​Sync​生成运行时模型——即使单个对话框(例如,步骤)具有自己的保存选项时也是如此。

当更改与运行时(已保存)模型同步时,将显示​同步

某些步骤包含必填字段和/或内置验证。 当这些条件不满足时,当您尝试​同步​模型时,将显示错误。 例如,当​参与者​步骤未定义任何参与者时:

wf-21

首次编辑默认或传统工作流

打开默认和/或旧型号进行编辑时:

  • 步骤浏览器不可用(左侧)。
  • 工具栏(右侧)中有​Edit​操作。
  • 最初,模型及其属性以只读模式显示为:
    • 默认工作流位于/libs
    • 旧工作流位于/etc
      选择
      辑:
  • 将工作流的副本导入/conf
  • 使步骤浏览器可用
  • 使您能够进行更改
注意

有关详细信息,请参阅工作流模型的位置

wf-22

向模型添加步骤

您需要向模型中添加步骤以表示要执行的活动-每个步骤都执行特定活动。 标准AEM实例中提供一系列步骤组件。

编辑模型时,步骤浏览器​的各组中会显示可用的步骤。 例如:

wf-10

注意

有关随AEM一起安装的主步骤组件的信息,请参阅工作流步骤参考

要向工作流模型中添加步骤,请执行以下操作:

  1. 打开现有的工作流模型进行编辑。 从​工作流模型​控制台中,选择所需的模型,然后选择​编辑

  2. 打开“步骤”浏览器;使用顶部工具栏最左侧的​切换侧面板。 在此对话框中,您可以:

    • 滤器了解特定步骤。
    • 使用下拉选择器将选择限制为特定的步骤组。
    • 选择“显示说明”图标wf-stepinfo-icon以显示有关相应步骤的更多详细信息。

    wf-02

  3. 将相应的步骤拖动到模型中的所需位置。

    例如,参与者步骤

    添加到流后,您可以配置步骤

    wf-03

  4. 根据需要添加任意多个步骤或其他更新。

    在运行时,按步骤在模型中的显示顺序执行步骤。 添加步骤元件后,可以将它们拖动到模型中的其他位置。

    您还可以复制、剪切、粘贴、分组或删除现有步骤;与页面编辑器一样。

    还可以使用工具栏选项折叠/展开拆分步骤:wf-collapseexpand-toolbar-icon

  5. 使用​Sync(编辑器工具栏)确认更改以生成运行时模型。

    有关详细信息,请参阅同步工作流

配置工作流步骤

您可以使用​步骤属性​对话框​配置​和自定义工作流步骤的行为。

  1. 要打开步骤的​步骤属性​对话框,请执行以下操作之一:

    • 单击/点按工作流模型中的​步骤,并从组件工具栏中选择​​配置**。

    • 多次单击该步骤。

    注意

    有关随AEM一起安装的主步骤组件的信息,请参阅工作流步骤参考

  2. 根据需要配置​步骤属性;可用的属性取决于步骤类型,也可能有多个可用的选项卡。 例如,新工作流中默认的​参与者步骤​为Step 1:

    wf-11

  3. 用勾号确认更新。

  4. 使用​Sync(编辑器工具栏)确认更改以生成运行时模型。

    有关详细信息,请参阅同步工作流

创建临时工作流

在创建新模型或编辑现有模型时,可以创建Tranient工作流模型:

  1. 打开工作流模型进行编辑

  2. 从工具栏中选择​工作流模型属性

  3. 在对话框中,激活​临时工作流(或根据需要取消激活):

    wf-07

  4. 使用​保存并关闭​确认更改;后跟​Sync(编辑器工具栏)以生成运行时模型。

    有关详细信息,请参阅同步工作流

注意

tranient模式下运行工作流时,AEM不存储任何工作流历史记录。 因此,时间轴不显示与该工作流相关的任何信息。🔗

在触屏UI中使工作流模型可用

如果工作流模型在经典UI中存在,但在触屏UI的​时间线​边栏的选择弹出菜单中缺失,则按照配置进行操作以使其可用。 以下步骤说明了如何使用名为​请求激活​的工作流模型。

  1. 确认该型号在触屏优化UI中不可用。 使用/assets.html/content/dam路径访问资产。 选择资产。 打开左边栏中的​时间轴。 单击​开始工作流​并确认弹出列表中不存在​激活请求​模型。

  2. 浏览​工具>常规>标记。 选择​工作流

  3. 选择​创建>创建标记。 将​标题​设置为DAM,将​名称​设置为dam。 选择​提交
    在工作流模型中创建标签

  4. 导航到​工具>工作流>模型。 选择​请求激活,然后选择​编辑

  5. 选择​编辑,打开​页面信息​菜单,从中选择​打开属性​并转到​基本​选项卡(如果尚未打开)。

  6. Workflow : DAM添加到​标记​字段。 用勾号(勾号)确认选择。

  7. 使用​保存并关闭​确认添加标记。
    编辑模型的页面属性

  8. 使用​Sync​完成该过程。 该工作流现在在触屏优化UI中可用。

为多资源支持配置工作流

在创建新模型或编辑现有模型时,可以为多资源支持配置工作流模型:

  1. 打开工作流模型进行编辑

  2. 从工具栏中选择​工作流模型属性

  3. 在对话框中,激活​多资源支持(或根据需要取消激活):

    wf-08

  4. 使用​保存并关闭​确认更改;后跟​Sync(编辑器工具栏)以生成运行时模型。

    有关详细信息,请参阅同步工作流

配置工作流阶段(显示工作流进度)

工作 流阶段可在处理任务时帮助可视化工作流的进度。

注意

如果在​页面属性​中定义了工作流阶段,但不用于任何工作流步骤,则进度栏将不显示任何进度(无论当前工作流步骤如何)。

可用的阶段在工作流模型中定义;可以更新现有工作流模型以包含阶段定义。 您可以为工作流模型定义任意数量的阶段。

要为工作流定义​阶段,请执行以下操作:

  1. 打开要编辑的工作流模型。

  2. 从工具栏中选择​工作流模型属性。 然后打开​阶段​选项卡。

  3. 添加(并定位)所需的​阶段。 您可以为工作流模型定义任意数量的阶段。

    例如:

    wf-08-1

  4. 单击​保存并关闭​以保存属性。

  5. 为工作流模型中的每个步骤分配一个阶段。 例如:

    wf-09

    可以将舞台分配给多个步骤。 例如:

    步骤 暂存
    步骤 1 创建
    步骤 2 创建
    步骤 3 审核
    步骤 4 批准
    步骤 5 批准
    步骤 6 完成
  6. 使用​Sync(编辑器工具栏)确认更改以生成运行时模型。

    有关详细信息,请参阅同步工作流

导出包中的工作流模型

要在包中导出工作流模型,请执行以下操作:

  1. 使用包管理器创建新包:

    1. 通过​工具部署软件包​导航到软件包管理器。

    2. 单击​创建包

    3. 根据需要指定​包名称​和任何其他详细信息。

    4. 单击​确定

  2. 单击新包工具栏上的​编辑

  3. 打开​过滤器​选项卡。

  4. 选择​添加筛选器​并指定工作流模型​design​的路径:

    /conf/global/settings/workflow/models/<*your-model-name*>

    单击​完成

  5. 选择​添加过滤器​并指定​运行时​工作流模型的路径:

    /var/workflow/models/<*your-model-name*>

    单击​完成

  6. 为模型使用的任何自定义脚本添加附加过滤器。

  7. 单击​保存​以确认您的筛选器定义。

  8. 从包定义的工具栏中选择​构建

  9. 从包工具栏中选择​下载

使用工作流处理表单提交

您可以配置要由所选工作流处理的表单。 当用户提交表单时,将创建一个新的工作流实例,并将表单提交的数据作为有效负荷。

配置要用于表单的工作流:

  1. 创建新页面并打开它进行编辑。

  2. 将​Form​组件添加到页面。

  3. 置在 面中显示的表单启动组件。

  4. 使用​开始工作流​从可用工作流中选择所需的工作流:

    wf-12

  5. 使用勾号确认新表单配置。

测试工作流

在测试工作流以使用各种有效负荷类型时,这是一个好做法;包括不同于已开发的类型。 例如,如果您打算使用工作流处理资产,请通过将页面设置为有效负荷来测试它,并确保它不会抛出错误。

例如,按如下方式测试新工作流:

  1. 从控制台 开始您的工作流模型。

  2. 定义​有效负荷​并确认。

  3. 根据需要执行操作,以便工作流继续进行。

  4. 在工作流运行时监视日志文件。

您还可以配置AEM以在日志文件中显示​DEBUG​消息。 有关详细信息,请参阅日志,当开发完成时,将​日志级别​设置回​信息

示例

示例:创建(简单)工作流以接受或拒绝发布请求

为了说明创建工作流的一些可能性,以下示例创建了Publish Example工作流的变体。

  1. 创建新的工作流模型

    新工作流将包含:

    • 流程开始
    • Step 1
    • 流程结束
  2. 删除Step 1(因为此示例的步骤类型错误):

    • 单击该步骤,然后从组件工具栏中选择​删除。 确认该操作。
  3. 从步骤浏览器的​工作流​选择中,将​参与者步骤​拖动到工作流上,并将它放在​流开始​和​流结束​之间。

  4. 要打开属性对话框,请执行以下操作之一:

    • 单击参加者步骤,并从组件工具栏中选择​配置
    • 多次单击参加者步骤。
  5. 在​Common​选项卡中,输入Validate Content作为​Title​和​Description

  6. 打开​用户/组​选项卡:

    • 激活​通过电子邮件​通知用户。
    • 为​用户/组​字段选择Administrator(admin)。
    注意

    对于要发送的电子邮件,需要配置邮件服务和用户帐户详细信息

  7. 用勾号确认更新。

    您将返回到工作流模型的概述,在此参加者步骤将重命名为Validate Content

  8. 将​Or Split​拖到工作流上,并将它放在Validate Content和​流结束​之间。

  9. 打开​或Split​进行配置。

  10. 配置:

    • 常见:指定拆分名称。

    • 分支1:选择 默认路由

    • 分支2:确保 未选 择默认路由。

  11. 确认对​OR Split​的更新。

  12. 将​参与者步骤​拖到左侧分支,打开属性,指定以下值,然后确认更改:

    • 标题: Reject Publish Request

    • 用户/组:例如, projects-administrators

    • 通过电子邮件通知用户:激活后,通过电子邮件通知用户。

  13. 将​处理步骤​拖到右分支,打开属性,指定以下值,然后确认更改:

    • 标题: Publish Page as Requested

    • 流程:选择 Activate Page。此过程会将所选页面发布到发布者实例。

  14. 单击​同步(编辑器工具栏)以生成运行时模型。

    有关详细信息,请参阅同步工作流

    您的新工作流模型将如下所示:

    wf-13

  15. 将此工作流应用于您的页面,当用户移动到​完成验证内容​步骤时,他们可以选择是按请求​发布页面,还是​拒绝发布请求​

    chlimage_1-72

示例:使用ECMA脚本为OR拆分定义规则

或拆 分步骤允许您将条件处理路径引入工作流。

要定义OR规则,请按如下步骤继续:

  1. 创建两个脚本并将其保存到存储库中,例如:

    /apps/myapp/workflow/scripts

    注意

    脚本必须具有一个函数check(),它返回一个布尔值。

  2. 编辑工作流,并将​OR Split​添加到模型中。

  3. 编辑​OR Split​的​分支1​的属性:

    • 通过将​Value​设置为true,将其定义为​默认路由

    • 作为​规则,设置脚本的路径。 例如:

      /apps/myapp/workflow/scripts/myscript1.ecma

    注意

    您可以根据需要切换分支顺序。

  4. 编辑​OR Split​的​分支2​的属性。

    • 作为​规则,将路径设置为其他脚本。 例如:

      /apps/myapp/workflow/scripts/myscript2.ecma

  5. 设置每个分支中各个步骤的属性。 确保已设置​用户/组

  6. 单击​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​中的页面,并在内容作者没有适当的复制权限时自动触发。 有关更多详细信息,请参阅自定义页面创作——自定义激活工作流请求

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now