[Yanel-dev] Workflow
Michael Wechner
michael.wechner at wyona.com
Fri May 4 08:56:38 CEST 2007
Josias Thöny wrote:
> 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?
>
>
> How would that work for resources which have a workflow, but no
> versioning?
getLiveVersion would just return the "view/source" of a resource if it
doesn't implement Versionable
> I'm thinking about a completely dynamic resource like e.g. a clock.
> Such a resource still could be published/deactivated, just to
> enable/disable its appearance in the live area. But it doesn't support
> versioning, so I don't know what the getLiveVersion() method would do.
please see above
>
>
> Another question is if it's necessary to support different workflow
> schemas depending on the resource type, like e.g.:
> ResourceType A: submit/review/publish/deactivate
> ResourceType B: publish/deactivate
> If we need this, it might have some implications for the design of the
> whole workflow system.
that would definitely be the case and not only the resource type, but
also every resource instance can have a different workflow schema
>
> WDYT?
>
>>
>>>
>>> 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 have some doubts about the LiveResource.
> If we have the url /live/foo.html, I think it's not sufficient that
> the LiveResource just requests the live revision of foo.html, but it
> also has to pass the information live/authoring to the resource foo.html.
> This is necessary because a dynamic resource may have to know the "area".
> If resource A includes resource B (e.g. via xinclude), yanel has to
> make sure that when the live version of A is generated, the live
> version of B is included. This means that A has to know the "area" and
> also pass it to B.
> This seems to require that yanel has some concept of live/authoring
> areas. I'm not sure how it could be accomplished just by having a
> LiveResource. Maybe with a parameter yanel.area=live which would be
> passed from the LiveResource to /foo.html?
very good point. Also in collaborative environments a "staging" are
would make sense, e.g. a frontpage of a newspaper is normally aggegrated
with content edited by all kind of people.
Cheers
Michi
>
> Josias
>
>>
>>
>> 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
>>>
>>
>>
>
>
> _______________________________________________
> 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