Hi Christian, All, I have to say, based on what I've seen so far, that Trac is a wonderful environment to develop in. I think my "ah-hah" moment was when I started walking through the code and realized that, with the switch to the component architecture, you guys have actually created a general-purpose application server that's powerful, simple, easy to work with, and just happens to ship with extensible wiki and ticket-tracking modules in the tarball. Fantastic piece of work.
On Wed, Mar 01, 2006 at 05:48:00PM +0100, Christian Boos wrote: > Steve Traugott wrote: > >I'm working on a patch to enable an IWikiWorkflowController, so I can > >write a market-based workflow plugin on top of it... More on the > >market-based thing later; for now I'm just focusing on the minimum API > >a generic workflow extension point might need -- it's not much, > >really; just a way for a plugin to control the default viewable > >version of a page, and a way to allow edits of arbitrary versions > >without running afoul of collision detection. > > Maybe I don't understand exactly what you try to achieve, > but to me, a ''workflow'' seems to have more to do with > state transition than with version control. > See the ticket workflow work of Alec Thomas, for example: > http://projects.edgewall.com/trac/wiki/WorkFlow > The wiki pages don't even have state or properties yet, though. > > OTOH, what you described seems to be the ability to edit > (or branch from) any arbitrary version from the Wiki, > and be able to mark one of those versions to be the default > one. Exactly. The only "state" I need to control is "default viewable". No complex transition graphs. (But if someone *did* need those, they ought to be able to do it in a plugin that implements this extension point, using their own table for attribute storage. I tried to define the API with that in mind.) And I don't even need real branching -- just being able to base an edit on an old version is good enough; just save the new text as the next available sequential version number. I thought of trying to reflect page heritage using RCS-style dotted version numbers, but I think that would be a pretty drastic change, overkill, not very trac-like, and I sure don't need it myself. The patch I've got now is nice and small -- just over a couple hundred lines including comments and context. > Maybe I'll understand better after seeing some code :) Just posted the patch, as well as a toy workflow controller plugin: http://trac-hacks.org/wiki/WikiWorkflowPatch I'm going to go ahead and start working on the real plugin that is going to use this extension point -- that should show up in a week or so, I hope. Once you see what it does, things should start making a whole lot more sense. ;-) Steve -- Stephen G. Traugott (KG6HDQ) UNIX/Linux Infrastructure Architect, TerraLuna LLC [EMAIL PROTECTED] http://www.stevegt.com -- http://Infrastructures.Org _______________________________________________ Trac-dev mailing list [email protected] http://lists.edgewall.com/mailman/listinfo/trac-dev
