Keep going Ross, I like what I read! :)
Richard On Thu, May 24, 2012 at 3:29 PM, Ross Peoples <ross.peop...@gmail.com>wrote: > Just wanted to give an update on this. I'm working on the workflow engine > nearly every day. Workflow engines are complicated things with lots of > pitfalls that need to be taken into account. Having said that, I am getting > closer to completing it. > > What works: > > - Templates > - Creating workflows on-the-fly > - Serial and parallel steps (wait on more than one user/group at a > time) > - Due date calculation taking schedules, holidays, etc into account > - Simple flow of a workflow (i.e. every step is completed > successfully, without issue) > - Full delta auditing with support for writing audit logs to another > DAL instance > - Triggers (when someone does something to a workflow, some code can > be executed) > > What needs to be finished: > > - Step rejections (someone noticed a problem created in a previous > step and wants to send it back to be corrected) > - Workflow monitors (users that aren't currently involved with the > workflow, but want to monitor the workflow's progress) > - Workflow comments (have rejections and other comments on the > workflow been addressed) > - Workflow check-list (high-level workflow objectives, created and > managed by users, basically just meta-data) > - Documentation (API and User Guide) > > Most of the functionality in the "needs to be finished" list has been > written, but not tested. The engine is about 1500 lines of code right now, > which includes about 350 lines of tests. One of my main goals has been to > write a test suite that tests as many scenarios as possible. Writing a user > guide with example usage will come after the engine has been accepted in > web2py. I want to make sure the API doesn't need changing before I start > writing actual documentation. > > I started writing this engine because I needed to replace a proprietary > engine I created in C# several years ago that has seen years of production > use. Unfortunately, the old engine lacks a lot of features (parallel steps, > monitors, comments, check-lists, auditing, etc) and is tied to a single > specific object. I wanted a workflow engine that could attach a workflow to > just about anything. I also wanted it to have better features, cleaner > code, and be easier to use. > > Hopefully, I will continue to make excellent progress on it and have > something to submit for approval soon. I'll keep you posted! >