Fa uns dies em vaig assabentar del protocol WebDAV, definit a l'RFC 4918.

Bàsicament, es tracta d'unes extensions sobre l'HTTP (Web-based Distributed Authoring and Versioning) pensades per a accedir un sistema de fitxers. O sigui, no només demanant fitxers per URL, sino també podent demanar llistats, pujar fitxers, etc.

El WebDAV bàsic inclou les operacions típiques que trobaríem a un FTP, servides per HTTP, i a més amb la possibilitat de bloquejar-hi fitxers, a l'estil d'un subversion lock. Això últim és per a permetre el treball en equip sobre un sol sistema de fitxers.

L'Apache pot servir un arbre del sistema de fitxers on corre mitjançant el mòdul mod_dav, tot i que no suportarà bloquejos si no hi fem participar també el mòdul mod_dav_lock.

Alguns navegadors suporten mínimament WebDAV, en bona part perquè està pensat per encaixar mínimament amb l'HTTP que parlen els navegadors. Els linux poden muntar sistemes de fitxers WebDAV a través del davfs2 amb FUSE. I els Windows, des de Windows 98, suporten accés WebDAV a través de les seves Carpetes Web (Web Folders). De tota manera, els Windows Vista i 7 64-bit sembla ser que tenen alguns problemes, sobretot amb WebDAV a través d'HTTPS. A més, també hi ha alguns programes client expressos, tal com hi ha clients d'FTP, com el cadaver, o per Windows el de BitKinex.

L'estrella de WebDAV és el Subversion, que no només parla WebDAV un cop servit amb Apache mitjançant el seu mòdul mod_dav_svn sino que a més parla una extensió de WebDAV anomenada DeltaV, que contempla el sistema de fitxers compartit amb control de versions. De fet, els clients de Subversion parlen WebDAV+DeltaV amb el seu servidor.

El mòdul mod_dav_svn, a més, suporta el que anomenen versionat automàtic. Això vol dir que els clients de WebDAV que no suportin DeltaV, cada cop que pugin un fitxer al servidor, automàticament suposarà una nova revisió de subversion, una nova versió del sistema de fitxers.

Les operacions de Subversion no mapegen una-a-una amb les de WebDAV+DeltaV, com per exemple en el cas de bloquejar fitxers; per això, el mòdul mod_dav_svn no suporta bloquejos, i si de cas, cal muntar-hi en paral·lel un mod_dav_lock.

I tot això està inventat de fa temps, i força suportat de sèrie als sistemes operatius populars. Sembla una manera ideal de tenir un sistema de fitxers compartit, no? La única traba que hi trobo és la complexitat de muntatge lligant-hi bé tots els mòduls d'Apache necessaris. Sort de NixOS!

A linux, davfs2 no funciona pas com a sistema de fitxers a muntar per qualsevol usuari amb la llibreria de FUSE. Per a un client FUSE, cal mirar a wdfs. Tot i que no ha estat actualitzat recentment, és l'únic que he trobat que m'ha funcionat.

Jo m'havia mirat el fusedav, més vell, però a dia d'avui no l'he pas aconseguit fer funcionar. L'he compilat, però no m'ha pas anat bé.

Comment by viric dj 01 abr 2010 16:05:48 CEST
Add a comment