Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-25 Thread alon salant
I've been reading the slide docs, have set up the slide server and
have WebDAV working for accessing files in slide.

I have been unable to definitively answer the following question.
Hopefully someone on this list can answer it.

Can the slide WebDAV servlet be configured to serve an existing
directory on the filesystem?

What I have found is that you can set up a slide filestore and store
files in it, but you cannot create a slide filestore from an existing
filesystem directory. Slide needs to store all kinds of metadata to do
its job and the webdav servlet can only serve a slide filestore. Is
this right?

If not, what would I need to do to get the slide webdav servlet
serving say, /home/alon/public_html/, where I have a bunch of
directories and files in that location already? I understand that a
limited set of the WebDAV protocol will be supported.

I've also looked at the tomcat webdav servlet but it has several
issues. First, it can only serve the webapp root in which it is
loaded. It is also dependent on many tomcat core classes. I would like
to be able to deploy on a range of application servers.

Thanks,

Alon

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-25 Thread James Mason
Alon,
I can't think of any way to get Slide to do this (maybe someone else 
can, though). The TxFile Store implementation uses xml files to store 
the structure of the repository, so I don't see any way to get this to 
use an existing structure in the filesystem.

You could write a really Store implementation that either ignores 
metadata or stores it in some sort of .meta file.

You might also look into using Apache HTTP Server's mod_dav module. It 
should do what you need and is very cross-platform.

-James
alon salant wrote:
I've been reading the slide docs, have set up the slide server and
have WebDAV working for accessing files in slide.
I have been unable to definitively answer the following question.
Hopefully someone on this list can answer it.
Can the slide WebDAV servlet be configured to serve an existing
directory on the filesystem?
What I have found is that you can set up a slide filestore and store
files in it, but you cannot create a slide filestore from an existing
filesystem directory. Slide needs to store all kinds of metadata to do
its job and the webdav servlet can only serve a slide filestore. Is
this right?
If not, what would I need to do to get the slide webdav servlet
serving say, /home/alon/public_html/, where I have a bunch of
directories and files in that location already? I understand that a
limited set of the WebDAV protocol will be supported.
I've also looked at the tomcat webdav servlet but it has several
issues. First, it can only serve the webapp root in which it is
loaded. It is also dependent on many tomcat core classes. I would like
to be able to deploy on a range of application servers.
Thanks,
Alon
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-26 Thread alon salant
Thanks for confirming my understanding.

I'm hoping to have WebDAV running within my webapp because I already
manage user authentication in Java and would like to apply the same
container-managed security my WebDAV implementation. I'm actually
surprised not to find a simple webdav servlet impementation
independent of application server platform or framework (slide).

Alon

On Wed, 25 Aug 2004 22:46:05 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> Alon,
> 
> I can't think of any way to get Slide to do this (maybe someone else
> can, though). The TxFile Store implementation uses xml files to store
> the structure of the repository, so I don't see any way to get this to
> use an existing structure in the filesystem.
> 
> You could write a really Store implementation that either ignores
> metadata or stores it in some sort of .meta file.
> 
> You might also look into using Apache HTTP Server's mod_dav module. It
> should do what you need and is very cross-platform.
> 
> -James
> 
> 
> 
> alon salant wrote:
> > I've been reading the slide docs, have set up the slide server and
> > have WebDAV working for accessing files in slide.
> >
> > I have been unable to definitively answer the following question.
> > Hopefully someone on this list can answer it.
> >
> > Can the slide WebDAV servlet be configured to serve an existing
> > directory on the filesystem?
> >
> > What I have found is that you can set up a slide filestore and store
> > files in it, but you cannot create a slide filestore from an existing
> > filesystem directory. Slide needs to store all kinds of metadata to do
> > its job and the webdav servlet can only serve a slide filestore. Is
> > this right?
> >
> > If not, what would I need to do to get the slide webdav servlet
> > serving say, /home/alon/public_html/, where I have a bunch of
> > directories and files in that location already? I understand that a
> > limited set of the WebDAV protocol will be supported.
> >
> > I've also looked at the tomcat webdav servlet but it has several
> > issues. First, it can only serve the webapp root in which it is
> > loaded. It is also dependent on many tomcat core classes. I would like
> > to be able to deploy on a range of application servers.
> >
> > Thanks,
> >
> > Alon
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-26 Thread James Mason
Alon,
I know what you mean. You know if you're not needing anything fancy it 
shouldn't be that hard to write a really simple filesystem Store for 
Slide. You could probably ignore locking, metadata, security and 
transactions, and since those are the complicated bits it should go 
quite fast :). I can try to walk you through it if you're interested.

-James
alon salant wrote:
Thanks for confirming my understanding.
I'm hoping to have WebDAV running within my webapp because I already
manage user authentication in Java and would like to apply the same
container-managed security my WebDAV implementation. I'm actually
surprised not to find a simple webdav servlet impementation
independent of application server platform or framework (slide).
Alon
On Wed, 25 Aug 2004 22:46:05 -0700, James Mason <[EMAIL PROTECTED]> wrote:
Alon,
I can't think of any way to get Slide to do this (maybe someone else
can, though). The TxFile Store implementation uses xml files to store
the structure of the repository, so I don't see any way to get this to
use an existing structure in the filesystem.
You could write a really Store implementation that either ignores
metadata or stores it in some sort of .meta file.
You might also look into using Apache HTTP Server's mod_dav module. It
should do what you need and is very cross-platform.
-James

alon salant wrote:
I've been reading the slide docs, have set up the slide server and
have WebDAV working for accessing files in slide.
I have been unable to definitively answer the following question.
Hopefully someone on this list can answer it.
Can the slide WebDAV servlet be configured to serve an existing
directory on the filesystem?
What I have found is that you can set up a slide filestore and store
files in it, but you cannot create a slide filestore from an existing
filesystem directory. Slide needs to store all kinds of metadata to do
its job and the webdav servlet can only serve a slide filestore. Is
this right?
If not, what would I need to do to get the slide webdav servlet
serving say, /home/alon/public_html/, where I have a bunch of
directories and files in that location already? I understand that a
limited set of the WebDAV protocol will be supported.
I've also looked at the tomcat webdav servlet but it has several
issues. First, it can only serve the webapp root in which it is
loaded. It is also dependent on many tomcat core classes. I would like
to be able to deploy on a range of application servers.
Thanks,
Alon
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


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

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-27 Thread alon salant
I'm definitely game to try.

http://jakarta.apache.org/slide/javadoc/org/apache/slide/store/Store.html

Are we talking about implementing the Store interface with no-ops for
many of the methods?

Alon

On Thu, 26 Aug 2004 23:43:39 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> Alon,
> I know what you mean. You know if you're not needing anything fancy it
> shouldn't be that hard to write a really simple filesystem Store for
> Slide. You could probably ignore locking, metadata, security and
> transactions, and since those are the complicated bits it should go
> quite fast :). I can try to walk you through it if you're interested.
> 
> -James
> 
> 
> 
> alon salant wrote:
> > Thanks for confirming my understanding.
> >
> > I'm hoping to have WebDAV running within my webapp because I already
> > manage user authentication in Java and would like to apply the same
> > container-managed security my WebDAV implementation. I'm actually
> > surprised not to find a simple webdav servlet impementation
> > independent of application server platform or framework (slide).
> >
> > Alon
> >
> > On Wed, 25 Aug 2004 22:46:05 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> >
> >>Alon,
> >>
> >>I can't think of any way to get Slide to do this (maybe someone else
> >>can, though). The TxFile Store implementation uses xml files to store
> >>the structure of the repository, so I don't see any way to get this to
> >>use an existing structure in the filesystem.
> >>
> >>You could write a really Store implementation that either ignores
> >>metadata or stores it in some sort of .meta file.
> >>
> >>You might also look into using Apache HTTP Server's mod_dav module. It
> >>should do what you need and is very cross-platform.
> >>
> >>-James
> >>
> >>
> >>
> >>alon salant wrote:
> >>
> >>>I've been reading the slide docs, have set up the slide server and
> >>>have WebDAV working for accessing files in slide.
> >>>
> >>>I have been unable to definitively answer the following question.
> >>>Hopefully someone on this list can answer it.
> >>>
> >>>Can the slide WebDAV servlet be configured to serve an existing
> >>>directory on the filesystem?
> >>>
> >>>What I have found is that you can set up a slide filestore and store
> >>>files in it, but you cannot create a slide filestore from an existing
> >>>filesystem directory. Slide needs to store all kinds of metadata to do
> >>>its job and the webdav servlet can only serve a slide filestore. Is
> >>>this right?
> >>>
> >>>If not, what would I need to do to get the slide webdav servlet
> >>>serving say, /home/alon/public_html/, where I have a bunch of
> >>>directories and files in that location already? I understand that a
> >>>limited set of the WebDAV protocol will be supported.
> >>>
> >>>I've also looked at the tomcat webdav servlet but it has several
> >>>issues. First, it can only serve the webapp root in which it is
> >>>loaded. It is also dependent on many tomcat core classes. I would like
> >>>to be able to deploy on a range of application servers.
> >>>
> >>>Thanks,
> >>>
> >>>Alon
> >>>
> >>>-
> >>>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>>
> >>
> >>-
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-27 Thread James Mason
NodeStore and ContentStore should be enough for what you're wanting. You 
may also need to implement NodeRevisionDescriptorsStore (note the extra 
's'), but that one's a gimme.

Take a look at the JNDIPrincipalStore from the 2.1 milestones for an 
example of Store that doesn't implement most of the features :). You 
should be able to use the Memory stores (also 2.1) for the other *Store 
interface that you don't implement. This will let you have the other 
features, the data just won't persist between restarts.

-James
alon salant wrote:
I'm definitely game to try.
http://jakarta.apache.org/slide/javadoc/org/apache/slide/store/Store.html
Are we talking about implementing the Store interface with no-ops for
many of the methods?
Alon
On Thu, 26 Aug 2004 23:43:39 -0700, James Mason <[EMAIL PROTECTED]> wrote:
Alon,
I know what you mean. You know if you're not needing anything fancy it
shouldn't be that hard to write a really simple filesystem Store for
Slide. You could probably ignore locking, metadata, security and
transactions, and since those are the complicated bits it should go
quite fast :). I can try to walk you through it if you're interested.
-James

alon salant wrote:
Thanks for confirming my understanding.
I'm hoping to have WebDAV running within my webapp because I already
manage user authentication in Java and would like to apply the same
container-managed security my WebDAV implementation. I'm actually
surprised not to find a simple webdav servlet impementation
independent of application server platform or framework (slide).
Alon
On Wed, 25 Aug 2004 22:46:05 -0700, James Mason <[EMAIL PROTECTED]> wrote:

Alon,
I can't think of any way to get Slide to do this (maybe someone else
can, though). The TxFile Store implementation uses xml files to store
the structure of the repository, so I don't see any way to get this to
use an existing structure in the filesystem.
You could write a really Store implementation that either ignores
metadata or stores it in some sort of .meta file.
You might also look into using Apache HTTP Server's mod_dav module. It
should do what you need and is very cross-platform.
-James

alon salant wrote:

I've been reading the slide docs, have set up the slide server and
have WebDAV working for accessing files in slide.
I have been unable to definitively answer the following question.
Hopefully someone on this list can answer it.
Can the slide WebDAV servlet be configured to serve an existing
directory on the filesystem?
What I have found is that you can set up a slide filestore and store
files in it, but you cannot create a slide filestore from an existing
filesystem directory. Slide needs to store all kinds of metadata to do
its job and the webdav servlet can only serve a slide filestore. Is
this right?
If not, what would I need to do to get the slide webdav servlet
serving say, /home/alon/public_html/, where I have a bunch of
directories and files in that location already? I understand that a
limited set of the WebDAV protocol will be supported.
I've also looked at the tomcat webdav servlet but it has several
issues. First, it can only serve the webapp root in which it is
loaded. It is also dependent on many tomcat core classes. I would like
to be able to deploy on a range of application servers.
Thanks,
Alon
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

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


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

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


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

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-29 Thread alon salant
Okay, I've started to do my homework with the 2.1b1 source and javadoc
and have a few questions.

When you say "You should be able to use the Memory stores (also 2.1)
for the other *Store interface that you don't implement." I'm not sure
what you mean. Which stores are these? And how are you suggesting that
I use them? In my final domain configuration or somehow in my
implementation?

It looks like I can extend AbstractServiceBase for some of the service
basics. I'll no-op the XAResource methods. I assume that I don't want
to extend AbstractService b/c of its XAResource implementation.

It looks like I'm should implement NodeStore to manage directories.
Correct? createObject( ), removeObject( ), retrieveObject( ) seem
obvious. storeObject( ) is less so. I'm not sure what an update to a
folder would mean. Is this safe to no-op? Is SubjectNode an
appropriate ObjectNode implementation to return from retrieveObject(
)? Do I add the directory contents (files and directories) as
SubjectNode children themselves?

For ContentStore, create/remove/retrieve/storeRevisionContent seems
like straightforward file operations. Anything I should look out for
here?

What is a good way to test my implementation? Plug it in to my
Domain.xml file and see if it works? Anything better than that?

Thanks for your help,

Alon


On Fri, 27 Aug 2004 17:02:06 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> NodeStore and ContentStore should be enough for what you're wanting. You
> may also need to implement NodeRevisionDescriptorsStore (note the extra
> 's'), but that one's a gimme.
> 
> Take a look at the JNDIPrincipalStore from the 2.1 milestones for an
> example of Store that doesn't implement most of the features :). You
> should be able to use the Memory stores (also 2.1) for the other *Store
> interface that you don't implement. This will let you have the other
> features, the data just won't persist between restarts.
> 
> 
> 
> -James
> 
> alon salant wrote:
> > I'm definitely game to try.
> >
> > http://jakarta.apache.org/slide/javadoc/org/apache/slide/store/Store.html
> >
> > Are we talking about implementing the Store interface with no-ops for
> > many of the methods?
> >
> > Alon
> >
> > On Thu, 26 Aug 2004 23:43:39 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> >
> >>Alon,
> >>I know what you mean. You know if you're not needing anything fancy it
> >>shouldn't be that hard to write a really simple filesystem Store for
> >>Slide. You could probably ignore locking, metadata, security and
> >>transactions, and since those are the complicated bits it should go
> >>quite fast :). I can try to walk you through it if you're interested.
> >>
> >>-James
> >>
> >>
> >>
> >>alon salant wrote:
> >>
> >>>Thanks for confirming my understanding.
> >>>
> >>>I'm hoping to have WebDAV running within my webapp because I already
> >>>manage user authentication in Java and would like to apply the same
> >>>container-managed security my WebDAV implementation. I'm actually
> >>>surprised not to find a simple webdav servlet impementation
> >>>independent of application server platform or framework (slide).
> >>>
> >>>Alon
> >>>
> >>>On Wed, 25 Aug 2004 22:46:05 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> >>>
> >>>
> Alon,
> 
> I can't think of any way to get Slide to do this (maybe someone else
> can, though). The TxFile Store implementation uses xml files to store
> the structure of the repository, so I don't see any way to get this to
> use an existing structure in the filesystem.
> 
> You could write a really Store implementation that either ignores
> metadata or stores it in some sort of .meta file.
> 
> You might also look into using Apache HTTP Server's mod_dav module. It
> should do what you need and is very cross-platform.
> 
> -James
> 
> 
> 
> alon salant wrote:
> 
> 
> >I've been reading the slide docs, have set up the slide server and
> >have WebDAV working for accessing files in slide.
> >
> >I have been unable to definitively answer the following question.
> >Hopefully someone on this list can answer it.
> >
> >Can the slide WebDAV servlet be configured to serve an existing
> >directory on the filesystem?
> >
> >What I have found is that you can set up a slide filestore and store
> >files in it, but you cannot create a slide filestore from an existing
> >filesystem directory. Slide needs to store all kinds of metadata to do
> >its job and the webdav servlet can only serve a slide filestore. Is
> >this right?
> >
> >If not, what would I need to do to get the slide webdav servlet
> >serving say, /home/alon/public_html/, where I have a bunch of
> >directories and files in that location already? I understand that a
> >limited set of the WebDAV protocol will be supported.
> >
> >I've also looked at the tomcat webdav servlet but it has several
> >issues. First, it can o

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-31 Thread alon salant
I've decided to take an initial step of stubbing out my
SimpleFileStore implementation and deploying it in my webapp.

I started with the Domain.sample file from the 2.1b1 distribution and
modified the namespace definition as follows:


  

  store/metadata


  store/content





  
  


SimpleFileStore implements NodeStore and ContentStore. This
configuration deploys without error.

> > Is SubjectNode an
> > appropriate ObjectNode implementation to return from retrieveObject(
> > )?
> 
> Yes.

I did find that retrieveObject( ) needs to return an ActionNode not
SubjectNode for NamespaceConfig.getActionNode( ) which was being
called in slide startup. I was getting a ClassCastException. So should
I always return an ActionNode from retrieveObject( )? What's the
difference from a SubjectNode?

I have the slide WebDAV servlet configured and starting up without
errors and with directory browsing turned on. However, when I browse
to the servlet url, I get a 403 and a single log line from slide:

  http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
403 "Forbidden", 47 ms, /

Note that I have not removed the sample namespace configuration or
data from the Domain.sample file that I started with. Reading this
file, I'm not sure what is necessary and what does not apply. I'm
guessing that most of the configuration is necessary and that the info
in the data element can go. Correct?

Any thoughts on how to get past my 403?

Alon

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-31 Thread alon salant
Okay, I've partially answered one of my questions.

Playing around and reading the config more carefully, I replaced the
sample data element configuration with


  

  


and can now directory browse through the webdav servlet. All I see is
an empty root directory which is what I expect based on my initial
SimpleFileStore implementation.

Mapping a web folder from win xp is claiming that "the folder you
entered does not appear to be valid" but I have not looked in to this
yet.

I am curious to know what of of the namespace configuration element is
required for what I am trying to do.

Alon

On Tue, 31 Aug 2004 00:06:29 -0700, alon salant <[EMAIL PROTECTED]> wrote:
> I've decided to take an initial step of stubbing out my
> SimpleFileStore implementation and deploying it in my webapp.
> 
> I started with the Domain.sample file from the 2.1b1 distribution and
> modified the namespace definition as follows:
> 
> 
>   
> 
>   store/metadata
> 
> 
>   store/content
> 
>  classname="org.apache.slide.store.mem.TransientSecurityStore"/>
> 
>  classname="org.apache.slide.store.mem.TransientDescriptorsStore"/>
>  classname="org.apache.slide.store.mem.TransientDescriptorStore"/>
>   
>   
> 
> 
> SimpleFileStore implements NodeStore and ContentStore. This
> configuration deploys without error.
> 
> > > Is SubjectNode an
> > > appropriate ObjectNode implementation to return from retrieveObject(
> > > )?
> >
> > Yes.
> 
> I did find that retrieveObject( ) needs to return an ActionNode not
> SubjectNode for NamespaceConfig.getActionNode( ) which was being
> called in slide startup. I was getting a ClassCastException. So should
> I always return an ActionNode from retrieveObject( )? What's the
> difference from a SubjectNode?
> 
> I have the slide WebDAV servlet configured and starting up without
> errors and with directory browsing turned on. However, when I browse
> to the servlet url, I get a 403 and a single log line from slide:
> 
>   http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
> 403 "Forbidden", 47 ms, /
> 
> Note that I have not removed the sample namespace configuration or
> data from the Domain.sample file that I started with. Reading this
> file, I'm not sure what is necessary and what does not apply. I'm
> guessing that most of the configuration is necessary and that the info
> in the data element can go. Correct?
> 
> Any thoughts on how to get past my 403?
> 
> Alon
>

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-08-31 Thread James Mason
alon,
Sorry I didn't think of this earlier. It will probably be easier, at 
least initialy, to have two store configured in your domain. Leave the 
default store in place with a  of "/", and add your store with a 
scope of "/files". This way you won't have to mess with the  
section of the domain, and you won't have to worry about returning 
ActionNodes.

Once you have your store working you can decide how you want to handle 
the other information. It will probably be simplest to setup some basic 
permissions in your domain then map the webdav servlet to only server 
the /files node, but other options are available.

-James
alon salant wrote:
Okay, I've partially answered one of my questions.
Playing around and reading the config more carefully, I replaced the
sample data element configuration with

  

  

and can now directory browse through the webdav servlet. All I see is
an empty root directory which is what I expect based on my initial
SimpleFileStore implementation.
Mapping a web folder from win xp is claiming that "the folder you
entered does not appear to be valid" but I have not looked in to this
yet.
I am curious to know what of of the namespace configuration element is
required for what I am trying to do.
Alon
On Tue, 31 Aug 2004 00:06:29 -0700, alon salant <[EMAIL PROTECTED]> wrote:
I've decided to take an initial step of stubbing out my
SimpleFileStore implementation and deploying it in my webapp.
I started with the Domain.sample file from the 2.1b1 distribution and
modified the namespace definition as follows:

 
   
 store/metadata
   
   
 store/content
   
   
   
   
   
 
 

SimpleFileStore implements NodeStore and ContentStore. This
configuration deploys without error.

Is SubjectNode an
appropriate ObjectNode implementation to return from retrieveObject(
)?
Yes.
I did find that retrieveObject( ) needs to return an ActionNode not
SubjectNode for NamespaceConfig.getActionNode( ) which was being
called in slide startup. I was getting a ClassCastException. So should
I always return an ActionNode from retrieveObject( )? What's the
difference from a SubjectNode?
I have the slide WebDAV servlet configured and starting up without
errors and with directory browsing turned on. However, when I browse
to the servlet url, I get a 403 and a single log line from slide:
 http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
403 "Forbidden", 47 ms, /
Note that I have not removed the sample namespace configuration or
data from the Domain.sample file that I started with. Reading this
file, I'm not sure what is necessary and what does not apply. I'm
guessing that most of the configuration is necessary and that the info
in the data element can go. Correct?
Any thoughts on how to get past my 403?
Alon

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

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-01 Thread alon salant
Deploying an additional scope seems to work fine.

It looks like I need to implement both RevisionDescriptorStore and
RevisionDescriptorsStore. Deploying with the Transient versions
deployed fine, but when trying to browse with the XP webdav client, I
got RevisionNotFoundExceptions for the uri of the resource.

So I tried just implementing
RevisionDescriptorsStore.retrieveRevisionDescriptors( ) as it is in
the JNDIPrincipalStore, but then I got Exceptions from
TransientDescriptorStore which seems to depend on the existence of
TransientDescriptorsStore (not sure about that one).

So I stubbed out both RevisionDescriptorStore and
RevisionDescriptorsStore. It looks like I need to implement
RevisionDescriptorStore.retrieveRevisionDescriptor( ). I implemented a
simple version that returns a new NodeRevisionDescriptor with its date
properties set. My /files node shows up as a 0 byte file in my webdav
browser, not a folder.

I am not sure about how to propertly create a NodeRevisionDescriptor -
which properties should be set folders, and which for files. Any
hints?

Am I off track here?

Alon

On Tue, 31 Aug 2004 09:10:36 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> alon,
> Sorry I didn't think of this earlier. It will probably be easier, at
> least initialy, to have two store configured in your domain. Leave the
> default store in place with a  of "/", and add your store with a
> scope of "/files". This way you won't have to mess with the 
> section of the domain, and you won't have to worry about returning
> ActionNodes.
> 
> Once you have your store working you can decide how you want to handle
> the other information. It will probably be simplest to setup some basic
> permissions in your domain then map the webdav servlet to only server
> the /files node, but other options are available.
> 
> -James
> 
> 
> 
> alon salant wrote:
> > Okay, I've partially answered one of my questions.
> >
> > Playing around and reading the config more carefully, I replaced the
> > sample data element configuration with
> >
> > 
> >   
> > 
> >   
> > 
> >
> > and can now directory browse through the webdav servlet. All I see is
> > an empty root directory which is what I expect based on my initial
> > SimpleFileStore implementation.
> >
> > Mapping a web folder from win xp is claiming that "the folder you
> > entered does not appear to be valid" but I have not looked in to this
> > yet.
> >
> > I am curious to know what of of the namespace configuration element is
> > required for what I am trying to do.
> >
> > Alon
> >
> > On Tue, 31 Aug 2004 00:06:29 -0700, alon salant <[EMAIL PROTECTED]> wrote:
> >
> >>I've decided to take an initial step of stubbing out my
> >>SimpleFileStore implementation and deploying it in my webapp.
> >>
> >>I started with the Domain.sample file from the 2.1b1 distribution and
> >>modified the namespace definition as follows:
> >>
> >>
> >>  
> >>
> >>  store/metadata
> >>
> >>
> >>  store/content
> >>
> >> >>classname="org.apache.slide.store.mem.TransientSecurityStore"/>
> >>
> >> >>classname="org.apache.slide.store.mem.TransientDescriptorsStore"/>
> >> >>classname="org.apache.slide.store.mem.TransientDescriptorStore"/>
> >>  
> >>  
> >>
> >>
> >>SimpleFileStore implements NodeStore and ContentStore. This
> >>configuration deploys without error.
> >>
> >>
> Is SubjectNode an
> appropriate ObjectNode implementation to return from retrieveObject(
> )?
> >>>
> >>>Yes.
> >>
> >>I did find that retrieveObject( ) needs to return an ActionNode not
> >>SubjectNode for NamespaceConfig.getActionNode( ) which was being
> >>called in slide startup. I was getting a ClassCastException. So should
> >>I always return an ActionNode from retrieveObject( )? What's the
> >>difference from a SubjectNode?
> >>
> >>I have the slide WebDAV servlet configured and starting up without
> >>errors and with directory browsing turned on. However, when I browse
> >>to the servlet url, I get a 403 and a single log line from slide:
> >>
> >>  http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
> >>403 "Forbidden", 47 ms, /
> >>
> >>Note that I have not removed the sample namespace configuration or
> >>data from the Domain.sample file that I started with. Reading this
> >>file, I'm not sure what is necessary and what does not apply. I'm
> >>guessing that most of the configuration is necessary and that the info
> >>in the data element can go. Correct?
> >>
> >>Any thoughts on how to get past my 403?
> >>
> >>Alon
> >>
> >
> > 
> > -
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

-
To unsub

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-01 Thread James Mason
'twould be nice were this easier (or at least better documented). It 
looks like you're on the right track, though.

I think you'll need to set the DAV:resourcetype property at a minimum.
Relevant line from JNDIPrincipalStore:
props.put(
"DAV:resourcetype",
new NodeProperty("resourcetype", resourceType, "DAV:", "", false));
I'm not positive, but I think the key for the hashtable (props) is 
significant.

Other than that there are a few properties you'll probably want to 
return for files (size, modification date, etc).

-James
alon salant wrote:
Deploying an additional scope seems to work fine.
It looks like I need to implement both RevisionDescriptorStore and
RevisionDescriptorsStore. Deploying with the Transient versions
deployed fine, but when trying to browse with the XP webdav client, I
got RevisionNotFoundExceptions for the uri of the resource.
So I tried just implementing
RevisionDescriptorsStore.retrieveRevisionDescriptors( ) as it is in
the JNDIPrincipalStore, but then I got Exceptions from
TransientDescriptorStore which seems to depend on the existence of
TransientDescriptorsStore (not sure about that one).
So I stubbed out both RevisionDescriptorStore and
RevisionDescriptorsStore. It looks like I need to implement
RevisionDescriptorStore.retrieveRevisionDescriptor( ). I implemented a
simple version that returns a new NodeRevisionDescriptor with its date
properties set. My /files node shows up as a 0 byte file in my webdav
browser, not a folder.
I am not sure about how to propertly create a NodeRevisionDescriptor -
which properties should be set folders, and which for files. Any
hints?
Am I off track here?
Alon
On Tue, 31 Aug 2004 09:10:36 -0700, James Mason <[EMAIL PROTECTED]> wrote:
alon,
Sorry I didn't think of this earlier. It will probably be easier, at
least initialy, to have two store configured in your domain. Leave the
default store in place with a  of "/", and add your store with a
scope of "/files". This way you won't have to mess with the 
section of the domain, and you won't have to worry about returning
ActionNodes.
Once you have your store working you can decide how you want to handle
the other information. It will probably be simplest to setup some basic
permissions in your domain then map the webdav servlet to only server
the /files node, but other options are available.
-James

alon salant wrote:
Okay, I've partially answered one of my questions.
Playing around and reading the config more carefully, I replaced the
sample data element configuration with

 
   
 

and can now directory browse through the webdav servlet. All I see is
an empty root directory which is what I expect based on my initial
SimpleFileStore implementation.
Mapping a web folder from win xp is claiming that "the folder you
entered does not appear to be valid" but I have not looked in to this
yet.
I am curious to know what of of the namespace configuration element is
required for what I am trying to do.
Alon
On Tue, 31 Aug 2004 00:06:29 -0700, alon salant <[EMAIL PROTECTED]> wrote:

I've decided to take an initial step of stubbing out my
SimpleFileStore implementation and deploying it in my webapp.
I started with the Domain.sample file from the 2.1b1 distribution and
modified the namespace definition as follows:


  
store/metadata
  
  
store/content
  
  
  
  
  



SimpleFileStore implements NodeStore and ContentStore. This
configuration deploys without error.

Is SubjectNode an
appropriate ObjectNode implementation to return from retrieveObject(
)?
Yes.
I did find that retrieveObject( ) needs to return an ActionNode not
SubjectNode for NamespaceConfig.getActionNode( ) which was being
called in slide startup. I was getting a ClassCastException. So should
I always return an ActionNode from retrieveObject( )? What's the
difference from a SubjectNode?
I have the slide WebDAV servlet configured and starting up without
errors and with directory browsing turned on. However, when I browse
to the servlet url, I get a 403 and a single log line from slide:
http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
403 "Forbidden", 47 ms, /
Note that I have not removed the sample namespace configuration or
data from the Domain.sample file that I started with. Reading this
file, I'm not sure what is necessary and what does not apply. I'm
guessing that most of the configuration is necessary and that the info
in the data element can go. Correct?
Any thoughts on how to get past my 403?
Alon

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

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


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

--

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-01 Thread James Mason
Forgot to point out that the value of resourcetype should be 
"".

-James
James Mason wrote:
'twould be nice were this easier (or at least better documented). It 
looks like you're on the right track, though.

I think you'll need to set the DAV:resourcetype property at a minimum.
Relevant line from JNDIPrincipalStore:
props.put(
"DAV:resourcetype",
new NodeProperty("resourcetype", resourceType, "DAV:", "", false));
I'm not positive, but I think the key for the hashtable (props) is 
significant.

Other than that there are a few properties you'll probably want to 
return for files (size, modification date, etc).

-James
alon salant wrote:
Deploying an additional scope seems to work fine.
It looks like I need to implement both RevisionDescriptorStore and
RevisionDescriptorsStore. Deploying with the Transient versions
deployed fine, but when trying to browse with the XP webdav client, I
got RevisionNotFoundExceptions for the uri of the resource.
So I tried just implementing
RevisionDescriptorsStore.retrieveRevisionDescriptors( ) as it is in
the JNDIPrincipalStore, but then I got Exceptions from
TransientDescriptorStore which seems to depend on the existence of
TransientDescriptorsStore (not sure about that one).
So I stubbed out both RevisionDescriptorStore and
RevisionDescriptorsStore. It looks like I need to implement
RevisionDescriptorStore.retrieveRevisionDescriptor( ). I implemented a
simple version that returns a new NodeRevisionDescriptor with its date
properties set. My /files node shows up as a 0 byte file in my webdav
browser, not a folder.
I am not sure about how to propertly create a NodeRevisionDescriptor -
which properties should be set folders, and which for files. Any
hints?
Am I off track here?
Alon
On Tue, 31 Aug 2004 09:10:36 -0700, James Mason <[EMAIL PROTECTED]> 
wrote:

alon,
Sorry I didn't think of this earlier. It will probably be easier, at
least initialy, to have two store configured in your domain. Leave the
default store in place with a  of "/", and add your store with a
scope of "/files". This way you won't have to mess with the 
section of the domain, and you won't have to worry about returning
ActionNodes.
Once you have your store working you can decide how you want to handle
the other information. It will probably be simplest to setup some basic
permissions in your domain then map the webdav servlet to only server
the /files node, but other options are available.
-James

alon salant wrote:
Okay, I've partially answered one of my questions.
Playing around and reading the config more carefully, I replaced the
sample data element configuration with

 
   
 


and can now directory browse through the webdav servlet. All I see is
an empty root directory which is what I expect based on my initial
SimpleFileStore implementation.
Mapping a web folder from win xp is claiming that "the folder you
entered does not appear to be valid" but I have not looked in to this
yet.
I am curious to know what of of the namespace configuration element is
required for what I am trying to do.
Alon
On Tue, 31 Aug 2004 00:06:29 -0700, alon salant <[EMAIL PROTECTED]> 
wrote:


I've decided to take an initial step of stubbing out my
SimpleFileStore implementation and deploying it in my webapp.
I started with the Domain.sample file from the 2.1b1 distribution and
modified the namespace definition as follows:


  
store/metadata
  
  
store/content
  
  
classname="org.apache.slide.store.mem.TransientSecurityStore"/>
  
  
classname="org.apache.slide.store.mem.TransientDescriptorsStore"/>
  
classname="org.apache.slide.store.mem.TransientDescriptorStore"/>




SimpleFileStore implements NodeStore and ContentStore. This
configuration deploys without error.

Is SubjectNode an
appropriate ObjectNode implementation to return from retrieveObject(
)?

Yes.

I did find that retrieveObject( ) needs to return an ActionNode not
SubjectNode for NamespaceConfig.getActionNode( ) which was being
called in slide startup. I was getting a ClassCastException. So should
I always return an ActionNode from retrieveObject( )? What's the
difference from a SubjectNode?
I have the slide WebDAV servlet configured and starting up without
errors and with directory browsing turned on. However, when I browse
to the servlet url, I get a 403 and a single log line from slide:
http-8080-Processor25, 30-Aug-2004 23:43:47, unauthenticated, GET,
403 "Forbidden", 47 ms, /
Note that I have not removed the sample namespace configuration or
data from the Domain.sample file that I started with. Reading this
file, I'm not sure what is necessary and what does not apply. I'm
guessing that most of the configuration is necessary and that the info
in the data element can go. Correct?
Any thoughts on how to get past my 403?
Alon

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

-

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-03 Thread alon salant
Alright. Lots of progress now.

I've pretty much got things working. I first got a "virtual" store
working - implemented a few of the store interface methods to support
webdav browsing through a node structure simply defined in code.
Definitely took a bit of fiddling to figure out what need to be
returned for retrieveRevisionDescriptors and
retrieveRevisionDescriptor but finally got it all set.

I removed all access restrictions with an  entry in :

  

  

Nice.

>From here it actually was straight forward to call to the filesystem
to implement the needed read/write/delete implementations.

But I am now finding that I get "Forbidden" messages from the WebDAV
servlet for PUT, DELETE, MOVE, MKCOL methods. The only methods in my
implementation that are being called when these WebDAV methods are
executing are retrieveOject,  retrieveRevisionDescriptor,
retrieveRevisionDescriptors. Could it be something in the
NodeRevisionDescriptor that I am/am not creating that is preventing
this or is it authentication/ACL configuration of some kind? Do I need
to set the owner on the NodeRevisionDescriptor?

I get the same behavior when I map my store to the /files
configuration in the Domain.sample file. But with /files mapped as it
comes in Domain.sample, I do not have the same permissions problem.

Do I need to exclude the scope of my store from version control in Domain.xml?

I've been stepping through the code and there are tons of checks to
SecurityImpl.checkPermissions( ) sometimes I see my config (listed
above) in there.

Alon

On Wed, 01 Sep 2004 23:10:38 -0700, James Mason <[EMAIL PROTECTED]> wrote:
> Forgot to point out that the value of resourcetype should be
> "".
> 
> -James
> 
> 
> 
> James Mason wrote:
> > 'twould be nice were this easier (or at least better documented). It
> > looks like you're on the right track, though.
> >
> > I think you'll need to set the DAV:resourcetype property at a minimum.
> > Relevant line from JNDIPrincipalStore:
> >
> > props.put(
> > "DAV:resourcetype",
> > new NodeProperty("resourcetype", resourceType, "DAV:", "", false));
> >
> > I'm not positive, but I think the key for the hashtable (props) is
> > significant.
> >
> > Other than that there are a few properties you'll probably want to
> > return for files (size, modification date, etc).
> >
> > -James
> >
> > alon salant wrote:
> >
> >> Deploying an additional scope seems to work fine.
> >>
> >> It looks like I need to implement both RevisionDescriptorStore and
> >> RevisionDescriptorsStore. Deploying with the Transient versions
> >> deployed fine, but when trying to browse with the XP webdav client, I
> >> got RevisionNotFoundExceptions for the uri of the resource.
> >>
> >> So I tried just implementing
> >> RevisionDescriptorsStore.retrieveRevisionDescriptors( ) as it is in
> >> the JNDIPrincipalStore, but then I got Exceptions from
> >> TransientDescriptorStore which seems to depend on the existence of
> >> TransientDescriptorsStore (not sure about that one).
> >>
> >> So I stubbed out both RevisionDescriptorStore and
> >> RevisionDescriptorsStore. It looks like I need to implement
> >> RevisionDescriptorStore.retrieveRevisionDescriptor( ). I implemented a
> >> simple version that returns a new NodeRevisionDescriptor with its date
> >> properties set. My /files node shows up as a 0 byte file in my webdav
> >> browser, not a folder.
> >>
> >> I am not sure about how to propertly create a NodeRevisionDescriptor -
> >> which properties should be set folders, and which for files. Any
> >> hints?
> >>
> >> Am I off track here?
> >>
> >> Alon
> >>
> >> On Tue, 31 Aug 2004 09:10:36 -0700, James Mason <[EMAIL PROTECTED]>
> >> wrote:
> >>
> >>> alon,
> >>> Sorry I didn't think of this earlier. It will probably be easier, at
> >>> least initialy, to have two store configured in your domain. Leave the
> >>> default store in place with a  of "/", and add your store with a
> >>> scope of "/files". This way you won't have to mess with the 
> >>> section of the domain, and you won't have to worry about returning
> >>> ActionNodes.
> >>>
> >>> Once you have your store working you can decide how you want to handle
> >>> the other information. It will probably be simplest to setup some basic
> >>> permissions in your domain then map the webdav servlet to only server
> >>> the /files node, but other options are available.
> >>>
> >>> -James
> >>>
> >>>
> >>>
> >>> alon salant wrote:
> >>>
>  Okay, I've partially answered one of my questions.
> 
>  Playing around and reading the config more carefully, I replaced the
>  sample data element configuration with
> 
>  
>     uri="/">
> 
>   
>  
> 
>  and can now directory browse through the webdav servlet. All I see is
>  an empty root directory which is what I expect based on my initial
>  SimpleFileStore implementation.
> 
>  Mapping a web folder from win xp is claiming that "the folder you
>  entered does

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-03 Thread James Mason
It sounds like the acl might be getting messed up somehow. You can check 
this by using the command line client to execute the acl method on a 
resource in your Store.

A quick fix would probably be to disable security in your 
slide.properties file. Unless you're maintaining a list of users and 
roles in Slide having security on is rather meaningless. This won't 
actually fix the problem, but it should make it go away :).

You can also turn versioning off if you don't need it. That speeds 
things up a little too.

-James
alon salant wrote:
Alright. Lots of progress now.
I've pretty much got things working. I first got a "virtual" store
working - implemented a few of the store interface methods to support
webdav browsing through a node structure simply defined in code.
Definitely took a bit of fiddling to figure out what need to be
returned for retrieveRevisionDescriptors and
retrieveRevisionDescriptor but finally got it all set.
I removed all access restrictions with an  entry in :
  

  
Nice.
From here it actually was straight forward to call to the filesystem
to implement the needed read/write/delete implementations.
But I am now finding that I get "Forbidden" messages from the WebDAV
servlet for PUT, DELETE, MOVE, MKCOL methods. The only methods in my
implementation that are being called when these WebDAV methods are
executing are retrieveOject,  retrieveRevisionDescriptor,
retrieveRevisionDescriptors. Could it be something in the
NodeRevisionDescriptor that I am/am not creating that is preventing
this or is it authentication/ACL configuration of some kind? Do I need
to set the owner on the NodeRevisionDescriptor?
I get the same behavior when I map my store to the /files
configuration in the Domain.sample file. But with /files mapped as it
comes in Domain.sample, I do not have the same permissions problem.
Do I need to exclude the scope of my store from version control in Domain.xml?
I've been stepping through the code and there are tons of checks to
SecurityImpl.checkPermissions( ) sometimes I see my config (listed
above) in there.
Alon
On Wed, 01 Sep 2004 23:10:38 -0700, James Mason <[EMAIL PROTECTED]> wrote:
Forgot to point out that the value of resourcetype should be
"".
-James

James Mason wrote:
'twould be nice were this easier (or at least better documented). It
looks like you're on the right track, though.
I think you'll need to set the DAV:resourcetype property at a minimum.
Relevant line from JNDIPrincipalStore:
props.put(
   "DAV:resourcetype",
   new NodeProperty("resourcetype", resourceType, "DAV:", "", false));
I'm not positive, but I think the key for the hashtable (props) is
significant.
Other than that there are a few properties you'll probably want to
return for files (size, modification date, etc).
-James
alon salant wrote:

Deploying an additional scope seems to work fine.
It looks like I need to implement both RevisionDescriptorStore and
RevisionDescriptorsStore. Deploying with the Transient versions
deployed fine, but when trying to browse with the XP webdav client, I
got RevisionNotFoundExceptions for the uri of the resource.
So I tried just implementing
RevisionDescriptorsStore.retrieveRevisionDescriptors( ) as it is in
the JNDIPrincipalStore, but then I got Exceptions from
TransientDescriptorStore which seems to depend on the existence of
TransientDescriptorsStore (not sure about that one).
So I stubbed out both RevisionDescriptorStore and
RevisionDescriptorsStore. It looks like I need to implement
RevisionDescriptorStore.retrieveRevisionDescriptor( ). I implemented a
simple version that returns a new NodeRevisionDescriptor with its date
properties set. My /files node shows up as a 0 byte file in my webdav
browser, not a folder.
I am not sure about how to propertly create a NodeRevisionDescriptor -
which properties should be set folders, and which for files. Any
hints?
Am I off track here?
Alon
On Tue, 31 Aug 2004 09:10:36 -0700, James Mason <[EMAIL PROTECTED]>
wrote:

alon,
Sorry I didn't think of this earlier. It will probably be easier, at
least initialy, to have two store configured in your domain. Leave the
default store in place with a  of "/", and add your store with a
scope of "/files". This way you won't have to mess with the 
section of the domain, and you won't have to worry about returning
ActionNodes.
Once you have your store working you can decide how you want to handle
the other information. It will probably be simplest to setup some basic
permissions in your domain then map the webdav servlet to only server
the /files node, but other options are available.
-James

alon salant wrote:

Okay, I've partially answered one of my questions.
Playing around and reading the config more carefully, I replaced the
sample data element configuration with


  


and can now directory browse through the webdav servlet. All I see is
an empty root directory which is what I expect based on my initial
SimpleFileStore implementation.
Mapping a web folder from win xp is claiming 

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-05 Thread Girish Nagaraj
Alon,

I am also working on hooking up a "database document repository" as a
store with slide. I have spent quite sometime stepping through the
TxFile store implementation and have got some idea of what goes on.

If possible, could you please send me the "bare bones" implementation
of the store you wrote where the node structure was defined in the
code so that I can start with it.

Thanks,
Girish

[Quoting your mail from the archive as I have lost the original email :-(   ]

>alon salant wrote: 
>Alright. Lots of progress now

>I've pretty much got things working. I first got a "virtual" store
>working - implemented a few of the store interface methods to support
>webdav browsing through a node structure simply defined in code.
>Definitely took a bit of fiddling to figure out what need to be
>returned for retrieveRevisionDescriptors and
>retrieveRevisionDescriptor but finally got it all set.

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-06 Thread alon salant
http://cvs.sourceforge.net/viewcvs.py/photospace/slidespace/WEB-INF/src/photospace/slide/

AbstractSimpleFileStore implements ContentStore, NodeStore,
RevisionDescriptorStore, RevisionDescriptorsStore, no-ops most of the
interface methods, and declares abstract those that you need to
implement to get basic create/remove/update/delete for files and
directories.

CountdownStore presents nested directories 10 .. 1 and a file 0.txt in
the directory 1. This structure is defined in code. You can get some
funky things to happen by trying to change this structure through a
webdav client since this implementation seems to support all
operations but does not preserve state.

SimpleFileStore is my effort to create a slide store that simply
serves an existing filesystem directory. It's working with some minor
issues that I'll get in to in a later post.

I created a stripped down webapp to work on this stuff. You can check
out the module "slidespace" following the instructions on
http://sourceforge.net/cvs/?group_id=113626 right in to your webapps
directory if you want to run the two stores.

$ cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/photospace co slidespace
$ cd slidespace
$ ant

Alon


On Sun, 5 Sep 2004 17:30:22 +0530, Girish Nagaraj <[EMAIL PROTECTED]> wrote:
> Alon,
> 
> I am also working on hooking up a "database document repository" as a
> store with slide. I have spent quite sometime stepping through the
> TxFile store implementation and have got some idea of what goes on.
> 
> If possible, could you please send me the "bare bones" implementation
> of the store you wrote where the node structure was defined in the
> code so that I can start with it.
> 
> Thanks,
> Girish
> 
> [Quoting your mail from the archive as I have lost the original email :-(   ]
> 
> 
> 
> >alon salant wrote:
> >Alright. Lots of progress now
> 
> >I've pretty much got things working. I first got a "virtual" store
> >working - implemented a few of the store interface methods to support
> >webdav browsing through a node structure simply defined in code.
> >Definitely took a bit of fiddling to figure out what need to be
> >returned for retrieveRevisionDescriptors and
> >retrieveRevisionDescriptor but finally got it all set.
> 
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
>

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-06 Thread Oliver Zeigermann
Hi Alon!
This looks like nice work. I was wondering where do properties go to? Or 
 do you only map resource type, content length and dates as done in 
SimpleFileStore (you seem to mix up creation and modification time there?).

Anyway, wouldn't you consider donating this store implementation to the 
Slide community? This way more people could benift and maybe contribute 
to it?

Oliver
alon salant wrote:
http://cvs.sourceforge.net/viewcvs.py/photospace/slidespace/WEB-INF/src/photospace/slide/
AbstractSimpleFileStore implements ContentStore, NodeStore,
RevisionDescriptorStore, RevisionDescriptorsStore, no-ops most of the
interface methods, and declares abstract those that you need to
implement to get basic create/remove/update/delete for files and
directories.
CountdownStore presents nested directories 10 .. 1 and a file 0.txt in
the directory 1. This structure is defined in code. You can get some
funky things to happen by trying to change this structure through a
webdav client since this implementation seems to support all
operations but does not preserve state.
SimpleFileStore is my effort to create a slide store that simply
serves an existing filesystem directory. It's working with some minor
issues that I'll get in to in a later post.
I created a stripped down webapp to work on this stuff. You can check
out the module "slidespace" following the instructions on
http://sourceforge.net/cvs/?group_id=113626 right in to your webapps
directory if you want to run the two stores.
$ cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/photospace co slidespace
$ cd slidespace
$ ant
Alon
On Sun, 5 Sep 2004 17:30:22 +0530, Girish Nagaraj <[EMAIL PROTECTED]> wrote:
Alon,
I am also working on hooking up a "database document repository" as a
store with slide. I have spent quite sometime stepping through the
TxFile store implementation and have got some idea of what goes on.
If possible, could you please send me the "bare bones" implementation
of the store you wrote where the node structure was defined in the
code so that I can start with it.
Thanks,
Girish
[Quoting your mail from the archive as I have lost the original email :-(   ]


alon salant wrote:
Alright. Lots of progress now

I've pretty much got things working. I first got a "virtual" store
working - implemented a few of the store interface methods to support
webdav browsing through a node structure simply defined in code.
Definitely took a bit of fiddling to figure out what need to be
returned for retrieveRevisionDescriptors and
retrieveRevisionDescriptor but finally got it all set.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


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


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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-07 Thread alon salant
I'd be happy to contribute.

> I was wondering where do properties go to?

That I'm not sure what your question means may be enough of an answer for you.

I try to map as many of the object properties as I can for
retrieveRevisionDescriptor( ) but never write properties back to the
filesystem - I'm not sure if there are any that I could write to the
file system. It looks like I could write lastModified. Are there other
properties of significance that I am leaving out?

I set creationDate to the modificationDate b/c I don't have access to
creationDate through java.io.File. I figure that's a better date than
nothing.

A couple open issues that I'd appreciate feedback on:

1. An issue I have been unable to resolve (and is perhaps related to
your question) is that when I create a file through WebDAV, my WebDAV
client (Win XP) does not display the file with its correct content
length or modificationDate. If I force a refresh of the directory
display, I see the correct values. Any thoughts on this?

2. Caching - it looks like slide uses ehcache. Is it possible to
control the cache parameters? How? I find that my WebDAV client does
not consistently pick up changes to the filesystem backing the store.
That is, changes that take place directly on the filesystem.

3. Resource type for createObject( ) - see the javadoc comment in the
SimpleFileStore implementation. Basically, I always create a directory
in createObject( ) b/c I can't tell if the object is supposed to be a
file or collection. Only once storeRevisionContent( ) is called do I
know that the object is supposed to be a file - so I remove the
directory and create the file with the content. This seems like an odd
way to handle this but I'm not sure of an alternative.

Alon


On Tue, 07 Sep 2004 08:48:29 +0200, Oliver Zeigermann
<[EMAIL PROTECTED]> wrote:
> Hi Alon!
> 
> This looks like nice work. I was wondering where do properties go to? Or
>   do you only map resource type, content length and dates as done in
> SimpleFileStore (you seem to mix up creation and modification time there?).
> 
> Anyway, wouldn't you consider donating this store implementation to the
> Slide community? This way more people could benift and maybe contribute
> to it?
> 
> Oliver
> 
> 
> 
> alon salant wrote:
> > http://cvs.sourceforge.net/viewcvs.py/photospace/slidespace/WEB-INF/src/photospace/slide/
> >
> > AbstractSimpleFileStore implements ContentStore, NodeStore,
> > RevisionDescriptorStore, RevisionDescriptorsStore, no-ops most of the
> > interface methods, and declares abstract those that you need to
> > implement to get basic create/remove/update/delete for files and
> > directories.
> >
> > CountdownStore presents nested directories 10 .. 1 and a file 0.txt in
> > the directory 1. This structure is defined in code. You can get some
> > funky things to happen by trying to change this structure through a
> > webdav client since this implementation seems to support all
> > operations but does not preserve state.
> >
> > SimpleFileStore is my effort to create a slide store that simply
> > serves an existing filesystem directory. It's working with some minor
> > issues that I'll get in to in a later post.
> >
> > I created a stripped down webapp to work on this stuff. You can check
> > out the module "slidespace" following the instructions on
> > http://sourceforge.net/cvs/?group_id=113626 right in to your webapps
> > directory if you want to run the two stores.
> >
> > $ cvs -d:pserver:[EMAIL PROTECTED]:/cvsroot/photospace co slidespace
> > $ cd slidespace
> > $ ant
> >
> > Alon

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-07 Thread Oliver Zeigermann
alon salant wrote:
I'd be happy to contribute.
Great :)

I was wondering where do properties go to?

That I'm not sure what your question means may be enough of an answer for you.
I try to map as many of the object properties as I can for
retrieveRevisionDescriptor( ) but never write properties back to the
filesystem - I'm not sure if there are any that I could write to the
file system. It looks like I could write lastModified. Are there other
properties of significance that I am leaving out?
I set creationDate to the modificationDate b/c I don't have access to
creationDate through java.io.File. I figure that's a better date than
nothing.
I see. I was thinking about random properties like meta data you can set 
with the PROPPATCH method:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_webdav_proppatch.asp
and well yes, I am a MS fan ;)
However, not big issue not to set them...
A couple open issues that I'd appreciate feedback on:
1. An issue I have been unable to resolve (and is perhaps related to
your question) is that when I create a file through WebDAV, my WebDAV
client (Win XP) does not display the file with its correct content
length or modificationDate. If I force a refresh of the directory
display, I see the correct values. Any thoughts on this?
I remember I had this problem as well, when I did another store 
implementation. What values are displayed? Zero? Maybe MS tries to store 
other properties, I seem to remember something like this... I am so 
forgetful these days...

If you really want to go for it, try and trace the WebDAV communication 
with the default file store and then yours with the same requests and 
look for the differences. I would love to do myself, but am a bit short 
of time right now :(

2. Caching - it looks like slide uses ehcache. Is it possible to
control the cache parameters? How? I find that my WebDAV client does
not consistently pick up changes to the filesystem backing the store.
That is, changes that take place directly on the filesystem.
AFAIK ehcache is only used by the JNDI store. The rest of Slide uses 
some custom transactional caching stuff. I understand your problem. The 
cache would need to know when the file system changes in order to 
refresh. I do not think there is a way to get this done. ehcache has an 
option to invalidate entries after a certain amount of time. This would 
ne nice for Slide's cache just as well. For now, if you really need to 
to pick up the changes disable global caching completely. To do this set 
the caching mode to "cluster" with parameter "cache-mode" in Domain.xml. 
The parameter must be set for the complete store like


cluster
...
...
3. Resource type for createObject( ) - see the javadoc comment in the
SimpleFileStore implementation. Basically, I always create a directory
in createObject( ) b/c I can't tell if the object is supposed to be a
file or collection. Only once storeRevisionContent( ) is called do I
know that the object is supposed to be a file - so I remove the
directory and create the file with the content. This seems like an odd
way to handle this but I'm not sure of an alternative.
This sounds rather reasonable to me. If it works, keep it like this...
If you need any help, especially with issue 1, or are ready to 
contribute the store, let me know...

Thanks,
Oliver
Alon
On Tue, 07 Sep 2004 08:48:29 +0200, Oliver Zeigermann
<[EMAIL PROTECTED]> wrote:
Hi Alon!
This looks like nice work. I was wondering where do properties go to? Or
 do you only map resource type, content length and dates as done in
SimpleFileStore (you seem to mix up creation and modification time there?).
Anyway, wouldn't you consider donating this store implementation to the
Slide community? This way more people could benift and maybe contribute
to it?
Oliver

alon salant wrote:
http://cvs.sourceforge.net/viewcvs.py/photospace/slidespace/WEB-INF/src/photospace/slide/
AbstractSimpleFileStore implements ContentStore, NodeStore,
RevisionDescriptorStore, RevisionDescriptorsStore, no-ops most of the
interface methods, and declares abstract those that you need to
implement to get basic create/remove/update/delete for files and
directories.
CountdownStore presents nested directories 10 .. 1 and a file 0.txt in
the directory 1. This structure is defined in code. You can get some
funky things to happen by trying to change this structure through a
webdav client since this implementation seems to support all
operations but does not preserve state.
SimpleFileStore is my effort to create a slide store that simply
serves an existing filesystem directory. It's working with some minor
issues that I'll get in to in a later post.
I created a stripped down webapp to work on this stuff. You can check
out the module "slidespace" following the instructions on
http://sourceforge.net/cvs/?group_id=113626 right in to your webapps
directory if you want to run the two stores.
$ cvs -d:pserver

Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-07 Thread James Mason
1. An issue I have been unable to resolve (and is perhaps related to
your question) is that when I create a file through WebDAV, my WebDAV
client (Win XP) does not display the file with its correct content
length or modificationDate. If I force a refresh of the directory
display, I see the correct values. Any thoughts on this?

I remember I had this problem as well, when I did another store 
implementation. What values are displayed? Zero? Maybe MS tries to store 
other properties, I seem to remember something like this... I am so 
forgetful these days...
Here's a list of known problems with MS WebFolders: 
http://greenbytes.de/tech/webdav/webfolder-client-list.html. I'm not 
seeing anything like you describe, but I can say for certain that 
WebFolders caches a great deal on the client. It's often quite frustrating.

2. Caching - it looks like slide uses ehcache. Is it possible to
control the cache parameters? How? I find that my WebDAV client does
not consistently pick up changes to the filesystem backing the store.
That is, changes that take place directly on the filesystem.

AFAIK ehcache is only used by the JNDI store. The rest of Slide uses 
some custom transactional caching stuff. I understand your problem. The 
cache would need to know when the file system changes in order to 
refresh. I do not think there is a way to get this done. ehcache has an 
option to invalidate entries after a certain amount of time. This would 
ne nice for Slide's cache just as well. For now, if you really need to 
to pick up the changes disable global caching completely. To do this set 
the caching mode to "cluster" with parameter "cache-mode" in Domain.xml. 
The parameter must be set for the complete store like


cluster
...
...
You can also override cacheResults() in AbstractServiceBase to return 
false (the JNDI store does this). This prevents Oliver's cache from 
grabbing your data. If you do this, I highly recommend you implement 
your own caching mechanism unless your Store is blazingly fast. Slide 
accesses a Store multiple times for a single retrieval, so lack of a 
cache can really slow things down.

As for ehcache, I believe Oliver is right. I used it for the JNDI store, 
but I don't think it's used anywhere else.

On idea, though. If you can pick up changes to the file system somehow 
you can notify the cache in ExtendedStore that the object has changed. 
ExtendedStore.removeObjectFromCache() method is what you'd need there.

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-08 Thread alon salant
Either/both sound fine. I'd like to resolve the issue with not seeing
length and modificationDate when creating a file, but I've honestly
had enough of tracing through slide. Maybe I'll get to it later on. If
you have some good direction about what I am missing, I will certainly
add it in.

Regarding your questions: for files I see no modificationDate and a 0
byte file size, for folders just no modificationDate. This is in my
Win XP DAV client. I thought that maybe I need to update these
properties in the NodeRevisionDescriptor passed in to
storeRevisionContent( ) but this did not seem to do the trick.

Regarding contributing, I just added some basic docs to my
implementation so they are ready to go. How do you want to do this? I
assume they need a minor refactor to go in the org.apache.slide.store
package namespace. Where do you want to put em? An existing package?
org.apache.slide.store.file?

Alon


On Tue, 07 Sep 2004 23:10:20 +0200, Oliver Zeigermann
<[EMAIL PROTECTED]> wrote:

> If you need any help, especially with issue 1, or are ready to
> contribute the store, let me know...

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



Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-08 Thread Oliver Zeigermann
alon salant wrote:
Either/both sound fine. I'd like to resolve the issue with not seeing
length and modificationDate when creating a file, but I've honestly
had enough of tracing through slide. Maybe I'll get to it later on. If
you have some good direction about what I am missing, I will certainly
add it in.
OK, maybe others can help once the store is inside of Slide. That's one 
of the good things when it is actually part of Slide :)

Regarding your questions: for files I see no modificationDate and a 0
byte file size, for folders just no modificationDate. This is in my
Win XP DAV client. I thought that maybe I need to update these
properties in the NodeRevisionDescriptor passed in to
storeRevisionContent( ) but this did not seem to do the trick.
Regarding contributing, I just added some basic docs to my
implementation so they are ready to go. How do you want to do this? I
assume they need a minor refactor to go in the org.apache.slide.store
package namespace. Where do you want to put em? An existing package?
org.apache.slide.store.file?
The package name org.apache.slide.store.file sounds good to me. Be sure 
to have the Apache license in all headers when you contribute the files, 
please. Might be best to create an issue in bugzilla and attach the 
files. I will check them in to the CVS then...

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


Re: Can WebDAV servlet serve non-slide-managed filesystem?

2004-09-11 Thread alon salant
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=31177

There you go.

For anyone reading earlier emails in this thread, I moved the
photospace.slide.* source to org.apache.slide.store.file in the
sourceforge CVS:

http://cvs.sourceforge.net/viewcvs.py/photospace/slidespace/WEB-INF/src/org/apache/slide/store/file

You can still check out the slidespace module to get a simple webapp
that deploys the SimpleFileStore store.

Alon

On Thu, 09 Sep 2004 08:31:01 +0200, Oliver Zeigermann
<[EMAIL PROTECTED]> wrote:

> The package name org.apache.slide.store.file sounds good to me. Be sure
> to have the Apache license in all headers when you contribute the files,
> please. Might be best to create an issue in bugzilla and attach the
> files. I will check them in to the CVS then...

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