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 Stefan Lützkendorf <lu...@apache.org> on 2004/07/13 12:27:13 UTC

WebDAV and Notifications

I have added some support for WebDAV-notifications to the client library.
(Not yet completly finished)

Now I have some questions about our server implementation:

1. the POLL method returns some thing like
         <?xml version="1.0" encoding="UTF-8"?>
         <multistatus xmlns="DAV:">
           <response>
             <href>/c</href>
             <status>HTTP/1.1 200 OK</status>
             <N:subscriptionID xmlns:N="http://schemas.microsoft.com/Exchange/">
               <li>12</li>
               <N:event>
                 <N:information name="uri">/c/test.html</N:information>
               </N:event>
             </N:subscriptionID>
           </response>
         </multistatus>
   I found no specification about the event and the information tag.
   It contains information about the resources which are changed.
   That's really usefull information!
   Is there any spec about it?
   It is an extension of an extension, and I'm not sure how to support
   this in the webdav client lib.
   Is it OK to support it by special methods and comment it as extension?

2. what makes the EVENT method

3. Currently Subscriptions are transient. I.e. if the server restarts,
   all subscriptions are lost. So observation of an WebDAV server may be
   incomplete.
   Has anybody thought about makeing subscriptions persitent?
   I think about storing them as resources under a special path
   (configurable, something like /subscriptions). Events catched for the
   subscriptions must be stored too, may be as content of the resource.

Any thoughts?

Thanks, Stefan

-- 
+--------------------------------------------+
|                                            |
|  Stefan Lützkendorf                        |
|                                            |
|  Institut für Terminologie und             |
|  angewandte Wissensforschung (itaw) GmbH   |
|                                            |
|  Sitz: Georgenstr. 35                      |
|        10117 Berlin                        |
|  Tel.: ++49 (030) 30 86 20 84              |
|  Fax : ++49 (030) 30 86 20 87              |
|                                            |
+--------------------------------------------+


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


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.

Stefan Lützkendorf wrote:

> 
> Oliver Zeigermann wrote:
> 
>> Stefan Lützkendorf wrote:
>>
>>>
>>> Oliver Zeigermann wrote:
>>>
>>>> Stefan Lützkendorf wrote:
>>>>
>>>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>>>   all subscriptions are lost. So observation of an WebDAV server 
>>>>> may be
>>>>>   incomplete.
>>>>>   Has anybody thought about makeing subscriptions persitent?
>>>>>   I think about storing them as resources under a special path
>>>>>   (configurable, something like /subscriptions). Events catched for 
>>>>> the
>>>>>   subscriptions must be stored too, may be as content of the resource.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Hmmm. What is the use case you have in mind for persistent 
>>>> subscriptions? I know Daniel had something in mind like clustering, 
>>>> multiple edit clients that are notified of each other changes, etc. 
>>>> I do not think they would need persistent subscriptions.
>>>>
>>>> Anyway, what is your idea?
>>>
>>>
>>>
>>> I thougth about an application that observes a webdav server, maybe to
>>> index documents, or to keep a workflow system uptodate.
>>> If the webdav server application is restarted, for what reasons ever,
>>> there will be a time where changes on the webdav server are lost,
>>
>>
>>
>> I see. So maybe it should be configurable in a header or wherever if 
>> the subscription shall be persistet. Maybe also something like a 
>> timeout or time to live for a persistent subscription. Storing it to 
>> /subscriptions as an ordinary resource, maybe encoded in XML, sounds 
>> like a good idea to me.
>>
>> Do you volunteer to persue this? If so, will it be ready for a beta in 
>> early August?
>>
> Early August will be to early, but I'll persue this.

Great! No hurry, keep it fun and let's see how this evolves...

Oliver

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


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Oliver Zeigermann wrote:
> Stefan Lützkendorf wrote:
> 
>>
>> Oliver Zeigermann wrote:
>>
>>> Stefan Lützkendorf wrote:
>>>
>>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>>   all subscriptions are lost. So observation of an WebDAV server may be
>>>>   incomplete.
>>>>   Has anybody thought about makeing subscriptions persitent?
>>>>   I think about storing them as resources under a special path
>>>>   (configurable, something like /subscriptions). Events catched for the
>>>>   subscriptions must be stored too, may be as content of the resource.
>>>
>>>
>>>
>>>
>>> Hmmm. What is the use case you have in mind for persistent 
>>> subscriptions? I know Daniel had something in mind like clustering, 
>>> multiple edit clients that are notified of each other changes, etc. I 
>>> do not think they would need persistent subscriptions.
>>>
>>> Anyway, what is your idea?
>>
>>
>> I thougth about an application that observes a webdav server, maybe to
>> index documents, or to keep a workflow system uptodate.
>> If the webdav server application is restarted, for what reasons ever,
>> there will be a time where changes on the webdav server are lost,
> 
> 
> I see. So maybe it should be configurable in a header or wherever if the 
> subscription shall be persistet. Maybe also something like a timeout or 
> time to live for a persistent subscription. Storing it to /subscriptions 
> as an ordinary resource, maybe encoded in XML, sounds like a good idea 
> to me.
> 
> Do you volunteer to persue this? If so, will it be ready for a beta in 
> early August?
> 
Early August will be to early, but I'll persue this.

Regards, Stefan


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


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Stefan Lützkendorf wrote:

> 
> Oliver Zeigermann wrote:
> 
>> Stefan Lützkendorf wrote:
>>
>>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>>   all subscriptions are lost. So observation of an WebDAV server may be
>>>   incomplete.
>>>   Has anybody thought about makeing subscriptions persitent?
>>>   I think about storing them as resources under a special path
>>>   (configurable, something like /subscriptions). Events catched for the
>>>   subscriptions must be stored too, may be as content of the resource.
>>
>>
>>
>> Hmmm. What is the use case you have in mind for persistent 
>> subscriptions? I know Daniel had something in mind like clustering, 
>> multiple edit clients that are notified of each other changes, etc. I 
>> do not think they would need persistent subscriptions.
>>
>> Anyway, what is your idea?
> 
> I thougth about an application that observes a webdav server, maybe to
> index documents, or to keep a workflow system uptodate.
> If the webdav server application is restarted, for what reasons ever,
> there will be a time where changes on the webdav server are lost,

I see. So maybe it should be configurable in a header or wherever if the 
subscription shall be persistet. Maybe also something like a timeout or 
time to live for a persistent subscription. Storing it to /subscriptions 
as an ordinary resource, maybe encoded in XML, sounds like a good idea 
to me.

Do you volunteer to persue this? If so, will it be ready for a beta in 
early August?

Cheers,
Oliver



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


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Oliver Zeigermann wrote:
> Stefan Lützkendorf wrote:
> 
>> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>>   all subscriptions are lost. So observation of an WebDAV server may be
>>   incomplete.
>>   Has anybody thought about makeing subscriptions persitent?
>>   I think about storing them as resources under a special path
>>   (configurable, something like /subscriptions). Events catched for the
>>   subscriptions must be stored too, may be as content of the resource.
> 
> 
> Hmmm. What is the use case you have in mind for persistent 
> subscriptions? I know Daniel had something in mind like clustering, 
> multiple edit clients that are notified of each other changes, etc. I do 
> not think they would need persistent subscriptions.
> 
> Anyway, what is your idea?
I thougth about an application that observes a webdav server, maybe to
index documents, or to keep a workflow system uptodate.
If the webdav server application is restarted, for what reasons ever,
there will be a time where changes on the webdav server are lost,
i.e. the observer is not informed, until it subscribes again.
If subscriptions are persitent, the server knows about them afer restart,
and no interruption of the observation does occur.

May be it is sufficent to have short subscription lifetimes, and
refresh the subscriptions often, so the interuption may be short
enought.

> 
> Oliver



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


Re: WebDAV and Notifications

Posted by Stefan Lützkendorf <lu...@apache.org>.
Michael Oliver wrote:
> I am starting work on a persistent mechanism for storing the
> subscriptions in xml in a particular path.

Fine!

> 
> Then I will be creating (already started) a secondary store to plug into
> our primary XML store to match subscriptions to the uri of the content
> store methods and use those matches to generate am email queue from the
> subscriptions, in another path.  Then we have a cron admin daemon that
> will scan that path and pick up and send the messages.
> 
> Michael Oliver
> CTO
> Matrix Intermedia Inc.
> 3325 N. Nellis Blvd, #1
> Las Vegas, NV 89115
> Phone:(702)643-7425
> Fax:(520)844-1036
> 
> -----Original Message-----
> From: Oliver Zeigermann [mailto:ozeigermann@c1-fse.de] 
> Sent: Tuesday, July 13, 2004 4:25 AM
> To: Slide Developers Mailing List
> Subject: Re: WebDAV and Notifications
> 
> Stefan Lützkendorf wrote:
> 
>>3. Currently Subscriptions are transient. I.e. if the server restarts,
>>  all subscriptions are lost. So observation of an WebDAV server may
> 
> be
> 
>>  incomplete.
>>  Has anybody thought about makeing subscriptions persitent?
>>  I think about storing them as resources under a special path
>>  (configurable, something like /subscriptions). Events catched for
> 
> the
> 
>>  subscriptions must be stored too, may be as content of the resource.
> 
> 
> Hmmm. What is the use case you have in mind for persistent 
> subscriptions? I know Daniel had something in mind like clustering, 
> multiple edit clients that are notified of each other changes, etc. I do
> 
> not think they would need persistent subscriptions.
> 
> Anyway, what is your idea?
> 
> Oliver
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: slide-dev-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: slide-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: slide-dev-help@jakarta.apache.org
> 
> 



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


RE: WebDAV and Notifications

Posted by Michael Oliver <ol...@matrix-media.com>.
I am starting work on a persistent mechanism for storing the
subscriptions in xml in a particular path.

Then I will be creating (already started) a secondary store to plug into
our primary XML store to match subscriptions to the uri of the content
store methods and use those matches to generate am email queue from the
subscriptions, in another path.  Then we have a cron admin daemon that
will scan that path and pick up and send the messages.

Michael Oliver
CTO
Matrix Intermedia Inc.
3325 N. Nellis Blvd, #1
Las Vegas, NV 89115
Phone:(702)643-7425
Fax:(520)844-1036

-----Original Message-----
From: Oliver Zeigermann [mailto:ozeigermann@c1-fse.de] 
Sent: Tuesday, July 13, 2004 4:25 AM
To: Slide Developers Mailing List
Subject: Re: WebDAV and Notifications

Stefan Lützkendorf wrote:
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may
be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for
the
>   subscriptions must be stored too, may be as content of the resource.

Hmmm. What is the use case you have in mind for persistent 
subscriptions? I know Daniel had something in mind like clustering, 
multiple edit clients that are notified of each other changes, etc. I do

not think they would need persistent subscriptions.

Anyway, what is your idea?

Oliver

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


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


Re: WebDAV and Notifications

Posted by Oliver Zeigermann <oz...@c1-fse.de>.
Stefan Lützkendorf wrote:
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for the
>   subscriptions must be stored too, may be as content of the resource.

Hmmm. What is the use case you have in mind for persistent 
subscriptions? I know Daniel had something in mind like clustering, 
multiple edit clients that are notified of each other changes, etc. I do 
not think they would need persistent subscriptions.

Anyway, what is your idea?

Oliver

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


Re: WebDAV and Notifications

Posted by Daniel Florey <df...@apache.org>.
Hi Stefan,
nice to see that you are dealing with events...
See my comments below

Stefan Lützkendorf schrieb:

> I have added some support for WebDAV-notifications to the client library.
> (Not yet completly finished)
>
> Now I have some questions about our server implementation:
>
> 1. the POLL method returns some thing like
>         <?xml version="1.0" encoding="UTF-8"?>
>         <multistatus xmlns="DAV:">
>           <response>
>             <href>/c</href>
>             <status>HTTP/1.1 200 OK</status>
>             <N:subscriptionID 
> xmlns:N="http://schemas.microsoft.com/Exchange/">
>               <li>12</li>
>               <N:event>
>                 <N:information name="uri">/c/test.html</N:information>
>               </N:event>
>             </N:subscriptionID>
>           </response>
>         </multistatus>
>   I found no specification about the event and the information tag.
>   It contains information about the resources which are changed.
>   That's really usefull information!
>   Is there any spec about it?
>   It is an extension of an extension, and I'm not sure how to support
>   this in the webdav client lib.
>   Is it OK to support it by special methods and comment it as extension?

I've introduced this event information tag to enable events to add 
specific data to the occured event.
To add this information to an event just implement the RemoteInformation 
interface. Have a look at the ResourceEvent class to understand how it 
works. It's really simple.
As it is Slide specific and event specific there is no spec about it. 
I'm not sure if we should use this (nice) feature as Exchange does not 
provide this kind of information. If an application using notifications 
should work with Slide and Exchange it will not work anymore if the 
application relies on this additional information. So I've dropped this 
approach for the Projector framework.

>
> 2. what makes the EVENT method

The EVENT methods can be used to fire a custom event. This might be 
useful if you are having a clustered client side application and you 
want to use Slide to distribute some events to all listeners. I don't 
know if this is really useful. What do you think?

>
> 3. Currently Subscriptions are transient. I.e. if the server restarts,
>   all subscriptions are lost. So observation of an WebDAV server may be
>   incomplete.
>   Has anybody thought about makeing subscriptions persitent?
>   I think about storing them as resources under a special path
>   (configurable, something like /subscriptions). Events catched for the
>   subscriptions must be stored too, may be as content of the resource.
>
> Any thoughts?

This might be a solution but might slow down Slide. Any work in this 
area is very welcome!
Regards,
Daniel

>
> Thanks, Stefan
>


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