<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to WebDAV</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>Recent changes to WebDAV</description><atom:link href="https://sourceforge.net/p/coils/wiki/WebDAV/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 26 Feb 2013 10:53:25 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/coils/wiki/WebDAV/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v16
+++ v17
@@ -6,9 +6,9 @@

 #WebDAV#

-
-
 The base class for WebDAV presentation is coils.net.foundation.DAV.  From this class is derived DAVObject and DAVFolder.
+
+See [Standards &amp; Specifications](Standards) for a list of reference documents.

 ##Name Spaces##

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 26 Feb 2013 10:53:25 -0000</pubDate><guid>https://sourceforge.net9f1b0c08bf4110227fc7d4cdd09726a07340dbe3</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v15
+++ v16
@@ -45,6 +45,8 @@
 
 ##PROPFIND
 
+   - [Fake PROPFIND Requests](wiki:FakePROPFINDRequests)
+
 PROPFIND requests have a maximum depth of 25.  An infinite depth is changed to a depth of 25; inifinite depth searches are not supported.
 
    - Infinite depth PROPFINDs are ___stupid___ and should never have existed in the WebDAV specification.  Designers... really?  What were you thinking?
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Mon, 03 Dec 2012 10:58:53 -0000</pubDate><guid>https://sourceforge.net082e79ed4338e4a46f2e260aac21e2501188867c</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 17:47:18 -0000</pubDate><guid>https://sourceforge.netb6b7edbc058a1456dd3df4d3625c7c400bb99aaa</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v13
+++ v14
@@ -41,7 +41,7 @@
 
 ##Properties
 
-   - [WebDAV Properties](wiki:WebDAVProperties)
+   - [WebDAV Properties](wiki:DAVProperties)
 
 ##PROPFIND
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 17:47:16 -0000</pubDate><guid>https://sourceforge.net85830a8bd75ad1bf3172ad7ed802845d73ba0fee</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v12
+++ v13
@@ -39,6 +39,10 @@
 
 Name spaces are defined in "coils/net/foundation/reports/namespaces.py"
 
+##Properties
+
+   - [WebDAV Properties](wiki:WebDAVProperties)
+
 ##PROPFIND
 
 PROPFIND requests have a maximum depth of 25.  An infinite depth is changed to a depth of 25; inifinite depth searches are not supported.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 17:46:07 -0000</pubDate><guid>https://sourceforge.net273f82b39eb8de05ed583b970abe069056f95484</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v11
+++ v12
@@ -155,8 +155,17 @@
 
 ##LOCKING
 
+Locking and unlocking of objects is managed using the [LockManager].  The WebDAV layer maps WebDAV LOCK and UNLOCK requests to lock and unlock requests to the [LockManager].  
+
+The lock identifier is a "token" string which is operationally the same as using a GUID except that it always begins with the string "opaquelocktoken:"  - this is per the WebDAV specification.
+
 See [Faking LOCK &amp; UNLOCK Requests](wiki:FakeLockRequests)
 
+### Related Bugs
+
+   - [#24] -  Implement LOCK / UNLOCK on documents 
+
+### LOCK Operations
 
 __A Typical Lock Request__
 
@@ -207,3 +216,5 @@
         &lt;/D:activelock&gt;
       &lt;/D:lockdiscovery&gt;
     &lt;/D:prop&gt;
+
+### UNLOCK Operations
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 11:50:33 -0000</pubDate><guid>https://sourceforge.netf91c5a20c49474a045bf14a3fd1183b9591a7b89</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v10
+++ v11
@@ -1,6 +1,12 @@
 [Clients] [User Agent Management](UserAgents) [CardDAV](wiki:CardDAV) [CalDAV](wiki:CalDAV)
 
+[TOC]
+
+--
+
 #WebDAV#
+
+
 
 The base class for WebDAV presentation is coils.net.foundation.DAV.  From this class is derived DAVObject and DAVFolder.
 
@@ -149,7 +155,7 @@
 
 ##LOCKING
 
-See [Faking LOCK &amp; UNLOCK Requests](wiki:FakeLOCKRequests)
+See [Faking LOCK &amp; UNLOCK Requests](wiki:FakeLockRequests)
 
 
 __A Typical Lock Request__
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 11:29:11 -0000</pubDate><guid>https://sourceforge.net039637dd8f984b5a1e052658343e051ab37bf7c2</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v9
+++ v10
@@ -149,6 +149,9 @@
 
 ##LOCKING
 
+See [Faking LOCK &amp; UNLOCK Requests](wiki:FakeLOCKRequests)
+
+
 __A Typical Lock Request__
 
     LOCK /dav/Projects/test123/Documents/ComericaPositivePayIn.yaml HTTP/1.0
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 11:27:34 -0000</pubDate><guid>https://sourceforge.net4c24b896db47474631ab2ac1e13aaeab8d92fa67</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v8
+++ v9
@@ -38,6 +38,8 @@
 PROPFIND requests have a maximum depth of 25.  An infinite depth is changed to a depth of 25; inifinite depth searches are not supported.
 
    - Infinite depth PROPFINDs are ___stupid___ and should never have existed in the WebDAV specification.  Designers... really?  What were you thinking?
+      - Fortunately the vast majority of clients are sane - they don't want infinite (or just massive) results either and they only issue Depth 0 and 1 requests.
+      - In spite of the spec saying there are three depths: 0, 1, and infinite;  Coils is happy with any depth between 0 and 25 \(inclusive\).  But if you do that with your client it will probably break for any server other than Coils.  So just use 0 or 1.
 
 A PROPFIND's payload is parsed using the coils.net.foundation.reports.Parser (static) __propfind__ method.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 11:02:36 -0000</pubDate><guid>https://sourceforge.net76d54e7587b4f1cfd3d8dd5b56de9c060c9b6375</guid></item><item><title>WikiPage WebDAV modified by Adam Tauno Williams</title><link>https://sourceforge.net/p/coils/wiki/WebDAV/</link><description>&lt;pre&gt;--- v7
+++ v8
@@ -33,7 +33,7 @@
 
 Name spaces are defined in "coils/net/foundation/reports/namespaces.py"
 
-##PROPFIND##
+##PROPFIND
 
 PROPFIND requests have a maximum depth of 25.  An infinite depth is changed to a depth of 25; inifinite depth searches are not supported.
 
@@ -87,3 +87,112 @@
         'D': 'DAV:',
         'E': 'urn:ietf:params:xml:ns:cardav',
         'G': 'http://groupdav.org/' } )
+
+
+##PROPATCH
+
+Property patching is how a WebDAV client modifies the meta-data of an object.
+
+__A Typical PROPATCH Request__
+
+    PROPPATCH /dav/Projects/test123/Documents/ComericaPositivePayIn.yaml HTTP/1.0
+    Host: coils.wmmi.net
+    Connection: close
+    Cache-Control: no-cache
+    Pragma: no-cache
+    Content-Type: text/xml; charset="utf-8"
+    User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601
+    If: (&lt;opaquelocktoken:08e7b8a645c7423eb4ddccd0fec80fc2&gt;)
+    translate: f
+    Content-Length: 388
+    Authorization: Basic YXdpbGxpYW06
+    
+    &lt;?xml version="1.0" encoding="utf-8" ?&gt;
+    &lt;D:propertyupdate xmlns:D="DAV:" xmlns:Z="urn:schemas-microsoft-com:"&gt;
+        &lt;D:set&gt;
+            &lt;D:prop&gt;
+                &lt;Z:Win32CreationTime&gt;Mon, 26 Nov 2012 22:48:16 GMT&lt;/Z:Win32CreationTime&gt;
+                &lt;Z:Win32LastAccessTime&gt;Tue, 27 Nov 2012 10:46:41 GMT&lt;/Z:Win32LastAccessTime&gt;
+                &lt;Z:Win32LastModifiedTime&gt;Tue, 27 Nov 2012 10:46:41 GMT&lt;/Z:Win32LastModifiedTime&gt;
+            &lt;/D:prop&gt;
+        &lt;/D:set&gt;
+    &lt;/D:propertyupdate&gt;
+
+__Response__
+
+    HTTP/1.0 207 Multistatus
+    Server: BaseHTTP/0.3 Python/2.7.3
+    Date: Tue, 27 Nov 2012 10:46:38 GMT
+    Content-Length: 684
+    Content-Type: text/xml; charset=UTF-8
+    
+    &lt;?xml version="1.0" encoding="utf-8"?&gt;
+    &lt;D:multistatus xmlns:J="urn:schemas-microsoft-com:" xmlns:G="http://groupdav.org/" xmlns:E="urn:ietf:params:xml:ns:carddav" xmlns:D="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:A="http://apache.org/dav/props/"&gt;
+      &lt;D:response&gt;
+        &lt;D:propstat&gt;
+          &lt;D:prop&gt;&lt;J:Win32CreationTime/&gt;&lt;/D:prop&gt;
+          &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
+        &lt;/D:propstat&gt;
+        &lt;D:propstat&gt;
+          &lt;D:prop&gt;&lt;J:Win32LastAccessTime/&gt;&lt;/D:prop&gt;
+          &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
+        &lt;/D:propstat&gt;
+        &lt;D:propstat&gt;
+          &lt;D:prop&gt;&lt;J:Win32LastModifiedTime/&gt;&lt;/D:prop&gt;
+          &lt;D:status&gt;HTTP/1.1 200 OK&lt;/D:status&gt;
+        &lt;/D:propstat&gt;
+      &lt;/D:response&gt;
+    &lt;/D:multistatus&gt;
+
+
+##LOCKING
+
+__A Typical Lock Request__
+
+    LOCK /dav/Projects/test123/Documents/ComericaPositivePayIn.yaml HTTP/1.0
+    Host: coils.wmmi.net
+    Connection: close
+    Cache-Control: no-cache
+    Pragma: no-cache
+    Content-Type: text/xml; charset="utf-8"
+    User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601
+    translate: f
+    Timeout: Second-3600
+    Content-Length: 199
+    Authorization: Basic YXdpbGxpYW06
+    
+    &lt;?xml version="1.0" encoding="utf-8" ?&gt;
+    &lt;D:lockinfo xmlns:D="DAV:"&gt;
+        &lt;D:lockscope&gt;&lt;D:exclusive/&gt;&lt;/D:lockscope&gt;
+        &lt;D:locktype&gt;&lt;D:write/&gt;&lt;/D:locktype&gt;
+        &lt;D:owner&gt;&lt;D:href&gt;awilliam&lt;/D:href&gt;&lt;/D:owner&gt;
+    &lt;/D:lockinfo&gt;
+
+__Response__
+
+    HTTP/1.0 200 OK
+    Server: BaseHTTP/0.3 Python/2.7.3
+    Date: Tue, 27 Nov 2012 10:46:37 GMT
+    Content-Length: 516
+    Content-Type: text/xml; charset=UTF-8
+    Lock-Token: opaquelocktoken:opaquelocktoken:08e7b8a645c7423eb4ddccd0fec80fc2
+    
+    &lt;?xml version="1.0" encoding="utf-8"?&gt;
+    &lt;D:prop xmlns:D="DAV"&gt;
+      &lt;D:lockdiscovery&gt;
+        &lt;D:activelock&gt;
+          &lt;D:locktype&gt;
+            &lt;D:write/&gt;
+          &lt;/D:locktype&gt;
+          &lt;D:lockscope&gt;
+            &lt;D:exclusive/&gt;
+          &lt;/D:lockscope&gt;
+          &lt;D:depth&gt;0&lt;/D:depth&gt;
+          &lt;D:owner xmlns:D="DAV:"&gt;&lt;D:href&gt;awilliam&lt;/D:href&gt;&lt;/D:owner&gt;
+          &lt;D:timeout&gt;Second-3600&lt;/D:timeout&gt;
+          &lt;D:locktoken&gt;
+            &lt;D:href&gt;opaquelocktoken:08e7b8a645c7423eb4ddccd0fec80fc2&lt;/D:href&gt;
+          &lt;/D:locktoken&gt;
+        &lt;/D:activelock&gt;
+      &lt;/D:lockdiscovery&gt;
+    &lt;/D:prop&gt;
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam Tauno Williams</dc:creator><pubDate>Tue, 27 Nov 2012 10:58:44 -0000</pubDate><guid>https://sourceforge.netec574fef9de69dd7c9077c57d8bf2673364ed382</guid></item></channel></rss>