Wszystkei programy klienckie WebDAV należą do jednej z trzech kategorii— aplikacje samodzielne, rozszerzenia menadżerów plików lub implementacje systemów plików. Kategorie te zasadniczo definiują typy funkcjonalności WebDAV dostępnej dla użytkowników. Tabela C.1, „Popolarne aplikacje klienckie WebDAV” — lista ta zawiera aplikacje, które przypisano do tych trzech kategorii jak również ich krótki opis. Więcej szczegółów na temat tego, co oferują znajdziesz w dalszych sekcjach.
Tabela C.1. Popolarne aplikacje klienckie WebDAV
| Nazwa | Rodzaj | Windows | Mac | Linux | Opis |
|---|---|---|---|---|---|
| Adobe Photoshop | Aplikacja samodzielna | X | Pogram do obróbki grafiki, pozwala na bezpośredni odczyt i zapis do adresów WebDAV | ||
| cadaver | Aplikacja samodzielna | X | X | Klient linii poleceń obsługujący transfer plików, operacje blokowania i modyfikacji struktury katalogów | |
| DAV Explorer | Aplikacja samodzielna | X | X | X | Narzędzie napisane w Javie z graficznym interfejsem użytkownika służące do eksploracji zasobów WebDAV |
| Adobe Dreamweaver | Aplikacja samodzielna | X | Aplikacja do tworzenia stron WWW, która posiada możliwość odczytu i zapisu do adresów WebDAV | ||
| Microsoft Office | Aplikacja samodzielna | X | Pakiet biurowy, którego niektóre komponeny są w stanie bezpośrednio czytać i zapisywać do WebDAV | ||
| Microsoft Web Folders | Rozszerzenie menadżera plików | X | Graficzny menadżer plików potrafiący wykonywać operacje na strukturze udziałów WebDAV | ||
| GNOME Nautilus | Rozszerzenie menadżera plików | X | Graficzny menadżer plików potrafiący wykonywać operacje na strukturze oudziałów WebDAV | ||
| KDE Konqueror | Rozszerzenie menadżera plików | X | Graficzny menadżer plików potrafiący wykonywać operacje na strukturze oudziałów WebDAV | ||
| Mac OS X | WebDAV jako system plików | X | System operacyjny, który posiada wbudowaną funkcję montowania udziałów WebDAV | ||
| Novell NetDrive | WebDAV jako system plików | X | Aplikacja mapująca dyski, która pozawala na przypisywanie Windowsowych liter dysków do zamontowanych udziałów | ||
| SRT WebDrive | WebDAV jako system plików | X | Oprogramowanie do transferu plików, które, m.in. potrafi przypisać Windowsową literę dysku do zamontowanego udziału WebDAV | ||
| davfs2 | WebDAV jako system plików | X | Linuksowy sterownik systemu plików, który pozwala na montowanie udziałów WebDAV |
Aplikacją WebDAV nazwywamy program, który potrafi komunikować się z serwerem za pomocą protokołu WebDAV. Omówimy tu większość popularnych tego typu programów.
Istnieje kilka bardzo dobrze znanych aplikacji na Windowsa z wbudowaną funkcjonalnością WebDAV, takich jak Microsoft's Office, [61] Adobe Photoshop czy Dreamweaver. Wszystkie są w stanie bezpośrednio otwierać i zapisywać do adresów URL oraz mają w zwyczaju korzystanie z mechanizmów blokowania podczas edycji.
Zauważ, że o ile wiele z tych programów istnieje w wersji na Mac OS X, to nie wspierają bezpośredniego dostępu do WebDAV na tej platformie. De facto, standardowe okienko dialogowe w systemie Mac OS X nie zezwala na wprowadzanie ścieżek czy adresów URL. Prawopodobne zatem jest, że obsługa WebDAV została z tych aplikacji usunięta celowo, jako że OS X posiada bardzo dobry system plików z niskopoziomowym wsparciem dla WebDAV.
cadaver jest elementarnym programem unksowym obsługiwanym z linii poleceń i służy do przeglądania i modyfikacji zasobów WebDAV. Podobnie do klienta Subversion, korzysta z biblioteki neon HTTP—nic w tym dziwnego, skoro zarówno neon jak i cadaver zostały napisane przez tego samego autora. Opearty został o licencję GPL i jest dostępny pod adresem http://www.webdav.org/cadaver/.
Posługiwanie się cadaver'em przypomina korzystanie z konsolowego klienta FTP, co sprawia że jest doskonałym narzedziem do prostego debugowania WebDAVa. Można nim przesyłać lub pobierać ekspresowo pliki, badać właściwości oraz kopiować, przenosić lub blokować pliki:
$ 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 jest kolejną, napisaną w Javie, samodzielną aplikacją kliencką. Oparty został o darmową, Apache'opodobną licencję i jest dostępny pod adresem http://www.ics.uci.edu/~webdav/. Nie dość, że potrafi to samo co cadaver, to dodatkowo jest przenośną, dużo bardziej przyjazną użytkownikowi (graficzny interfejs) aplikacją. Jest też jednym z pierwszych klientów, który wspiera nowy protokół kontroli dostępu (ACL) do WebDAV (RFC 3744).
Oczywiście wsparcie to jest w tym przypadku bezużyteczne,
jako że mod_dav_svn nie obsługuje tego
protokołu. Fakt, że zarówno cadaver jak i DAV Explorer obsługują
niektóre z poleceń DeltaV, także nie należy do szczególnie
przydatnych, ponieważ żaden z tych programów nie zezwala na
wysyłanie żądań MKACTIVITY.
Ostatecznie wszystko to nie ma znaczenia, gdyż zakładamy,
że aplikacje klienckie będą pracować na repozytorium
z aktywnym autowersjonowaniem.
Część z popularnych graficznych menadźerów plików wspiera rozszerzenia dodające obsługę udziałów WebDAVa tak jakby to były zwykłe katalogi na lokalnym kompuerze zezwalając na wykonywanie podstawowych operacji na nich. Przykładowo, Eksplorator w Windowsie jest w stanie przeglądać WebDAVowe udziały jako „miejsca sieciowe.” Użytkownicy mogą przeciągać pliki z i na pulpit, mogą zmieniać nazwy, kopiować lub usuwać pliki tak jak to robią z normalnymi plikami. Jako że jest to jedynie opcja w Eksplorerze, udziały DAVa pozostają niewidoczne dla zwykłych aplikacji. Cała interakcja musi się odbywać przez Eksploratora.
Microsoft był współtwórcą specyfikacji WebDAV i jako pierwszy dostaraczał klienta tego protokołu w Windows 98 pod nazwą Folderów Sieciowych. W aplikację tą wyposażono także Windows NT 4.0 i Windows 2000.
Oryginalny klient Folderów sieciowych był rozszerzeniem Eksploratora, graficznego programu służacego do przeglądania plików. Działał całkiem sprawnie; w Windowsie 98 czasami funkcjonalność ta musiała być ręcznie doinstalowana (jeżeli brakowało ikony „Foldery sieciowe” wewnątrz okna „Mój komputer”). W Windowsie 2000 wystarczyło dodać nowe „Miejsce sieciowe”, wprowadzić adres URL i zasób WebDAV otwierał się w nowym oknie.
Począwszy od Windowsa XP, Microsoft zaczął rozpowrzechniać
nową implementację Folderów sieciowych, znaną pod nazwą
„WebDAV Mini-Redirector”. Nowe oprogramowanie
jest klientem działającym na poziomie systemu plików, co pozwala
na montowanie udziałów jako litery dyskowe. Niestety,
rozwiązanie to okazało się mieć mnóstwo błędów. Klient zwykle
próbował konwertować zwykłe URLe (http://host/repos)
na notację UNC (\\host\repos); często też
próbował się logować przy użyciu autentykacji windowsowej
w odpowiedzi na podstawowe wyzwania HTTP, przeszyłając login
w formieHOST\login. Problemy
z niekompatybilnością zdarzały się często, czego
dowodem są liczne skargi sfrustrowanych użytkowników
rozsiane po WWW. Nawet Greg Stein, autor Apache'owego modułu
WebDAV, bez ogródek oznajmił, że Foldery sieciowe z XP
po prostu nie są w stanie współpracować z serwerem
Apache.
Wygląda na to, że wstępna implementacja Folderów sieciowych w Windows Vista bedzie praktycznie identyczna jak ta znana z XP, a więc można oczekiwać podobnych problemów. Przy odrobinie szczęścia, Microsoft naprawi powstałe błędy w Service Pack'u dla Visty.
Pomimo to, istnieją pewne prowizoryczne rozwiązania (zarówno dla XP jak i Visty), które umożliwiają funkcjonowanie Folderów sieciowych z Apache'm. Większości użytkowników udało się połączyć przy użyciu tych technik, więc je tu opiszemy.
W Windows XP masz dwie możliwości. Pierwsza, to przeszukać
stronę Microsoft'u w poszukiwaniu aktualizacji KB90730 („Software
Update for Web Folders.”). W ten sposób prawdobodobnie
pozbędziesz sie problemów; jeśli nie, oznacza to, że stara
implementacja Folderów sieciowych wciąż gdzieś istnieje
w systemie. Możesz ją odkopać wchodząc do Miejsc
sieciowych i dodając nowe miejsce. W momencie, gdy zostaniesz
poproszony o adres URL repozytorium, wprowadź go wraz
z numerem portu. Przykładowo, powinieneś
wpisać adres http://host/repos w formie
http://host:80/repos.
Na wszeklie żadania autentykacji odpowiadaj loginem
i hasłem z Subversion.
W Viście, ta sama aktualizacja KB90730 powinna rozwiązać
powyższe nieprawidłowości, lecz mogą pojawić się nowe trudności.
Niektórzy użytkownicy zgłaszali, że Vista uważa wszelkie
połaczenia http:// za niebiezpieczne,
przez co blokuje wszelkie próby autentykacji od Apache'a
jeśli nie odbywają się po SSL (https://).
Jeżeli nie masz możliwości wykonania takiego połączenia,
możesz zmodyfikować rejestr systemu w celu wyłączenia
tego zabezpieczenia. Po prostu zmień wartość klucza
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel
z 1 na 2.
Ostatnie ostrzeżenie: podając adres Folderu sieciowego, wskaż
katalog główny (/), a nie podkatalog
(np. /trunk). Wygląda na to, że
Vista ma ochotę pracować jedynie z katalogiem głównym
repozytorium. //seems to work only against repository roots.
Ogólnie rzecz biorąc, o ile te prowizorki mogą się się nawet sprawdzić, o tyle mniej nerów stracisz korzystając z zewnętrznego klienta WebDAV, np. z WebDrive czy NetDrive.
Nautilus jest oficjalnym menadżerem plików dla środowiska GNOME (http://www.gnome.org), Konqueror natomiast jest jego odpowiednikiem w środowisku KDE (http://www.kde.org). Obie aplikacje mają wbudowanego klienta WebDAV na poziomie eksploratora i bez problemu współpracują z repozytorium w trybie autowersjonowania.
W Nautilusie, wybierz , po czym wprowadź adres URL w otwartym okeinku dialogowym. Po tej operacji repozytorium powinno być widoczne jak każdy inny system plików.
Korzystając z Konqueror'a będziesz musiał użyć schematu
webdav:// podczas wpisywania adresu.
Jeśli wpiszesz standardowy adres z
http:// na początku, Konqueror zachowa się
jak zwykła przeglądarka WWW. Prawdopodobnie ujrzysz wtedy ogólny
listing HTML wygenerowany przez moduł
mod_dav_svn. Co innego gdy wprowadzisz
webdav://host/repos zamiast
http://host/repos; Konqueror wtedy
przełączy się w tryb klienta WebDAV, po czym wyświetli
repozytorium jak system plików.
WebDAV zaimplementowany jako system plików jest bez wątpienia najlepszym rodzajem klienta. Tergo typu aplikacje zaprojektowano jako niskopoziomowe moduły, zwykle zintegrowane z jądrem systemu. Oznacza to, że udział DAVa jest montowany jak każdy inny sieciowy system plików, podobnie jak udziały NFS montowane w systemach uniksowych czy jak podpinanie litery dysku w Windowsie pod udział SMB. W wyniku otrzymujemy całkowicie transparentny dla wszystkich aplikacji dostęp do WebDAVa. Programy w tej sytuacji nawet nie są „świadome” tego, że gdzieś w tle wykonują się żądania HTTP.
WebDrive i NetDrive są bardzo dobrymi aplikacjami komercyjnymi, które pozwalają na zamontowanie udziału WebDAV jako litera dysku w Windowsie. W efekcie możesz pracować na udostępnionych pseudo-dyskach z taką samą łatwością i dokładnie w taki sam sposób jak na dyskach fizycznych. Licencję WebDrive możesz zakupić u South River Technologies (http://www.southrivertech.com). NetDrive Novella jest dostępny bez opłat, ale wymaga posiadania licencji NetWare.
System operacyjny Mac OS X posiada zintegrowanego klienta //operating system has an integrated
WebDAV na poziomie systemu plików. Za pomocą Finder'a wybierz //filesystem-level WebDAV client. From the Finder, select the
, // menu
wprowadź adres URL; po chwili udział pojawi się na pulpicie, //item. Enter a WebDAV URL, and it appears as a disk on the
podobnie jak każdy inny zamontowany wolumin. Alternatywnie, //desktop, just like any other mounted volume. You can also
mozesz zamontować udział WebDAV z poziomu terminala Darwina //share from the Darwin terminal by using the
podając webdav jako typ systemu plików //filesystem type with the
poleceniu mount:
$ mount -t webdav http://svn.example.com/repos/project /some/mountpoint $
Zauważ, że jeśli mod_dav_svn na Twoim serwerze jest starszy od wersji 1.2, OS X zablokuje możliwość zapisu w zamontowanym woluminie wyświetlajac pliki w trybie tylko-do-odczytu. Dzieje się tak dlatego, ponieważ OS X wymusza wspracie dla możliwości blokowania udzałów, która pojawiła się dopiero w Subwersion 1.2.
Zdarza się też, że klient WebDAV w OS X'ie bywa nadwrażliwy
na przekeirowania HTTP. Jeżeli nie możesz zamontować udziału
w jakimkolwiek trybie, prawdopodobnie będziesz musiał włączyć
dyrektywę BrowserMatch w pliku konfiguracyjnym
Apache'a (httpd.conf):
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
Linux davfs2 jestm modułem typu system plików dla jądra linuksowego, którego rozwój odbywa się pod adresem http://dav.sourceforge.net/. Po zainstalowaniu davfs2, będziesz mógł montować udziały WebDAV za pomocą standardowego polecenia mount:
$ mount.davfs http://host/repos /mnt/dav
[61] Obsługi WebDAV został, z niewiadomego powodu, pozbawiony Access, ale reszta aplikacji w pakiecie go wspiera.