[Yanel-dev] Workflow

Michael Wechner michael.wechner at wyona.com
Wed Apr 11 13:58:01 CEST 2007


Josias Thöny wrote:

> Hi devs,
>
> Do we already have a concept about the workflow?
> Should it be implemented as a Workflowable interface?
>
> Here is a proposal for the "simplest possible" Workflowable interface:
>
>     void publish();
>     void deactivate();
>     void edit(); // invoke edit event to allow re-publishing
>     boolean isLive();
>     boolean canPublish();
>     View getLiveView(String viewid);
>
> A possible implementation could use a specific revision of a resource 
> as the "live" version. This would require that a Workflowable resource 
> is also Versionable.
>
> The problem with such a "hard-coded" interface is that it's maybe not 
> easy to extend to a more generic workflow schema (e.g. with 
> submit/reject or arbitrary workflow transitions).


agreed. It seems to me that workflow is actually completely independent 
of a resource except for the connection between version and live 
workflow status. What if we only create an interface/method for 
getLiveVersion() and do the rest orthogonal?

>
> Another question is how to access the live version from the browser. 
> Michi suggested to create a LiveResource. IIUC this resource would 
> catch all urls which start with a certain prefix: /live/** (is that 
> possible at all?)


I think we can solve that with the "chain of responsibility"

> In the example /live/foo.html it would return the live version of 
> /foo.html.


right

>
> Any comments?
>
> Josias
>
>
> _______________________________________________
> Yanel-development mailing list
> Yanel-development at wyona.com
> http://wyona.com/cgi-bin/mailman/listinfo/yanel-development
>


-- 
Michael Wechner
Wyona      -   Open Source Content Management   -    Apache Lenya
http://www.wyona.com                      http://lenya.apache.org
michael.wechner at wyona.com                        michi at apache.org
+41 44 272 91 61




More information about the Yanel-development mailing list