[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