创建工作流模型 creating-workflow-models

CAUTION
AEM 6.4已结束扩展支持,本文档将不再更新。 有关更多详细信息,请参阅 技术支助期. 查找支持的版本 此处.
CAUTION
要使用经典UI,请参阅 AEM 6.3文档 以供参考。

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

用户启动工作流时,会启动实例;这是相应的运行时模型,在 同步 您的更改。

创建新工作流 creating-a-new-workflow

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

  • 步骤, 流量开始流量结束.

    它们表示工作流的开始和结束。 这些步骤是必需的,无法编辑或删除。

  • 示例 参与者 已命名步骤 步骤1.

    此步骤配置为将工作项分配给工作流启动器。 编辑或删除此步骤,并根据需要添加步骤。

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

  1. 打开 工作流模型 控制台;通过 工具, 工作流, 模型 例如:

    http://localhost:4502/aem/workflow

  2. 选择 创建,则 创建模型.

  3. 添加工作流模型 对话框。 输入 标题名称 (可选)在选择 完成.

  4. 新模型列在 工作流模型 控制台。

  5. 选择新的工作流,然后使用 编辑​ ​打开进行配置:

    wf-01

NOTE
如果以编程方式创建模型(使用crx包),则还可以在中创建子文件夹:
/var/workflow/models
例如,/var/workflow/models/prototypes
然后,可以将此文件夹用于 管理对该文件夹中模型的访问权限.

编辑工作流 editing-a-workflow

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

编辑 默认或旧版 (现成)工作流 还有一个额外步骤,以确保 安全拷贝 会在您进行更改之前执行。

工作流更新完成后,您必须使用 同步 to 生成运行时模型. 请参阅 同步工作流 以了解详细信息。

同步工作流 — 生成运行时模型 sync-your-workflow-generate-a-runtime-model

同步 (在编辑器工具栏的右侧)会生成 运行时模型. 运行时模型是用户启动工作流时实际使用的模型。 如果您没有 同步 则更改在运行时将不可用。

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

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

某些步骤包含必填字段和/或内置验证。 如果不满足这些条件,则在尝试 同步 模型。 例如,当没有为 参与者 步骤:

wf-21

首次编辑默认或旧版工作流 editing-a-default-or-legacy-workflow-for-the-first-time

当您打开 默认和/或旧模型 进行编辑:

  • 步骤 浏览器不可用(左侧)。

  • 编辑 操作(右侧)中可用。

  • 最初,模型及其属性以只读模式显示为:

    • 默认工作流位于 /libs
    • 旧版工作流位于 /etc

选择 编辑 将:

  • 将工作流的副本导入 /conf
  • make 步骤 浏览器可用
  • 允许您进行更改
NOTE
请参阅 工作流模型的位置 以了解更多信息。

wf-22

向模型添加步骤 adding-a-step-to-a-model

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

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

wf-10

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

向模型添加步骤:

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

  2. 打开 步骤 浏览器;使用 切换侧面板,位于顶部工具栏的最左侧。 在此编辑器中,您可以:

    • 过滤器 中。
    • 使用下拉选择器将选择限制为一组特定步骤。
    • 选择显示描述图标 wf-stepinfo-icon 以显示有关相应步骤的更多详细信息。

    wf-02

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

    例如, 参与者步骤.

    将其添加到流程后,您可以 配置步骤.

    wf-03

  4. 根据需要添加任意数量的步骤或其他更新。

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

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

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

  5. 确认更改 同步 (编辑器工具栏)以生成运行时模型。

    请参阅 同步工作流 以了解详细信息。

配置工作流步骤 configuring-a-workflow-step

您可以 配置 和使用 步骤属性 对话框。

  1. 要打开 步骤属性 对话框:

    • 点按工作流模型中的步骤,然后选择 配置 中。
    • 双击该步骤。
    note note
    NOTE
    有关随AEM一起安装的主要步骤组件的信息,请参阅 工作流步骤参考.
  2. 配置 步骤属性 (视需要);可用的属性取决于步骤类型,还可能有多个可用选项卡。 例如,默认 参与者步骤,在新工作流中以 Step 1:

    wf-11

  3. 使用勾号确认您的更新。

  4. 确认更改 同步 (编辑器工具栏)以生成运行时模型。

    请参阅 同步工作流 以了解详细信息。

创建临时工作流 creating-a-transient-workflow

您可以创建 瞬态 创建新模型时,或通过编辑现有模型时的工作流模型:

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

  2. 选择 工作流模型属性 中。

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

    wf-07

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

    请参阅 同步工作流 以了解详细信息。

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

在触屏UI中使工作流模型可用 make-workflow-models-available-in-touchui

如果工作流模型在经典UI中存在,但在 时间轴 边栏,然后按照配置使其可用。 以下步骤说明了如何使用称为 激活请求.

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

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

  3. 选择 创建>创建标记. 已设置 标题 as DAM名称 as dam. 选择 提交.
    在工作流模型中创建标记

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

  5. 选择 编辑 ,然后打开 工作流模型属性. 转到 基本 选项卡。

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

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

  8. 使用完成该过程 同步. 现在,触屏UI中提供了工作流。

为多资源支持配置工作流 configuring-a-workflow-for-multi-resource-support

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

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

  2. 选择 工作流模型属性 中。

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

    wf-08

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

    请参阅 同步工作流 以了解详细信息。

配置工作流阶段(显示工作流进度) configuring-workflow-stages-that-show-workflow-progress

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

CAUTION
是否在 页面属性,但不会用于任何工作流步骤,则进度栏不会显示任何进度(无论当前的工作流步骤如何)。

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

定义 阶段 对于您的工作流:

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

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

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

    例如:

    wf-08-1

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

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

    wf-09

    可以将阶段分配到多个步骤。 例如:

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

    请参阅 同步工作流 以了解详细信息。

在包中导出工作流模型 exporting-a-workflow-model-in-a-package

  1. 使用 包管理器:

    1. 通过导航到包管理器 工具, 部署, .
    2. 单击 创建资源包.
    3. 指定 包名称,以及任何其他所需的详细信息。
    4. 单击​ 确定
  2. 单击 编辑 中。

  3. 打开 过滤器 选项卡。

  4. 选择 添加过滤器 并指定工作流模型的路径 设计:

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

    单击 完成.

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

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

    单击 完成.

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

  7. 单击 保存 以确认过滤器定义。

  8. 选择 生成 来访问Advertising Cloud帮助。

  9. 选择 下载 中。

使用工作流处理表单提交 using-workflows-to-process-form-submissions

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

要配置要与表单一起使用的工作流,请执行以下操作:

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

  2. 添加 表单 组件。

  3. 配置 表单开始 显示在页面中的组件。

  4. 使用 启动工作流 要从以下可用工作流中选择所需的工作流,请执行以下操作:

    wf-12

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

测试工作流 testing-workflows

在测试工作流以使用各种负载类型时,这是一种良好的做法;包括与其开发对象不同的类型。 例如,如果您打算将工作流与资产进行处理,请通过将页面设置为有效负载来测试该工作流,并确保该工作流不会引发错误。

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

  1. 启动工作流模型 中。

  2. 定义 负载 确认。

  3. 根据需要采取相应操作,以便继续工作流。

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

您还可以配置AEM以显示 调试 日志文件中的消息。 请参阅 记录 有关更多信息,以及开发完成后,请将 日志级别 返回 信息.

示例 examples

示例:创建用于接受或拒绝发布请求的(简单)工作流 example-creating-a-simple-workflow-to-accept-or-reject-a-request-for-publication

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

  1. 创建新的工作流模型.

    新工作流将包含:

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

    • 单击该步骤并选择 删除 中。 确认操作。
  3. 工作流 选择步骤浏览器,拖动 参与者步骤 放在工作流上,并在 流量开始流量结束.

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

    • 单击参与者步骤并选择 配置 中。
    • 双击参与者步骤。
  5. 常用 选项卡输入 Validate Content 对于 标题描述.

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

    • 激活 通过电子邮件通知用户.
    • 选择 Administrator ( admin) 用户/组 字段。
    note note
    NOTE
    对于要发送的电子邮件, 需要配置邮件服务和用户帐户详细信息.
  7. 使用勾号确认更新。

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

  8. 拖动 或拆分 放在工作流上,并在 Validate Content流量结束.

  9. 打开 或拆分 ,以进行配置。

  10. 配置:

    • 常用:选择 2个分支
    • 分行1:选择 默认路由.
    • 分支2:确保 默认路由 未选择。
  11. 确认对 或拆分.

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

    • 标题: Reject Publish Request
    • 用户/组:例如, projects-administrators
    • 通过电子邮件通知用户:激活以通过电子邮件通知用户。
  13. 拖动 流程步骤 在右侧分支中,打开属性,指定以下值,然后确认更改:

    • 标题: Publish Page as Requested
    • 进程:选择 Activate Page. 此过程会将选定的页面发布到发布者实例。
  14. 单击 同步 (编辑器工具栏)以生成运行时模型。

    请参阅 同步工作流 以了解详细信息。

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

    wf-13

  15. 将此工作流应用于您的页面,以便用户在 完成 the 验证内容 步骤,用户可以选择是否要 根据请求发布页面 ​或 拒绝发布请求.

    chlimage_1-182

示例:为OR拆分定义规则 example-defining-a-rule-for-an-or-split

或拆分 利用步骤,可向工作流引入条件处理路径。

要定义OR规则,请执行以下操作:

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

    /apps/myapp/workflow/scripts

    note note
    NOTE
    脚本必须具有 函数 check() 返回布尔值。
  2. 编辑工作流并添加 或拆分 到模型。

  3. 编辑的属性 分行1或拆分:

    • 将其定义为 默认路由 设置 to true.

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

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

    note note
    NOTE
    您可以根据需要切换分支顺序。
  4. 编辑 分支2或拆分.

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

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

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

  6. 单击 同步 (编辑器工具栏)来将更改保留到运行时模型。

    请参阅 同步工作流 以了解详细信息。

函数检查() function-check

NOTE
请参阅 使用ECMAScript.

以下示例脚本返回 true 如果节点是 JCR_PATH 位于 /content/we-retail/us/en:

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;
     }
}

示例:自定义的激活请求 example-customized-request-for-activation

您可以自定义任何现成的工作流。 要实现自定义行为,请叠加相应工作流的详细信息。

例如, 激活请求. 此工作流用于在 站点 和会在内容作者没有相应的复制权限时自动触发。 请参阅 自定义页面创作 — 自定义激活请求工作流 以了解更多详细信息。

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e