xaraya/workflow
Composer 安装命令:
composer require xaraya/workflow
包简介
Workflow Module based on the Galaxia Workflow Engine
README 文档
README
What is it?
This is a modern State Machine approach using the Symfony Workflow component.
Getting started
- Use composer to install the symfony/workflow package
$ composer require --dev symfony/workflow
$ composer update
- Define the workflows in configuration
See [xardata/config.workflows.php](xardata/config.workflows.php)
-
Use the workflows with modules or objects
-
Try out the user interface
Hook Sample
Use Workflow as hook module and let item create/update/delete/display hook events from other modules trigger the workflow transitions you want
Music CD Loans
Or add the new Workflows property to an existing object and let the value of its properties affect the workflow
Further Information
Overview with Galaxia Workflow Engine
What is it?
See the introduction and user manual of Galaxia for more details on what this module is all about, and how to use it.
However, we clarify their definitions here a bit. In the workflow module a distinction could be made between:
- The definition part: processes and activities
- The running part: instances and workitems
So, you define processes with activities and you run instances to complete workitems. During the use of the module you Manage processes and activities. There is functionality available to monitor all of processes, activities, instances and workitems. Each workitem can be completed by one or more process roles. In Xaraya, you map the users or groups in the roles module to these process roles. The description given here will be reflected in the Xaraya interface for the workflow module.
Getting started
- make sure that the webserver can write to the directory
var/processes(chmod 777 or equivalent) - install GraphViz
if you want to generate some nice process graphs, and adapt
GRAPHVIZ_DIR in
modules/workflow/lib/galaxia/config.phpif necessary; - go to the Dynamic Data Import Object Definition page and paste the content of the file cdcollection3_dd.xml in the text area to create the sample database table;
- go to Admin Processes and upload the file cdcollection3.xml to create a sample process;
- map some Xaraya users to the 'admin' and 'user' workflow roles for that process, or add all current users from a Xaraya group to one of the workflow roles [TODO: Galaxia does not support a permanent mapping between Xaraya groups and workflow roles at the moment]
- mark the process as active once you no longer have the errors "Role: ... is not mapped"
- go to the Workflow User Interface and play around :-)
- come back here and try some of the monitoring and administration options
- create your own fancy processes and submit them back to the open source community
Note: this is mostly a 1-to-1 conversion of the current Galaxia interface scripts from TikiWiki, and a quick & dirty conversion of the templates that go with them. The sample CD Loan process has been modified a bit to be more representative of actual processes, but is otherwise unchanged.
With version 1.1, you can also automatically start a workflow process after some module item is created, updated or deleted. To try this out, you should :
- upload the review_articles.xml file to create the Review Articles process
- assign some users to the 'editors' workflow role and mark the process as active
- enable the workflow hooks for articles
- configure the workflow module so that the Review Articles - start activity is started when Create hooks are called from articles
- create a new article and have fun...
Version 1.3 adds the support for two BL tags : <xar:workflow-activity activityId="123" ... /> and <xar:workflow-status ... />. Those can be used in any template to run some workflow activity and show its output, resp. to show you the status of all the instances *you* started. To try that out, you should :
- delete your old "Music Loan 3" process, import the new version, assign users and mark as active
- find out what the activityId of activity "Request CD" is, in that new process
- in some template, add the following BL tags : <xar:workflow-activity activityId="123"/> (with 123 the activityId) and <xar:workflow-status/>
- go to that page and enjoy...
Version 1.4 also adds the BL tag <xar:workflow-instances .../> to show the instances that are assigned/accessible to you (i.e. your task list).
Patches and contributions are most welcome ;-)
Based on the Galaxia Workflow Engine
// 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.
Further Information
Further information on the Workflow module can be found at
- Workflow Extension page at Xaraya Extension and Releases. Click on Version History tab at the bottom to get the latest release information.
- Related tutorials and documentation on Workflow found at Xaraya Documentation.
** Workflow Module Overview**
Version 1.0.0 2006-03-08
xaraya/workflow 适用场景与选型建议
xaraya/workflow 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 222 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 04 月 14 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 xaraya/workflow 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 xaraya/workflow 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 222
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 1
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2022-04-14


