[Cyberduck-trac] [Cyberduck] #7827: Upload strategy when editing remote file should be configurable

Cyberduck trac at trac.cyberduck.io
Sat Mar 1 23:58:58 UTC 2014


#7827: Upload strategy when editing remote file should be configurable
------------------------------------+---------------------------
 Reporter:  konstantin khilkevitch  |         Owner:  dkocher
     Type:  enhancement             |        Status:  closed
 Priority:  normal                  |     Milestone:  4.4.4
Component:  webdav                  |       Version:  4.4.3
 Severity:  normal                  |    Resolution:  worksforme
 Keywords:  webdav                  |  Architecture:  Intel
 Platform:  Mac OS X 10.9           |
------------------------------------+---------------------------
Description changed by konstantin khilkevitch:

Old description:

> When remote file that has been fetched for editing is uploaded back to a
> WebDAV server, Cyberduck does the file name shuffle (PUT / MOVE) (for
> safety? HTTP exchange example is below). Perhaps, this behaviour should
> be configurable; i.e. a user should be able to choose in prefs whether
> the shuffle is performed or the file is uploaded (PUT) directly.
>
> The reason for this suggestion is that WebDAV server may not be be able
> to retain versioning information for the target file when such a shuffle
> is performed.
>
> In my case, it is the WebDAV interface of the Box.com service. When
> edited file is put back on box.com server, file versioning information is
> lost.
>
> {{{
> PUT /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx-
> f040baf0-5c30-45b4-8ab0-f697e42ba6d6 HTTP/1.1
> Expect: 100-continue
> Content-Length: 68151
> Content-Type: application/vnd.openxmlformats-
> officedocument.wordprocessingml.document
> Host: dav.box.com
> Connection: Keep-Alive
> User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
> Authorization: Basic xxxxx
> HTTP/1.1 201 Created
> Server: nginx
> Date: Fri, 28 Feb 2014 20:43:03 GMT
> Content-Type: text/html; charset=UTF-8
> Content-Length: 0
> Connection: keep-alive
> ETag: "db66b2b5448ed1e752e80a493a9c850d7ada59be"
>

> MOVE /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx-
> f040baf0-5c30-45b4-8ab0-f697e42ba6d6 HTTP/1.1
> Destination: https://dav.box.com/dav/Stuff/Leo%20Ent%20Invoice%20No1.docx
> Overwrite: T
> Host: dav.box.com
> Connection: Keep-Alive
> User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
> Authorization: Basic xxxxx
> HTTP/1.1 204 No Content
> Server: nginx
> Date: Fri, 28 Feb 2014 20:43:05 GMT
> Content-Type: text/html; charset=UTF-8
> Content-Length: 0
> Connection: keep-alive
> Vary: Host
>
> HEAD /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx HTTP/1.1
> Host: dav.box.com
> Connection: Keep-Alive
> User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
> Authorization: Basic azJAc29mdHdhcmVhY3JvYmF0aWNzLmNvbTpzcDAwdG4hSw==
> HTTP/1.1 200 OK
> Server: nginx
> Date: Fri, 28 Feb 2014 20:44:14 GMT
> Content-Type: application/vnd.openxmlformats-
> officedocument.wordprocessingml.document
> Content-Length: 68151
> Connection: keep-alive
> Vary: Host
> Last-Modified: Fri, 28 Feb 2014 20:43:04 GMT
> ETag: "db66b2b5448ed1e752e80a493a9c850d7ada59be"
> }}}

New description:

 When remote file that has been fetched for editing is uploaded back to a
 WebDAV server, Cyberduck does the file name shuffle (PUT / MOVE) (for
 safety? HTTP exchange example is below). Perhaps, this behaviour should be
 configurable; i.e. a user should be able to choose in prefs whether the
 shuffle is performed or the file is uploaded (PUT) directly.

 The reason for this suggestion is that WebDAV server may not be be able to
 retain versioning information for the target file when such a shuffle is
 performed.

 In my case, it is the WebDAV interface of the Box.com service. When edited
 file is put back on box.com server, file versioning information is lost.

 {{{
 PUT /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx-
 f040baf0-5c30-45b4-8ab0-f697e42ba6d6 HTTP/1.1
 Expect: 100-continue
 Content-Length: 68151
 Content-Type: application/vnd.openxmlformats-
 officedocument.wordprocessingml.document
 Host: dav.box.com
 Connection: Keep-Alive
 User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
 Authorization: Basic xxxxx
 HTTP/1.1 201 Created
 Server: nginx
 Date: Fri, 28 Feb 2014 20:43:03 GMT
 Content-Type: text/html; charset=UTF-8
 Content-Length: 0
 Connection: keep-alive
 ETag: "db66b2b5448ed1e752e80a493a9c850d7ada59be"


 MOVE /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx-
 f040baf0-5c30-45b4-8ab0-f697e42ba6d6 HTTP/1.1
 Destination: https://dav.box.com/dav/Stuff/Leo%20Ent%20Invoice%20No1.docx
 Overwrite: T
 Host: dav.box.com
 Connection: Keep-Alive
 User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
 Authorization: Basic xxxxx
 HTTP/1.1 204 No Content
 Server: nginx
 Date: Fri, 28 Feb 2014 20:43:05 GMT
 Content-Type: text/html; charset=UTF-8
 Content-Length: 0
 Connection: keep-alive
 Vary: Host

 HEAD /dav/Stuff/Leo%20Ent%20Invoice%20No1.docx HTTP/1.1
 Host: dav.box.com
 Connection: Keep-Alive
 User-Agent: Cyberduck/4.4.3 (Mac OS X/10.9.2) (x86_64)
 Authorization: Basic xxxxxx
 HTTP/1.1 200 OK
 Server: nginx
 Date: Fri, 28 Feb 2014 20:44:14 GMT
 Content-Type: application/vnd.openxmlformats-
 officedocument.wordprocessingml.document
 Content-Length: 68151
 Connection: keep-alive
 Vary: Host
 Last-Modified: Fri, 28 Feb 2014 20:43:04 GMT
 ETag: "db66b2b5448ed1e752e80a493a9c850d7ada59be"
 }}}

--

-- 
Ticket URL: <https://trac.cyberduck.io/ticket/7827#comment:4>
Cyberduck <http://cyberduck.io>
Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows


More information about the Cyberduck-trac mailing list