[Yanel-dev] Workflow

Josias Thöny josias.thoeny at wyona.com
Wed Apr 11 15:34:59 CEST 2007


Michael Wechner wrote:
> 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?

And where would you store the workflow state (or the workflow history) 
of a resource?

> 
>>
>> 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"

ok.

josias

> 
>> 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
>>
> 
> 




More information about the Yanel-development mailing list