New beta plugin: WebDAV (WebFolders)

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Stefan2, white, sheep, Hacker

Post Reply
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37630
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

New beta plugin: WebDAV (WebFolders)

Post by *ghisler(Author) » 2004-04-09, 14:55 UTC

Hi all!

I have written a new file system plugin for Total Commander: WebDAV.

What is WebDAV? It is sometimes also called web folders, and is an enhanced HTTP protocol. Normally HTTP supports only commands like GET (downloads), PUT (uploads) and POST (post form data). WebDAV adds some more commands, like PROPFIND to get the directory contents.

The plugin is open source because it uses some (non-gpl) open source code. Please read the ReadMe file for details.

You can download the plugin here
The source code is available here

The plugin has been tested with the following WebDAV servers:
- Apache with mod_dav running on Linux and Windows
- Microsoft Internet Information server (IIS)
- Tamino WebDAV server (Software AG)
- Xythos WebDAV server, you can get a free test account on http://www.sharemation.com
- Web.de webdav services (no feedback yet)
- NEW: QR-Code scanner to connect to our WebDAV server on Android and Windows Phone!

Requirements: The plugin uses the WinInet library, so it requires an installed Microsoft Internet Explorer 4.01 or newer. The plugin supports both HTTP and HTTPS (through WinInet).

To the maintainers of clubtotal.tk and totalcmd.net: Please do NOT put this plugin on your sites yet! It is in an early beta stage.

Feedback is welcome!

Christian Ghisler
Last edited by ghisler(Author) on 2015-02-19, 10:43 UTC, edited 5 times in total.
Author of Total Commander
http://www.ghisler.com

User avatar
Horst.Epp
Power Member
Power Member
Posts: 3399
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Works with 1&1 in Germany

Post by *Horst.Epp » 2004-04-09, 16:23 UTC

Works fine with 1&1 WebDAV in Germany,
after I found that I should not have the https:// prefix in my server name.
:D

User avatar
Lefteous
Power Member
Power Member
Posts: 9457
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous » 2004-04-09, 21:23 UTC

2ghisler(Author)

My ISP 1&1 introduced a new service on April 1st. The first thought came to my mind was "Oh no a great service (extra 1000MB for free) but this useless webinterface. I will never use it until someone writes a Total Commander plugin...
Now - after a few days - I've got a great file system plugin for Total Commander.

Thank you very much for this great plugin. :D

Suggestions:
1. Maybe some well known WEBDAV provider configurations such as "1 und 1" could be distributed with the plugin.
2. Don't forget about the new "Server" plugin type. :wink:

Just one questions The progressbar shows a progress during entering folders. Normally the progress stops at about 4-8% and then enters the dir immediately. Is it by design?


2Horst.Epp
Works fine with 1&1 WebDAV in Germany,
after I found that I should not have the https:// prefix in my server name.
Could you please post your complete settings.

My settings:
Connect to: mediacenter.1und1.de/
Secure server (via SSL) checked or not both works fine. Any idea why?
URLs in UTF-8: Not Checked
Use 3-step upload: Not checked

"1 und 1" seems to run Apache :wink:

User avatar
Horst.Epp
Power Member
Power Member
Posts: 3399
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp » 2004-04-10, 12:19 UTC

2 Lefteous
I have the same settings as you.
Works regardless of the SSL setting.
As you said, this service only makes sense with such a plugin.

Christian is the greatest.
Plugins make the big difference to the competitions.

User avatar
fnheiden
Senior Member
Senior Member
Posts: 228
Joined: 2003-02-16, 12:06 UTC
Location: Dresden, Germany
Contact:

Post by *fnheiden » 2004-04-10, 15:53 UTC

Christian,

nice plugin - thanks for that one :)

It works fine for my account at mc.1und1.de but I've noticed that the Cancel button does not work during uploads.

Best regards,
~ Florian

User avatar
Horst.Epp
Power Member
Power Member
Posts: 3399
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp » 2004-04-11, 15:44 UTC

2 Christian
can you please add a background button,
as large DSL uploads can take a long time.

User avatar
norfie
Power Member
Power Member
Posts: 1194
Joined: 2003-02-18, 14:18 UTC

Post by *norfie » 2004-04-12, 20:27 UTC

Last edited by norfie on 2004-09-11, 08:01 UTC, edited 1 time in total.

User avatar
Horst.Epp
Power Member
Power Member
Posts: 3399
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp » 2004-04-13, 12:39 UTC

norfie wrote:
Feedback is welcome!
If use https:// in server-path then I get an access violation:

Code: Select all

Access violation at address 01BF1DDD. Read of address 016F5BCF
Log windows shows

Code: Select all

CONNECT \xxx
Get dir: //xxx.xxx.net
W98SE, TCmd V6.02


What is the benefit of this plugin over normal windows webfolders?[/b]
You should not enter https:// in front of your server name
Use just the name.

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37630
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2004-04-14, 16:20 UTC

Maybe some well known WEBDAV provider configurations such as "1 und 1" could be distributed with the plugin.
Good idea! However, when a provider changes the server (or even server version), it may stop working.
after I found that I should not have the https:// prefix in my server name.
Indeed the https wasn't supported, http was. I have modified the plugin to also accept https. However, the 'secure' option still needs to be checked.
I've noticed that the Cancel button does not work during uploads
Hmm, this works fine here - on which step does the upload hang? Please use the detailed log option.
can you please add a background button,
as large DSL uploads can take a long time.
Unfortunately plugins don't currently support background operation - especially because most plugins aren't thread-safe. I may add this in the future via a separate set of functions.
If use https:// in server-path then I get an access violation:
Seems to be a Win98 error - I don't get one on Win2k. Please re-download the plugin, the new version should work with https prefix too now.
Author of Total Commander
http://www.ghisler.com

User avatar
norfie
Power Member
Power Member
Posts: 1194
Joined: 2003-02-18, 14:18 UTC

Post by *norfie » 2004-04-14, 16:49 UTC

Last edited by norfie on 2004-09-11, 08:08 UTC, edited 1 time in total.

User avatar
fnheiden
Senior Member
Senior Member
Posts: 228
Joined: 2003-02-16, 12:06 UTC
Location: Dresden, Germany
Contact:

Post by *fnheiden » 2004-04-15, 17:44 UTC

ghisler(Author) wrote:
I've noticed that the Cancel button does not work during uploads
Hmm, this works fine here - on which step does the upload hang? Please use the detailed log option.
The upload doesn't hang, but the Cancel button doesn't work to abort the upload during the Last upload step.

Here is the detailed log:
CONNECT \1und1
Get dir: \
PROPFIND / HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Thu, 15 Apr 2004 17:21:15 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
Get dir: \Backup
PROPFIND /Backup/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Thu, 15 Apr 2004 17:21:17 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
Get dir: \Backup\
PROPFIND /Backup/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Thu, 15 Apr 2004 17:21:38 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
File send: \Backup\test.dat
First upload step: Send 1 byte file for authentication
PUT /Backup/test.dat HTTP/1.1
Content-Type: application/octet-stream
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 1
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 201 Created
Date: Thu, 15 Apr 2004 17:21:38 GMT
Server: Apache
MS-Author-Via: DAV
Location: http://xxx/Backup/test.dat
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html
201 Created
Last upload step: Send actual file
Get dir: \Backup
PROPFIND /Backup/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Thu, 15 Apr 2004 17:26:34 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
Best regards,
~ Florian

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37630
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2004-04-16, 08:04 UTC

The upload doesn't hang, but the Cancel button doesn't work to abort the upload during the Last upload step.
That's strange, it works fine here (as long as TC shows advancing progress in percent). But according to your log, the last upload step doesn't even start!

Last upload step: Send actual file
Get dir: \Backup

See, directly after the line "Last upload step" comes the download of the dir list...

It should look like this:
Last upload step: Send actual file
PUT http://dfs.gmx.de/Meine%20Bilder/test.bmp
Content-Type: application/octet-stream
User-Agent: ezdavplugin
Host: dfs.gmx.de
Proxy-Connection: Keep-Alive
Pragma: no-cache
Content-Length: 42534
******Received headers
HTTP/1.0 204 No Content
Date: Wed, 14 Apr 2004 09:47:00 GMT
Server: Apache
MS-Author-Via: DAV
Content-Type: text/plain
X-Cache: MISS from aragorn.swissonline.ch
Proxy-Connection: keep-alive
204 No Content
Get dir: \Meine Bilder
So my question:
- were you able to upload any files at all?
- did you see a progress bar?
- which version of Windows do you use?
- which version of Internet Explorer is installed?

Thanks for your help!
Author of Total Commander
http://www.ghisler.com

User avatar
fnheiden
Senior Member
Senior Member
Posts: 228
Joined: 2003-02-16, 12:06 UTC
Location: Dresden, Germany
Contact:

Post by *fnheiden » 2004-04-16, 08:58 UTC

ghisler(Author) wrote:
The upload doesn't hang, but the Cancel button doesn't work to abort the upload during the Last upload step.
That's strange, it works fine here (as long as TC shows advancing progress in percent). But according to your log, the last upload step doesn't even start!
This only happens, when I try to press the Cancel button from the progress dialog.

Log without pressing cancel:
Last upload step: Send actual file
PUT /Backup/test.dat HTTP/1.1
Content-Type: application/octet-stream
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Connection: Keep-Alive
Cache-Control: no-cache
Content-Length: 4198185
******Received headers
HTTP/1.1 204 No Content
Date: Fri, 16 Apr 2004 08:37:03 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Content-Type: text/plain
204 No Content
Get dir: \Backup
PROPFIND /Backup/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Fri, 16 Apr 2004 08:41:53 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
Same log with pressing cancel:
Last upload step: Send actual file
Get dir: \Backup
PROPFIND /Backup/ HTTP/1.1
Depth: 1
Content-Type: text/xml; charset="utf-8"
User-Agent: ezdavplugin
Host: mediacenter.1und1.de
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
******Received headers
HTTP/1.1 207 Multi-Status
Date: Fri, 16 Apr 2004 08:48:24 GMT
Server: Apache
MS-Author-Via: DAV
Connection: close
Transfer-Encoding: chunked
Content-Type: text/xml; charset="utf-8"
207 Multi-Status
- were you able to upload any files at all?
The file is uploaded in both cases.
- did you see a progress bar?
Yes, it's a little bit odd, that the progress bar goes to 8-9% in the first upload step and then switches back to 0% for the second upload step.
- which version of Windows do you use?
I've tested the plugin with Windows XP Professional SP1
- which version of Internet Explorer is installed?
6.0.2800.1106.xpsp2.030422-1633

Best regards,
~ Florian

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 37630
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) » 2004-04-18, 09:40 UTC

Thanks, I will test it on XP too. The only way to abort an upload is to close the upload handle - this may not work correctly in your case.
Yes, it's a little bit odd, that the progress bar goes to 8-9% in the first upload step and then switches back to 0% for the second upload step.
The plugin shows two type of progress bars:
1. A real progress for the data transferred
2. For slow servers, the plugin starts to show a "processing" bar, which starts after 2 seconds with no response, and increments by 1% every 500 ms. This is just to show that something is still going on, and TC isn't crashed.
Author of Total Commander
http://www.ghisler.com

User avatar
Lefteous
Power Member
Power Member
Posts: 9457
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous » 2004-04-25, 10:28 UTC

2ghisler(Author)

I am able to delete remote files, but I cannot overwrite files. Any ideas? Is it a rights problem or a problem of the plugin?
The current inability to overwrite files makes synchronizing a two step operation. Delete the remote files first and then transfer the local files to the server.

Post Reply