xaraya/workflow

基于 Galaxia 工作流引擎的工作流模块

安装: 96

依赖: 1

建议: 1

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:xaraya-module

2.5.3 2024-09-12 19:23 UTC

This package is auto-updated.

Last update: 2024-09-12 19:24:13 UTC


README

这是啥?

这是一个使用 Symfony 工作流组件的现代 状态机 方法。

入门

  1. 使用 composer 安装 symfony/workflow 包
$ composer require --dev symfony/workflow
$ composer update
  1. 在配置中定义工作流

查看 [xardata/config.workflows.php](xardata/config.workflows.php)

  1. 使用模块或对象使用工作流

  2. 尝试用户界面

钩子示例

将工作流用作 钩子模块,并让其他模块触发您想要的工作流转换的项创建/更新/删除/显示钩子事件

Hook Sample

音乐 CD 借阅

或者将新的 工作流属性 添加到现有对象中,并让该属性的值影响工作流

Music CD Loans

更多信息

  1. 工作流组件

  2. 工作流和状态机

  3. 使用工作流做出决策

基于 Galaxia 工作流引擎的概述

这是啥?

查看Galaxia的简介用户手册,了解更多关于此模块的信息以及如何使用它。

然而,我们在这里稍微澄清它们的定义。在工作流模块中,可以区分

  1. 定义部分:过程和活动
  2. 运行部分:实例和工作项

Workflow overview diagram

因此,您使用活动来定义过程,并通过运行实例来完成工作项。在模块使用过程中,您将管理过程和活动。有功能可用于监控所有过程、活动、实例和工作项。每个工作项可以由一个或多个过程角色完成。在Xaraya中,您将角色模块中的用户或组映射到这些过程角色。这里的描述将在工作流模块的Xaraya界面中反映出来。

入门

  1. 确保web服务器可以写入目录 var/processes(chmod 777或等效)
  2. 如果您想生成一些漂亮的流程图,请安装GraphViz,并必要时调整modules/workflow/lib/galaxia/config.php中的GRAPHVIZ_DIR;
  3. 前往动态数据导入对象定义页面,并将文件cdcollection3_dd.xml的内容粘贴到文本区域中,以创建示例数据库表;
  4. 前往管理过程并上传文件cdcollection3.xml以创建示例过程;
  5. 将一些Xaraya用户映射到该过程的 'admin' 和 'user' 工作流角色,或将来自Xaraya组的所有当前用户添加到工作流角色之一 [TODO:目前Galaxia不支持Xaraya组和工作流角色之间的永久映射]
  6. 一旦不再出现 "角色:... 未映射" 错误,请将过程标记为 活动
  7. 转到工作流用户界面并尝试一下 :-)
  8. 回到这里,尝试一些监控和管理选项
  9. 创建自己的精彩流程并将其提交给开源社区

注意:这主要是将当前的TikiWiki的Galaxia界面脚本进行1对1转换,以及相应模板的快速粗略转换。示例CD贷款流程已稍作修改以更贴近实际流程,但其他方面保持不变。

在版本1.1中,您还可以在创建、更新或删除某些模块项后自动启动工作流流程。要尝试此功能,您应该

  1. 上传review_articles.xml文件以创建审查文章流程
  2. 将一些用户分配到“编辑”工作流角色并标记流程为活动状态
  3. 启用文章的工作流钩子
  4. 配置工作流模块,以便在从文章调用创建钩子时启动审查文章 - 开始活动
  5. 创建一篇新文章并享受乐趣...

版本1.3添加了对两个BL标签的支持:<xar:workflow-activity activityId="123" ... />和<xar:workflow-status ... />。这些可以在任何模板中使用,以运行一些工作流活动并显示其输出,相应地显示您启动的所有实例的状态。要尝试此功能,您应该

  1. 删除旧的“Music Loan 3”流程,导入新版本,分配用户并标记为活动状态
  2. 找出在新流程中“请求CD”活动的activityId
  3. 在某个模板中添加以下BL标签:<xar:workflow-activity activityId="123"/>(123为activityId)和<xar:workflow-status/>
  4. 转到该页面并享受...

版本1.4还添加了BL标签<xar:workflow-instances .../>以显示分配/可访问给您(即您的任务列表)的实例。

欢迎补丁和贡献 ;-)

基于Galaxia工作流引擎

    // Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
    // All Rights Reserved. See copyright.txt for details and a complete list of authors.
    // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
    

更多信息

有关工作流模块的更多信息,请参阅

  • Xaraya扩展和发布中的工作流扩展页面。点击底部的版本历史记录标签以获取最新版本信息。
  • Xaraya文档中找到有关工作流的教程和文档。

**工作流模块概述**
 版本1.0.0  2006-03-08