第4章,Workflow基础篇|准备工作流实战场景

455 阅读6分钟

从用例到工作流

您已经知道您将构建员工入职工作流程。

首先,人力资源专家需要启动新员工的入职流程。然后,员工的经理将介入并为员工选择设备。

之后,经理需要指定新员工是否在家工作。

然后,设施部门将需要准备一个工作空间。根据新员工的工作地点(办公室或家中),设施部门将准备一张桌子或将设备运送到员工的地址。

创建西门子Mendix 项目

使用Blank Web App模板创建一个应用,并为其命名Onboarding App

image.png

image.png

尽管您可以直接使用工作流功能,但我们建议您下载上一个模块中描述的Workflow Commons模块,以便在您的应用程序中使用其开箱即用的功能。

image.png

步骤 1。修复可能的错误。导入 Workflow Commons 后,您可能会收到 17 个错误,这需要您更新错误消息正文中指示的所有小部件。如果您的项目没有错误,请继续执行步骤 2 以更新应用程序设置。

image.png

要解决错误,请双击它,以便 Mendix 将其带到需要解决的特定位置。

image.png

步骤 2。更新应用程序设置。现在,转到应用程序设置,工作流选项卡,将用户实体设置为Administrator.Account (最初是 System.User)

用户实体定义了用于分配用户任务的实体。如果您使用 XPath 分配用户任务,则可以使用该实体的属性。如果您使用的是微流,则实体定义微流期望的返回类型。

image.png

仅当您使用 Studio Pro v.9.12.0 及更高版本时,您还需要在App Setting > Workflows中的 Events部分下为状态更改事件设置微流,如下所示:

image.png

Workflow Commons v.2.1.0 及更高版本中的仪表板和指标取决于状态更改微流。确保配置以下状态更改微流:

工作流状态更改设置为OCh_Workflow_State

用户任务状态更改设置为OCh_WorkflowUserTask_State

这完成了您的应用程序的设置。

配置角色

默认情况下,您的项目有两个 用户 角色管理员用户。在项目安全中启用生产模式,以便能够查看这些用户角色。为了管理工作流,您需要添加一个新的用户角色WorkflowAdministrator。通过将此用户角色连接到模块角色WorkflowCommons.Administrator, 您将授予浏览 WorkflowAdminCenter、管理来自任何人的附件和注释以及中止工作流的权限。

继续,打开Project Security,导航到User Roles选项卡,按New并创建WorkflowAdministrator用户角色,如下图所示。

image.png

此时, MyFirstModule中只有 用户角色可用。确保您创建MyFirstModule.Administrator模块角色,因为您将在下一课中需要它来连接用户角色AdministratorWorkflowAdministrator。

接下来,您需要创建三个项目角色!

创建项目角色

您需要经理、设施和 HR 的三个项目角色并正确配置它们。这些用户角色将连接到模块角色WokflowCommons.User以访问WorkflowDashboardTaskInbox页面,以及创建和更改他们自己的工作流附件和注释的能力。

要创建提到的三个项目角色,请执行以下操作:

  1. 在 App Explorer 中,打开App > Security
  2. 打开用户角色选项卡并单击新建
  3. 添加用户角色对话框中,将名称设置为设施并取消选中除MyFirstModule之外的所有模块,因为您不需要为所有模块创建特定的设施角色。

image.png

  1. 单击确定
  2. 您需要将用户角色设施连接到所有用户模块角色。双击新创建的设施角色。
  3. 用户角色对话框中,单击模块角色部分中的编辑

image.png

  1. Select Module Roles对话框中,勾选Administration、System 和 WorkflowCommons 模块的用户角色,然后单击 OK 

image.png

  1. 单击OK确认您的选择。
  2. 重复步骤 2-8 以创建和配置Manager角色。
  3. 重复步骤 2-8 以创建和配置HR角色。

您已为设施、经理和 HR 配置了新的项目角色。现在,最后一个配置:

  1. 通过向所有可用模块中的管理员角色授予权限,重新访问管理员角色的设置。
  2. 最后但同样重要的是,配置WorkflowAdministrator角色,使其与WorkflowCommons.Administrator 和System.Administrator 模块角色相关联。

如果您已正确配置了安全性,它将如下所示:

image.png

配置演示用户

您需要为新创建的项目角色创建演示用户,以便以后能够测试您的应用程序。打开 Project Security 并配置以下演示角色:demo_Facilities、demo_Manager 和demo_HR。请记住,那些获得分配任务的演示用户的实体设置应与工作流用户实体设置相同。在演示角色创建过程中,将每个演示角色的设置从System.User设置为Administration.Account实体。 您的演示角色应配置如下图所示。

如果应用程序中未使用演示用户,则不相关。此外,如果您的应用程序不使用 Marketplace管理模块,则将演示角色的实体设置为System.User就足够了。

为 WorkflowAdminstrator 也有一个演示角色也很好,所以继续,并以类似的方式创建demo_WorkflowAdmin角色。这样,您就为您的项目配置了演示用户!

image.png

设置项目基础信息

确保您正在使用的模块的域模型如下所示:

image.png

确保您配置了以下枚举:

  • PhoneModel枚举

image.png

  • LaptopModel枚举

image.png

确保您有一个EmployeeOnboarding_Overview页面,该页面包含一个表单并将EmployeeOnboarding实体作为数据源。为此,请使用List 模板Atlas_Default布局添加一个页面。不要忘记将List 视图连接到EmployeeOnboarding实体,并将其配置为显示如下图所示的信息。

image.png

此外,创建一个额外的列,并添加一个带有标题Start Onboarding的按钮。此按钮将用于启动工作流程。您将在下一个模块中配置此按钮。

image.png

要将员工添加到入职列表,请创建“添加”按钮并使其创建一个EmployeeOnboarding实体类型的对象并生成一个EmployeeOnboarding_NewEdit页面。

image.png

授予 HR 访问两个已创建页面的权限,并将导航项添加到导航菜单以查看EmployeeOnboarding_Overview

您无法预览EmployeeOnboarding_Overview页面,因为有几个不一致的错误。继续,定义实体访问规则,允许 HR 角色创建和删除EmployeeOnboarding实体的对象,以及对其成员的读/写访问权限。

image.png

总结

我们已经创建了一个项目并设置了它的基础。我们有一个将启动工作流的页面。您已下载Workflow Commons模块并准备好使用。我们已经丰富了领域模型。现在是创建工作流的时候了,并指定权限以指示谁将能够访问该工作流以及哪些角色将参与其执行。