我查找了一个用php编写的工作流引擎,并找到了ez组件工作流类(http://ezcomponents.org/docs/api/latest/introduction_Workflow.html)。在使用示例之后,我在理解(一般)工作流-功能方面遇到了两个一般问题:
1.)如果我已经定义了一个通用工作流(例如,在评审之后发布一篇文章)--每一篇文章实际上都启动了我的一般发布工作流程的一个新的“实例”。是这样的吗?或者,当相同的工作流被用于许多不同的文章/数据集时,我如何处理它?
2.)基础应用程序如何使用工作流组件?如果在发布过程中,一封电子邮件必须发送给必须查看文章的人,那么发送这封电子邮件的代码在哪里?它是否是在工作流中直接发送电子邮件的正确方法,例如在WorkflowServiceObject中的execute方法中?或者,发送电子邮件只是放在应用程序代码中(在保存一篇文章或设置一篇文章的状态之后),并且在发送电子邮件之后,工作流的状态必须设置为下一个节点/级别?
谢谢你的回答(对我糟糕的英语很抱歉;-)!
蒂莫
发布于 2012-10-18 17:18:50
我也是eZc工作流程中的新手,但我认为我能帮上忙,至少我也希望如此。
首先,您需要使用ezcWorkflowDatabaseDefinitionStorage类将工作流定义保存到数据库中,对于您必须通过ezcWorkflowDatabaseExecution,开始执行工作流的每一篇文章,您都必须为每一篇文章启动一个实例。但是,当您有很多文章时,如何跟踪每个实例呢?您有一个工作流正在处理的实体,这里您的实体是您的文章,因此您需要将您的文章链接到您的工作流实例,例如,您的文章可以有您的工作流实例的Id。
还有一件事,我知道是你问题中的一个样本,但让我说,在一个用户服务过程中发送一封电子邮件不是个好主意,最好是把电子邮件放在一个队列中,并有一个cron任务在预定的过程中发送来自队列的电子邮件。
https://stackoverflow.com/questions/3126858
复制相似问题