On 6/13/06, Lixin Chu <[EMAIL PROTECTED]> wrote:
Hi Marco,
I am also interested in how you organize your private folder where you keep
the resource/user/type information.


Well, my problem was that I had to enable users to watch files in a
document management system,

ROOT -
            |
             --- user ( as collection )
                             |
                             --- UrlEncoder.encode(path/to/resource)
( as collection )

where ROOT is the root path of your private directory ( collection ) .
The user collection has the same name as the username; I keep the
e-mail address as a property of the collection .
Each path has a property that says which type of subscriptions are
submitted for the current user.

Then, in my servlet, I create a listener on the ROOT directory, so
that I am notified of every change in the tree and I can operate with
subscribing & unsubscribing in the servlet itself. The system operates
in the directory ( never directly on webdav subscriptions ) : there is
only one class that minds about the callbacks.

More, internally ( in memory ) data is organized a little differently
than on disk : since you get the callback for the resource ( a path )
you need to organize data in maps that have
UrlEncoder.encode(path/to/resource) as key and the list of users
subscribed as data.

Another pit : I had ( on a tomcat based server ) to put the
initialization of the servlet ( reading the dav tree and so on ) in a
separate thread ... it was stopping the server for too long making
impossible for the webdav server to start up properly.



cheers

Marco

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

Reply via email to