xaraya / workflow
基于 Galaxia 工作流引擎的工作流模块
Requires
- psr/log: ^3.0
- symfony/event-dispatcher: ^6.4||^7.1
- symfony/workflow: ^6.4||^7.1
Conflicts
- xaraya/core: <2.4.1
README
这是啥?
这是一个使用 Symfony 工作流组件的现代 状态机 方法。
入门
- 使用 composer 安装 symfony/workflow 包
$ composer require --dev symfony/workflow
$ composer update
- 在配置中定义工作流
查看 [xardata/config.workflows.php](xardata/config.workflows.php)
-
使用模块或对象使用工作流
-
尝试用户界面
钩子示例
将工作流用作 钩子模块,并让其他模块触发您想要的工作流转换的项创建/更新/删除/显示钩子事件
音乐 CD 借阅
或者将新的 工作流属性 添加到现有对象中,并让该属性的值影响工作流
更多信息
基于 Galaxia 工作流引擎的概述
这是啥?
查看Galaxia的简介和用户手册,了解更多关于此模块的信息以及如何使用它。
然而,我们在这里稍微澄清它们的定义。在工作流模块中,可以区分
- 定义部分:过程和活动
- 运行部分:实例和工作项
因此,您使用活动来定义过程,并通过运行实例来完成工作项。在模块使用过程中,您将管理过程和活动。有功能可用于监控所有过程、活动、实例和工作项。每个工作项可以由一个或多个过程角色完成。在Xaraya中,您将角色模块中的用户或组映射到这些过程角色。这里的描述将在工作流模块的Xaraya界面中反映出来。
入门
- 确保web服务器可以写入目录
var/processes
(chmod 777或等效) - 如果您想生成一些漂亮的流程图,请安装GraphViz,并必要时调整
modules/workflow/lib/galaxia/config.php
中的GRAPHVIZ_DIR; - 前往动态数据导入对象定义页面,并将文件cdcollection3_dd.xml的内容粘贴到文本区域中,以创建示例数据库表;
- 前往管理过程并上传文件cdcollection3.xml以创建示例过程;
- 将一些Xaraya用户映射到该过程的 'admin' 和 'user' 工作流角色,或将来自Xaraya组的所有当前用户添加到工作流角色之一 [TODO:目前Galaxia不支持Xaraya组和工作流角色之间的永久映射]
- 一旦不再出现 "角色:... 未映射" 错误,请将过程标记为 活动
- 转到工作流用户界面并尝试一下 :-)
- 回到这里,尝试一些监控和管理选项
- 创建自己的精彩流程并将其提交给开源社区
注意:这主要是将当前的TikiWiki的Galaxia界面脚本进行1对1转换,以及相应模板的快速粗略转换。示例CD贷款流程已稍作修改以更贴近实际流程,但其他方面保持不变。
在版本1.1中,您还可以在创建、更新或删除某些模块项后自动启动工作流流程。要尝试此功能,您应该
- 上传review_articles.xml文件以创建审查文章流程
- 将一些用户分配到“编辑”工作流角色并标记流程为活动状态
- 启用文章的工作流钩子
- 配置工作流模块,以便在从文章调用创建钩子时启动审查文章 - 开始活动
- 创建一篇新文章并享受乐趣...
版本1.3添加了对两个BL标签的支持:<xar:workflow-activity activityId="123" ... />和<xar:workflow-status ... />。这些可以在任何模板中使用,以运行一些工作流活动并显示其输出,相应地显示您启动的所有实例的状态。要尝试此功能,您应该
- 删除旧的“Music Loan 3”流程,导入新版本,分配用户并标记为活动状态
- 找出在新流程中“请求CD”活动的activityId
- 在某个模板中添加以下BL标签:<xar:workflow-activity activityId="123"/>(123为activityId)和<xar:workflow-status/>
- 转到该页面并享受...
版本1.4还添加了BL标签<xar:workflow-instances .../>以显示分配/可访问给您(即您的任务列表)的实例。
欢迎补丁和贡献 ;-)
// 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