You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by Fabrice Dewasmes <fa...@openwide.fr> on 2005/10/06 17:46:29 UTC

Slide proposal for version 3.0

Hi folks !

As I was saying in post
http://mail-archives.apache.org/mod_mbox/jakarta-slide-dev/200508.mbox/%3c42F735C6.90800@openwide.fr%3e 


I think that slide layers should be more cleanly separated. The design 
approach for v3 exposed in
http://wiki.apache.org/jakarta-slide/DesignApproach

seem a good idea. Going one step in this direction I've separated the 
Webdav implementation of slide from any HTTP semantic. Why ? because if 
you want to embed a webdav implementation in a software, you're forced 
to do local webdav call with HTTP which is silly and not performant.

the proposed layers are hereunder :

+=============================+  +===========================+
+ WebDAV "simple" personality +  + WebDAV servlet personality+
+=============================+  +===========================+
+============================================================+
+ Webdav "Core"                                              +
+============================================================+

the core uses interfaces representing :
- the request context
- the response context
- the webdav config.

Both personalities implements these 3 interfaces and their related classes.

Having this leads to be able to :
- package a webdav implementation that doesn't need HTTP at all (core + 
simple personality)
- package a webdav implementation that is only HTTP and available as a 
war (core + servlet personality)
- package a webdav implementation that can do both (core + both 
personalities)

The interesting part of this is that it is not breaking anything : we 
keep all the high level semantic of webdav and make it accesible in a 
local fashion.

The introduction of the interfaces has asked to refactor each method. 
The refactoring is quite straight forward. I've not refactored all 
methods yet but a great part of it have been done. I guess this is 
largely sufficient to say if I'm walking on the head or not.

Please find here (http://fdewasmes.free.fr/slide) my proposal. (file is 
too large for apache mail server)
 
This is maven based but I've written an ant script for those who aren't 
confortable with maven. This builds 5 modules :
- one jar for each module (core, simple personality, servlet personality)
- a client jar for the simple personality
- a war package demonstrating that everything works (or so !) using core 
+ servlet personality.

For me this is a proposal for v3. If accepted we can take most of the 
work I've already done, run the test suite and refactor the remaining 
methods.

Tell me what you think !

Fabrice Dewasmes

---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org


Re: Slide proposal for version 3.0

Posted by "Robert r. Sanders" <ro...@ipov.net>.
As a potential user I'm glad to see this topic brought up.  As a 
potential user let me briefly outline some of the ideas I have had or 
seen that I am interested in.  I like the idea of standards (at least 
when they don't get in the way of getting actual work done); hence I 
find WebDAV a very interesting idea for remote CRM; however now that the 
JCR-170 is "out" I'd love it (and it would make my boss so happy...) if 
there was a robust WebDAV implementation on top of a JCR-170 "core".  
While it's got to be a fairly radical change in the code base, I'd 
personally love to see Slide become more of a wrapper / user of the 
JCR-170 spec / Jackrabbit (as the default core - I wouldn't be very 
worried about actually ever switching to a different implementation); 
Slide could then be about value-added, mainly in the WebDAV and 
associated areas.  A little diagram:
                                                                             

                              Server 'Package'
+++++++++                 +++++++++------------------++++++++++
+ WebDAV +                +Slide  +  -- Integration + JCR-170 +
+ client +  -- WebDAV --  +Server + - w/ JCR-170  --+ Content +
+ (Slide)+                +       +                 +  Repo.  +
+++++++++                 +++++++++---------------------++++++++++++++++
                                                        + Adapter      +
                                                        + for Slide 2  +
                                                        + stores       +
                                                        ++++++++++++++++


One other item I've seen brought up which caught my attention: 
Subversion compatibility.  It seems to me that while working with the 
Subversion dev team would be "nice", a easier approach to allowing the 
use of Subversion clients against a Slide web-app would be to "map" the 
subversion specific commands to a "pure" set of WebDAV (or jcr-170), 
which could be a plugin or other type of setting for Slide.
               

-- 
    Robert r. Sanders
    Chief Technologist
    iPOV
    (334) 821-5412
    www.ipov.net


---------------------------------------------------------------------
To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org