cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Portier <>
Subject Re: [RT] Webdavapps with Cocoon
Date Fri, 25 Jul 2003 15:08:41 GMT
Gianugo Rabellino wrote:
> Stefano Mazzocchi wrote:

<snip />

> Now Cocoon, in its present incarnation, is heavily biased by the 
> "read-only" syndrome, and this makes IMO very hard to enter the WebDAV 
> world. I see two serious areas where WebDAV support needs careful 
> (re)thinking of core Cocoon patterns:

I think this applies also to more classic file-upload schemes?

> 1) URI space decoupling being unreversable: while this is a *major* 
> feature of Cocoon (and something that might help immensely when applied 
> to a DAV environment: views on WebDAV would really kick ass, imagine 
> presenting your XML files as virtual OpenOffice .sxw that are assembled 
> /disassembled on the fly), the drawback is that, in most cases, it's 
> impossible to work your way from the pipeline result to the single 
> pieces that make that result happen. Even the simplest XSLT 
> transformation can't be reversely applied, so now there is no way to 
> understand how an resource should be treated in a symmetric way when 
> requested or uploaded. Oh yes, you can

hm, do we really need to look at it as symmetric?
I know we are tempted to do so, but is it a must?
Is it imposed by current webdav enabled editors?
(they want to put back where they got I assume?)

actually if you look at the combination of 
matchers/request-method-selector you wrote up it more looks like 
the request-method being part of the uri-request space almost?

or put differently each request-method caters for a separate uri 
space?  taking from there the symmetry between those spaces is 
something you can or cannot want to achieve?

(we're not used to look at this in this way, and I might be 
totally off scale here)

> <match pattern="*.xls">
>   <select type="request-method">
>     <when test="GET">
>        <generate src="{1}.xml"/>
>        <transform src="xml2poi.xls"/>
>        <serialize type="hssf"/>
>     </when>
>     <when test="PUT">
>        <generate type="xls2poi"/>
>        <transform src="poi2sourcewrite"/>
>        <transform type="sourcewrite"/>
>        <serialize type="dummyserializer"/>
>     </when>
>     [...]
> </match>
> but this, apart from being ankward, doesn't work in general for all 
> pipelines: think about aggregation at a very least.

isn't this aggregate example just showing that some GET-URI's are 
to be considered as read-only? (not to be abused for a PUT that is)

couldn't dav properties (PROPFIND?) provide such meta-data per 
is any usage of those properties in any way standardised?

> 2) direction: Cocoon is clearly designed for an "inside-out" type of 
> flow in mind, while WebDAV is fully bidirectional. Design-wise it's 
> difficult to adapt the G-T-S pattern to an incoming stream of data, when 
> you're barely generating stuff (you're actually deserializing it) and, 
> mostly, when you're not serializing anything but a simple response 
> (think MKCOL, MOVE, DELETE and the like).

this stuff sounds like flow integration on a separate section of 
the uri-request-space?

> This said, I have no real solutions to that, but I'm very curious to 
> learn more about your "extractor" concept. I think this is something 
> needed, yes, but would that be enough?
>> webdav has been thought as a protocol for saving and retrieving files, 
>> but this is, again, another file-system injected syndrome of mod_dav. It
> Though this makes it a tremendous tool too! The problem is that right 
> now all the WebDAV implementations are "dumb" filesystems, where all you 
> get is persistent storage. What I would love to see (and Cocoon would 
> fit just perfectly) is the ability to build around the file system 
> metaphore a whole set of components being able to react on the 
> "filesystem" operation. In this case, a "save" (or "drag 'n drop") might 

see this makes me return to the uri-binding again...
if we were to do this without webdav and only with POST and 
file-upload stuff then the uri would be holding the 'action' that 
webdav carries in his method

> mean an email sent to an administrator, or a workflow procedure being 
> started: as easy as that, no client needed, just what we already got, 
> networked shares and (maybe) a web browser: who needs a CMS client 
> anymore then? Probably only CMS administrator, not users. Or (again) 
> think about views/facets: being able to glue the Cocoon power to WebDAV 
> might mean giving different content to each user. Graphics might see 
> only images, and only in hi-rez: Cocoon will take care of making scaled 
> down versions, while hiding them from the users. Possibilities are endless.

mmm, dreaming allowed...
MOVE of a product.xml-file to another productline-collection 
results in a sql update on the foreign-key relation ?

>> I would love to see cocoon becoming a framework that can glue together 
>> everything on the web, from stateless publishing from stateful webdav 
>> applications and yeah, why not, once you can do webdav applications 
>> you can do SOAP applications or XML-RPC applications, they are, more 
>> or less, all XMLoverHTTP stuff.
> Oh, me too, believe me! This might be the Next Big Thing (hey... wait, 
> are we ready to be 10 years ahead of the crowd? ;-)).
> Now for the big question: should we leave this discussion for now, 
> focusing on the upcoming release and take webdavification as one of the 
> major challenges for the next generation (this alone might be a good 
> reason for Cocoon 3.0 IMHO), or shoud we have some more fun on the topic 
> here and now?

hehe, the avalanche has already started :-)
managing the change into timing/planning and releases is a 
different aspect, they can (and should) run in parallel IMHO

the bigger challenge of being 10 years ahead is that these fast, 
wild, non-domesticated, associated thoughts here and now aren't 
mature enough to pull of anything and the discussion dries up 
before it started... we shouldn't add a management constraint 
onto that IMHO

> Ciao,

Marc Portier                  
Outerthought - Open Source, Java & XML Competence Support Center
Read my weblog at                        

View raw message