Hmm,

That would involve some kind of reverse engineering then, to determine the location to 
store the edits? The thought crossed my mind once but I thought it would be rather 
complex to implement. Thinking about it now it seems that something basic would not 
even be too difficult perhaps. I imagine you can do a lot with just adding a couple of 
id attributes. 

This of course means that the editor will not only have to be webdav aware but will 
also need to know about these additional semantics and not violate them. On the cocoon 
side the contents of the webdav method would be generated and routed thru some kind of 
source writing transformer.

For the purposes of content management I don't think such a symetric model is 
neccessary. The architecture we have is that of a content model that resembles the 
logical structure of the data to publish and a presentation layer that is applied to 
the content model to produce the web view. The content model is accessed as a webdav 
repository thru Slide, without any of the semantics that may be required for 
publishing it to this or that channel. This way concerns are not mixed leaving the 
content model stuctured according to its own internal logic. 

To see why this is a cleaner approach consider the case that your content is mapped 
onto multiple views. What view should be the view thrue wich to edit the content? All 
of them? Is it clear that, when you edit the content, not only does that particular 
view change, but all of the views the content is mapped upon? How and where to add 
content if not on a logical structure of you data ?

That having said, and after saying that ;) I also see the benifits in your approach. 
For instance, as the content is presentation-less XML, it would be nice to have a more 
user-friendly view of it than just XML. Currently we employ what we call 'back-end 
templates' for our editor views on the content. As it is now our editor needs to get 
them over webdav and apply them to the content. Moving that concern to the server 
would be a more flexible approach.

Unico


-----Oorspronkelijk bericht-----
Van: Michael Homeijer [mailto:[EMAIL PROTECTED]]
Verzonden: maandag 23 september 2002 13:37
Aan: Unico Hommes; '[EMAIL PROTECTED] '
Onderwerp: RE: WebDAV sitemap


Hi,

I don't want to access stylesheet and sitemaps over webdav, but I want my
application-generated resources to be accessed over webdav. This way I can
generate/aggregate data from a filesystem/db etc. and edit it through a
webdav aware editor. The same way I can transform data that is saved by the
webdav editor through Cocoon.

This is something different than to access application resources through
webdav because that only means that Cocoon and the webdav interface use the
same resources.

Michael.

-----Original Message-----
From: Unico Hommes
To: [EMAIL PROTECTED]
Sent: 23-9-2002 1:05 
Subject: RE: WebDAV sitemap


Conceptually I don't see any difficulties with using Slide for Cocoon,
in fact this is what we have in the planning at our company. I've seen
the Slide/Repository integration developements in the latest Cocoon
CVS-HEAD but don't really understand what the need is for all that code.
The concept of Slide is that it is abstracted from the level of the
application. It basically substitutes tomcat's file-system based
resource context with its own slide based resource context, thus making
it completely transparent to the application. 

What that means in terms of a usage scenario is something like the
following:

- Configure a new Slide namespace and start Slide-Tomcat
- Drop an unpacked cocoon into the WebDAV root, i.e. in Slide under
/files

In the default configuration of Slide, you can now edit your
content/stylesheets/sitemaps over WebDAV at http://host:8081/cocoon ,
administer Slide at http://host:8082/cocoon , and surf cocoon at
http://host:8080

The thing you need to remember is that since the Slide resources have
been installed as jndi resources under the context, source resolving
that depends on absolute filesystem paths will not work. I am not sure
how Cocoon handles this exactly but I do foresee some potential problems
in this area.

>From the Slide user guide:

"Any web application which is designed so that it doesn't access the
files within its web application directory using direct filesystem
access should run without any modification (file access should be
replaced by calls like ServletContext.getResource, which abstract
filesystem access). This includes applications like Jasper, and any web
application written according to Sun's guidelines"




-----Oorspronkelijk bericht-----
Van: Michael Homeijer [mailto:[EMAIL PROTECTED]]
Verzonden: maandag 23 september 2002 12:06
Aan: 'Martin Holz '; '[EMAIL PROTECTED] '
Onderwerp: RE: WebDAV sitemap


There's allready a RequestMethodSelector that can do map:select
type="webdav". I prefer this one since I don't like writing code. ;-)

I don't think Slide can do the job here, because it works om a standard
type
of repository or interface, not on an application build in Cocoon. With
webdav on Cocoon you can map the protocol to anything written in Cocoon.
Your application will then act as a virtual webdav repository.

I am not sure what can be reused to implement this.

Michael


-----Original Message-----
From: Martin Holz
To: [EMAIL PROTECTED]
Sent: 23-9-2002 11:45 
Subject: Re: WebDAV sitemap

On Monday 23 September 2002 10:07, Michael Homeijer wrote:
> Hi,
>
> I found and received info on slide, but I was thinking of a sitemap
that
> has matchers and additional actions, transformers etc. that make
supporting
> webdav from an application much easier. This way you can easily expose
an
> application as a webdav resource. A sample sitemap would contain the
> following matchers:
>
> <map:match pattern="/">
>   <map:act type="requestmethod">
>      <map:generate src="cocoon:{request-method}"/>
>      <map:serialize/>
>   </map:act>
> </map:match>
>
> <map:match pattern="PROPFIND">
> </map:match>
>
> <map:match pattern="PROPPATCH">
> </map:match>
>
> <map:match pattern="MKCOL">
> </map:match>
>
> etc.
>
> Does this make sense?

Yes, adding Webdav methods  to the cocoon makes sense. However
it would duplicate the work done for the slide webdav servlet.
Slide webdav contains lot of code, so porting it to cocoon is a
major project.



Do you want to extend the matcher or introduce a new one? You could do
either

<map:match type="wildcard" method="PROPFIND" pattern="**./ >
....
</map:match>    

or 

<map:match type="wildcard"  pattern="**./ >
  <map:select type="webdav">  
        <map:when test="PROPFIND">
          ...
      </map:when>
      <map:when test="PUT">
       ...
     </map:when>
  </map:select>
</map:match>    

I would prefer the second solution, since you don't have to change 
existing matchers.



Martin

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to