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

Reply via email to