Interoperabilität von Clients

Alle WebDAV-Clients fallen in eine von drei Kategorien – eigenständige Anwendungen, Erweiterungen von Dateisystem-Browsern oder Dateisystem-Erweiterungen. Diese Kategorien definieren grob die Typen der WebDAV-Funktionen, die für Anwender verfügbar sind. Tabelle C.1, „Verbreitete WebDAV-Clients“ zeigt sowohl unsere Kategorisierung als auch eine kurze Beschreibung verbreiteter WebDAV-fähiger Software. Weitere Einzelheiten über diese Software und deren allgemeine Kategorie finden Sie in den folgenden Abschnitten.

Tabelle C.1. Verbreitete WebDAV-Clients

Software Typ Windows Mac Linux Beschreibung
Adobe Photoshop Eigenständige WebDAV-Anwendung X     Bildbearbeitungs-Software, die das direkte Lesen und Schreiben über WebDAV-URLs erlaubt
cadaver Eigenständige WebDAV-Anwendung   X X Kommandozeilen-WebDAV-Client, der Dateiübertragung, Baum- und Sperroperationen unterstützt
DAV Explorer Eigenständige WebDAV-Anwendung X X X Java Werkzeug mit graphischer Benutzerschnittstelle zum Erkunden von WebDAV-Freigaben
Macromedia Dreamweaver Eigenständige WebDAV-Anwendung X     Software zum Erstellen von Webseiten, die direkt über WebDAV-URLs lesen und schreiben kann
Microsoft Office Eigenständige WebDAV-Anwendung X     Büroanwendungspaket mit verschiedenen Komponenten, die direkt über WebDAV-URLs lesen und schreiben können
Microsoft Web Folders WebDAV-Erweiterung für Dateisystem-Browser X     Dateisystem-Browser mir graphischer Benutzerschnittstelle, der Baumoperationen auf WebDAV Freigaben durchführen kann
GNOME Nautilus WebDAV-Erweiterung für Dateisystem-Browser     X Dateisystem-Browser mir graphischer Benutzerschnittstelle, der Baumoperationen auf WebDAV Freigaben durchführen kann
KDE Konqueror WebDAV-Erweiterung für Dateisystem-Browser     X Dateisystem-Browser mir graphischer Benutzerschnittstelle, der Baumoperationen auf WebDAV Freigaben durchführen kann
Mac OS X WebDAV-Dateisystemimplementierung   X   Betriebssystem mit eingebauter Unterstützung zum Einhängen von WebDAV-Freigaben
Novell NetDrive WebDAV-Dateisystemimplementierung X     Programm zum Zuweisen von Windows Laufwerksbuchstaben auf eingehängte WebDAV-Freigaben
SRT WebDrive WebDAV-Dateisystemimplementierung X     Dateiübertragungs-Software, die, neben anderen Dingen, die Zuordnung von Windows Laufwerksbuchstaben auf eingehängte WebDAV-Freigaben zulässt
davfs2 WebDAV-Dateisystemimplementierung     X Linux Dateisystemtreiber, der das Einhängen einer WebDAV-Freigabe zulässt

Eigenständige WebDAV-Anwendungen

Eine WebDAV-Anwendung ist ein Programm, das über WebDAV-Protokolle mit einem WebDAV-Server spricht. Wir behandlen einige der am weitesten verbreiteten Programme mit dieser Art von WebDAV-Unterstützung.

Microsoft Office, Dreamweaver, Photoshop

Unter Windows besitzen mehrere wohlbekannte Anwendungen eine integrierte WebDAV-Client Funktionalität, so wie Microsofts Office[58], Adobes Photoshop und Macromedias Dreamweaver. Sie sind in der Lage, direkt über URLs zu lesen und zu schreiben und neigen dazu, bei der Bearbeitung von Dateien regen Gebrauch von WebDAV-Sperren zu machen.

Beachten Sie, dass viele dieser Programme, obwohl sie auch für Mac OS X verfügbar sind, auf dieser Plattform jedoch WebDAV nicht direkt unterstützen. Tatsächlich erlaubt der Dialog Datei→Öffnen auf Mac OS X überhaupt nicht die Eingabe eines Pfades oder eines URL. Wahrscheinlich wurden die WebDAV-Fähigkeiten auf Macintosh-Versionen dieser Programme absichtlich weggelassen, da OS X bereits eine ausgezeichnete WebDAV-Unterstützung auf Dateisystemebene bietet.

cadaver, DAV Explorer

cadaver ist ein sich auf das Wesentliche beschränkendes Unix-Kommandozeilenwerkzeug zum Durchforsten und Ändern von WebDAV-Freigaben. So wie der Subversion-Client verwendet es die HTTP-Bibliothek neon – das ist nicht überraschend, da sowohl neon als auch cadaver vom selben Autor stammen. cadaver ist freie Software (GPL Lizenz) und über http://www.webdav.org/cadaver/ erhältlich.

Die Verwendung von cadaver ist ähnlich wie die Verwendung eines Kommandozeilen-FTP-Programms und eignet sich deshalb besonders für die einfache WebDAV-Fehlersuche. Zur Not kann es zum Herauf- oder Herunterladen von Dateien verwendet werden, um Eigenschaften zu untersuchen und zum Kopieren, Verschieben, Sperren und Entsperren von Dateien:

$ cadaver http://host/repos
dav:/repos/> ls
Listing collection `/repos/': succeeded.
Coll: > foobar                                 0  May 10 16:19
      > playwright.el                       2864  May  4 16:18
      > proofbypoem.txt                     1461  May  5 15:09
      > westcoast.jpg                      66737  May  5 15:09

dav:/repos/> put README
Uploading README to `/repos/README':
Progress: [=============================>] 100.0% of 357 bytes succeeded.

dav:/repos/> get proofbypoem.txt
Downloading `/repos/proofbypoem.txt' to proofbypoem.txt:
Progress: [=============================>] 100.0% of 1461 bytes succeeded.

DAV Explorer ist ein weiterer selbständiger WebDAV-Client, der in Java geschrieben ist. Er steht unter einer freien Apache-ähnlichen Lizenz und ist erhältlich über http://www.ics.uci.edu/~webdav/. Er macht alles, was auch cadaver macht, hat jedoch den Vorteil, ein portables, benutzerfrundliches Programm mit einer graphischen Benutzeroberfläche zu sein. Er ist auch einer der ersten Clients, die das neue WebDAV-Zugriffskontrollprotokoll (RFC 3744) unterstützen.

Natürlich ist die ACL-Unterstützung von DAV Explorer in diesem Fall nutzlos, da sie nicht von mod_dav_svn unterstützt wird. Die Tatsache, dass sowohl cadaver als auch DAV Explorer einige eingeschränkte DeltaV-Befehle unterstützen, ist ebenfalls nicht sehr nützlich, da sie keine MKACTIVITY-Anfragen erlauben. Es ist jedenfalls belanglos; wir nehmen an, dass all diese Clients mit einem autoversionierenden Projektarchiv zusammenarbeiten.

WebDAV-Erweiterungen von Dateisystem-Browsern

Einige verbreitete graphische Dateisystem-Browser unterstützen WebDAV-Erweiterungen, die es Benutzern erlauben, eine DAV-Freigabe zu durchstöbern als sei es ein gewöhnliches Verzeichnis auf dem lokalen Rechner und einfache Bearbeitungen der Dateisystemobjekte über diese Freigabe vorzunehmen. So ist beispielsweise der Windows Explorer in der Lage, einen WebDAV-Server als Netzwerkumgebung zu durchstöbern. Benutzer können Dateien auf die oder von der Arbeitsoberfläche ziehen oder Dateien auf althergebrachte Weise umbenennen, kopieren oder löschen. Da es jedoch eine Fähigkeit des Explorers ist, ist die DAV-Freigabe für normale Anwendungen nicht sichtbar. Alle Zugriffe auf DAV müssen über die Schnittstelle des Explorers erfolgen.

Microsoft Webordner

Microsoft war unter den ursprünglichen Unterstützern der WebDAV-Spezifikation und begann, den ersten Client in Windows 98 auszuliefern, der als Webordner bekannt wurde. Dieser Client wurde auch mit Windows NT 4.0 und Windows 2000 ausgeliefert.

Der ursprüngliche Webordner-Client war eine Erweiterung des Explorers, dem graphischen Hauptprogramm zum Durchstöbern von Dateisystemen. Er arbeitet gut genug. In Windows 98 könnte es sein, das dieses Merkmal ausdrücklich installiert werden muss, falls Webordner noch nicht innerhalb von Mein Computer sichtbar sind. In Windows 2000 muss einfach eine neue Netzwerkumgebung hizugefügt und ein URL eingegeben werden, und die WebDAV-Freigabe erscheint zum Durchstöbern.

Mit der Einführung von Windows XP begann Microsoft, eine neue Implementierung der Webordner herauszugeben, die unter dem Namen WebDAV-Mini-Redirector bekannt wurde. Die neue Implementierung ist ein Client auf Dateisystemebene, die es ermöglicht, WebDAV-Freigaben unter einem Laufwerksbuchstaben einzuhängen. Leider ist diese Implementierung unglaublich fehlerhaft. Für gewöhnlich versucht der Client, HTTP-URLs (http://host/repos) in UNC-Freigabe-Darstellung (\\host\repos) umzuwandeln; er versucht darüberhinaus, Windows-Domänen-Authentifizierung als Antwort auf Basic-Authentication HTTP-Anforderungen zu verwenden, wobei Benutzernamen als RECHNER\benutzername gesendet werden. Diese Probleme bei der Zusammenarbeit sind schwerwiegend und an zahlreichen Orten rund um die Welt dokumentiert, was viele Benutzer frustriert. Sogar Greg Stein, der ursprüngliche Autor von Apaches WebDAV-Modul, sagt ohne Umschweife, dass die Webordner von XP nicht mit einem Apache-Server zusammenarbeiten können.

Die erste Implementierung der Webordner in Windows Vista scheint fast die gleiche wie unter XP zu sein, so dass dieselben Probleme auftauchen. Mit etwas Glück wird Microsoft diese Probleme in einem Vista-Service-Pack beheben.

Jedoch scheint es provisorische Lösungen sowohl für XP und Vista zu geben, die es Webordner ermöglichen, mit Apache zusammenzuarbeiten. Benutzer haben meistens berichtet, dass diese Techniken erfolgreich waren, also werden wir sie an dieser Stelle weitergeben.

Unter Windows XP haben Sie zwei Optionen. Suchen Sie zunächst in der Webpräsenz von Microsoft nach dem Update KB90730, Software Update for Web Folders. Das könnte all Ihre Probleme lösen. Falls nicht, scheinen sich die originalen Webordner aus der Zeit vor XP in Ihrem System zu verbergen. Sie können sie ans Licht holen, indem Sie in Netzwerkumgebung gehen und eine neue Umgebung anlegen. Wenn Sie danach gefragt werden, tragen Sie den URL des Projektarchivs ein, aber verwenden Sie dabei eine Portnummer im URL. Beispielsweise sollten Sie statt http://host/repos http://host:80/repos eingeben. Antworten Sie auf irgendwelche Authentifizierungsanfragen mit Ihren Subversion-Zugangadaten.

Unter Windows Vista könnte derselbe Update KB90730 alles bereinigen. Dort könnte es jedoch noch weitere Probleme geben. Einige Benutzer haben berichtet, dass Vista alle http://-Verbindungen als unsicher betrachtet, und deshalb alle Authentifizierungsanforderungen seitens Apache scheitern lässt, sofern sie nicht über https:// erfolgen. Sollten Sie nicht in der Lage sein, sich über SSL mit dem Subversion-Projektarchiv zu verbinden, können Sie die System-Registratur anpassen, um dieses Verhalten zu unterbinden. Dazu ändern Sie einfach den Wert des Schlüssels HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel von 1 auf 2. Eine letzte Warnung: Stellen Sie sicher, den Webordner so einzurichten, dass er auf das Wurzelverzeichnis des Projektarchivs (/) zeigt, statt auf ein Unterverzeichnis wie etwa /trunk. Die Webordner von Vista scheinen nur mit Projektarchiv-Wurzelverzeichnissen zu funktionieren.

Generell sei gesagt, dass Sie, obwohl diese Zwischenlösungen für Sie funktionieren könnten, mehr Spass bei der Verwendung eines WebDAV-Clients von einem Drittanbieter haben werden, wie etwa WebDrive oder NetDrive.

Nautilus, Konqueror

Nautilus ist der offizielle Dateimanager/Browser des GNOME-Desktops (http://www.gnome.org), und Konqueror ist der Manager/Browser für den KDE-Desktop (http://www.kde.org). Beide dieser Anwendungen besitzen einen eingebauten WebDAV-Client auf Dateisystem-Browser-Ebene und funktionieren prima mit einem autoversionierenden Projektarchiv.

In GNOMEs Nautilus wählen Sie den Menüeintrag File→Open location und tragen den URL in den angebotenen Dialog ein. Das Projektarchiv sollte dann wie ein anderes Dateisystem angezeigt werden.

Im Konqueror von KDE müssen Sie beim Eintragen des URL in den Zielleiste das Schema webdav:// verwenden. Wenn Sie einen http://-URL eingeben, verhält sich Konqueror wie ein gewöhnlicher Web-Browser. Sie werden wahrscheinlich die allgemeine Verzeichnisauflistung von mod_dav_svn sehen. Falls Sie statt http://host/repos jedoch webdav://host/repos eingeben, wird Konqueror zum WebDAV-Client und zeigt das Projektarchiv als Dateisystem an.

WebDAV-Dateisystem-Implementation

Die WebDAV-Dateisystem-Implementation ist wohl die beste Art von WebDAV-Client. Sie ist als systemnahes Dateisystem-Modul implementiert, das sich normalerweise innerhalb des Betriebssystemkerns befindet. Das bedeutet, dass eine DAV-Freigabe wie irgendein anderes Dateisystem eingehängt werden kann, ähnlich dem Einhängen einer NFS-Freigabe unter Unix oder dem Sichtbarmachen einer SMB-Freigabe über einen Laufwerksbuchstaben unter Windows. Demzufolge bietet diese Art von Client für alle Programme einen vollständig transparenten WebDAV-Schreib- und Lesezugriff. Die Anwendungen merken nicht einmal, dass WebDAV-Anforderungen stattfinden.

WebDrive, NetDrive

Sowohl WebDrive als auch NetDrive sind ausgezeichnete kommerzielle Produkte, die es ermöglichen, WebDAV-Freigaben unter Windows als Laufwerksbuchstaben einzuhängen. Als Ergebnis können Sie mit den Inhalten dieser Pseudo-Laufwerke mit WebDAV im Hintergrund ebenso einfach und auf dieselbe Weise arbeiten wie mit lokalen Festplatten. Sie können WebDrive von South River Technologies (http://www.southrivertech.com) beziehen. NetDrive von Novell ist frei online verfügbar, die Benutzung erfordert jedoch eine NetWare Lizenz.

Mac OS X

Apples Betriebssystem OS X besitzt einen integrierten WebDAV-Client auf Dateisystemebene. Wählen Sie im Finder den Menüeintrag Go→Connect to Server aus. Geben Sie einen WebDAV-URL ein, und er erscheint als Laufwerk auf der Arbeitsoberfläche so wie jede andere eingehängte Platte. Sie können auch eine WebDAV-Freigabe aus dem Darwin-Terminal einhängen, indem Sie den Dateisystemtypen webdav beim Befehl mount angeben:

$ mount -t webdav http://svn.example.com/repos/project /some/mountpoint
$

Beachten Sie, dass OS X sich weigert, die Freigabe les- und schreibbar einzuhängen, sofern die Version Ihres mod_dav_svn älter ist als 1.2; in diesem Fall wird sie nur lesbar sein. Das liegt daran, das OS X auf der Unterstützung von Sperren bei les- und schreibbaren Freigaben besteht, und die Fähigkeit, Dateien zu sperren erst mit Subversion 1.2 erschien.

Desweiteren kann der WebDAV-Client von OS X manchmal überempfindlich auf HTTP-Weiterleitungen reagieren. Falls OS X das Projektarchiv überhaupt nicht einhängen kann, könnte es notwendig sein, die Direktive BrowserMatch in der Datei httpd.conf des Apache Servers zu aktivieren:

BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

Linux davfs2

Linux davfs2 ist ein Dateisystem-Modul für den Linux-Kernel, dessen Entwicklung bei http://dav.sourceforge.net/ betrieben wird. Sobald Sie davfs2 installiert haben, können Sie eine WebDAV-Netzfreigabe mit dem üblichen Linux mount-Befehl einhängen:

$ mount.davfs http://host/repos /mnt/dav


[58] WebDAV-Unterstützung wurde aus bestimmten Gründen aus Microsoft Access entfernt, jedoch besteht diese im Rest des Pakets.