WebDAVSurfer has been developed by PetSta
version 2.2 June 2008.
version 2.3 June 2009.
version 2.4 April 2016.
GNU Lesser General Public License Version 2.1, February 1999 IS APPLICABLE
Changes in version 2.4
* Upgraded to 64-bit Windows Python 2.7.11, M2Crypto-0.21.1-openssl-1.0.1c-py2.7-win-amd64 and wxPython3.0-win64-184.108.40.206-py27
* Development/changes are now done on Windows 10 (was previously Window XP), requires new dll's etc.
* Inno Setup installer used to create a WebDAVSurfer installer called: Install_WebDAVSurfer.exe
* Manual corrections in PythonCard-0.8.2
* in PythonCard\menu.py line 201 changed: background = aWxEvent.GetEventObject().parent.parent
* in PythonCard\menu.py line 393 changed into comment as this is a deprecated item: # wx.InitAllImageHandlers()
* Some positions of literals and fields and menu items are corrected/improved/do have better text
* WebDAVsurfer.ini URL locations editor now opens the installed ini file
* Nasty UnicodeDecode error solved to upload files or from URL (It was working with Python 2.5, but not with e.g. Python 2.7).
* httplib requires that the URL and body are both of type str
* see http://stackoverflow.com/questions/7993175/how-do-i-post-non-ascii-characters-using-httplib-when-content-type-is-applicati
* Size of info popup window adapted
* Error MyHTMLFrame solved
* Added lot of mimetypes into WebDAVsurferMimeTypes.csv. This file is read during initialization and hold in memory. Dot in extension is now mandatory.
* Checking if webdav server supports VERSION-CONTROL with http command OPTIONS
* Selectable example Webdav locations changed: https://svn.code.sf.net/p/pyodbc/code/trunk
* More testing on Windows 10, sorry not directly tested on Linux platform, should work.
* Note: Usage with Digital Certificates still to be tested. Might still work
Changes in version 2.3
* change format of colourcodes (255, 255, 255 to '#FFFFFF'), correct wrong 4 digit codes like (255, 255, 255, 255)
* when url reference starts with http(s):// the WebDAV URL is completely replaced
with url reference in stead of appended
* buttons resized so that no overlap occurs on Linux
* mimetype separator for optional WebDAVsurferMimeTypes.csv is now ";" (was in version 2.2 ","),
read value will be printed in monitor window
* xml mismatched parsing error in HTTP response is now catched
* unicodeDecodeError 'charmap' error is now catched
* display a Python strack trace window when unexpected output is returned by a server which cause an exception
* display HTML response document in HTML viewer send by the webdavserver when authorization fails
* XML response document send by the webdavserver is now displayed in HTML viewer
when a property update error occurs
* in menu Help is an entry added to display a selected link in the default browser
* current used software versions are now displayed in the About this ...
* embedded transparent icon is added to display WebDAV icon also in linux
* layout of main screen is apapted for better dispaly on KDE and GNOME (tested on (K)ubuntu Jaunty 9.04)
* Support for HTTP and HTTPS with Basic Authentication
* Support for HTTPS with PKI Authentication and strong Encryption of information exchange
based on Digital Certificates created with the OpenSSL toolkit.
OpenSSL is an Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and
Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose
* Tooltips to explain the usage. Move mouse cursor over the fields and buttons.
* This Text in About this WebDAVsurfer (see help menu)
* Display HTTP request details (see help menu)
* Display HTTP response details (see help menu)
* Display WebDAV Supported Methods (see help menu)[sudo] password for peter:
* MimeType and Extension mapping can be done in a file named WebDAVsurferMimeTypes.csv, which
must be located in the same directory as WebDAVsurfer.py or WebDAVsurfer.exe
The file WebDAVsurferMimeTypes.csv must have the folllowing structure. Comment lines start with a # (hash):
#MimeType ; .Extension (mind the dot!)
image/gif ; .gif
text/html ; .htm
text/html ; .html
* When file WebDAVsurferMimeTypes.csv does NOT exist, following defaults will be used for: MimeType ; Extension :
MimeType ; Extension ==> ==> Note that NO blank lines are allowed!
application/msword ; .doc
text/htm ; .htm
text/html ; .html
audio/mpeg ; .mp3
video/mpeg ; .mpeg
video/mpeg ; mpg
image/jpeg ; .jpeg
image/jpeg ; .jpg
image/png ; .png
application/vnd.oasis.opendocument.spreadsheet ; .ods
application/vnd.oasis.opendocument.text ; .odt
application/vnd.ms-excel ; .xls
application/pdf ; .pdf
text/plain ; .txt
* Write Debugging details. This can be switched on/off (see help menu)
* Statusbar provides (error) indications and process information
* A HTML viewer window will show HTML response document send by the webdavserver when authorization fails
* The file WebDAVsurfer.ini will contain the default and selectable WebDAV resources (URL's)
* The Optional file WebDAVsurferMimeTypes.csv may contain MimeTypes and can be manually be
created and edited.
Style: MimeType;Extensions e.g.
* The file WebDAVsurfer.exe.log will be created when unexpected (Python) errors occur.
Also OpenSSL debugging information will be written in this file (only when HTTPS is used)
* The file WebDAVsurfer-Debug.log will be created when debugging is switched on.
This file will contain all HTTP Requests and Response information.
* Enter and view the Basic Authentication details userid and password
(will be encrypted with Base64 algorithms)
* Enter and view your Private Key and Password, your Private Certificate and the
Server Certificate file names
* Automatic showing/hiding including toggle function for Authentication details
* Create and Save a default WebDAVsurfer.ini locations file with WebDAV URLs
* Edit and Maintain the WebDAVsurfer.ini locations file
* View collections and files details such as time, displayname, lock value and more
* Define the depth to display information.
Depth: infinity means operate recursively down an entire tree of resources
Depth: 0 means operate only on a single resource
* Creation of a collection
* Upload a file into a collection
* Upload a resource at a given URL into a collection
* Download a selected file from a collection
* Change a displayname property of a collection or file
* Delete a selected file from a collection
* Delete an entire collection
* View, set and maintain WebDAV properties of a collection or file
* View versions of a selected file
* Download a specific version of the selected file
* Delete all versions of a selected file
* View properties of all versions of a collections or file
* Online view of last HTTP(S) Request and Response
* Debugging and logging of SSL communication and writing of all HTTP(S) Requests/Responses
INSTALLATION AND DEPENDENCIES:
To usage WebDAVsurfer install following packages (or higher versions)
- Python 2.7.11
- PythonCard 0.8.2
- wxPython3.0-win64 (unicode) for Python
OPTIONAL: psyco 1.6
The WebDAVsurfer has been tested an is running correctly on:
* Windows 10. It should run on Windows 7 - 64 bit
* It should run on Linux (when wxPython and other depencies are installed and 2 minor manual corrections are done in PythonCard, as documented)
It should work with the following WebDAV servers and probably more:
* Apache 2 with mod_dav (WebDAV load module)
* Plone 4 an 5.0.4 (5015)
* Zope 2.13.24
* PyWebDAV 0.9.2
* Software AG's Tamino 4.4
* Run Install_WebDAVSurfer.exe (based on the inno setup installer see http://www.jrsoftware.org/ishelp/)
* Unzip WebDAVsurfer.zip into a map of your choice. Open that map and
start WebDAVsurfer.exe like any standard windows application when you use the binary distribution OR
* type in a command window: c:\python27\python.exe WebDAVsurfer.py
where C:\python27 must be replaced with the directory where you installed Python
* type in a command window: sudo python WebDAVsurfer.py OR
make a executable script.
After start a pop-up window will appear prompting a list with URL's which are stored in
WebDAVsurfer.ini This MUST be in the same location as WebDAVsurferLocationsEditor.py.
You can edit the URL locations .ini file
This file contains default this (between the "---------" lines below):
# Each key must start on a new line followed by a equal (=) sign.
# Key 'WebDAVurldefault' must contain only one URL value.
# Key 'WebDAVurls' might contain multiple URL values.
# Multiple values must be comma separated like: key=value1,value2, value3 , value4
# Comment lines start with a #.
# Usage, one of the given keys below is mandatory.
# When key 'WebDAVurldefault' is specified and key 'WebDAVurls' does not exist.
# the default value will be selected.
# When key 'WebDAVurls' does exist, the user is prompted to choose from the list and
# the default value will be overulled with the choice,
# when the key 'WebDAVurldefault' is specified.