创建工作流模型

注意

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

在此页面上

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free