[Apache2 WevDAV] Evitar acceso simultáneo de escritura (usar Lock)
Hola, tengo un Apache2 con webdav activado y trato de evitar que desde dos
sitios se pueda acceder a un mismo fichero por webdav en modo escritura. Es
decir, que si alguien lo ha abierto se genere un "Lock" de X segundos tiempo
durante el cuál otro no puede editarlo.
Mi configuración de apache2 para el asunto del WebDAV es:
DAVLockDB /var/webdav/DAVLock
DAVMinTimeout 300
<Location /webdav/>
DAV On
</Location>
El directorio y contenido de /var/webdav pertenece a www-data.
Pensé que ese "Lock" serviría para mi propósito, aunque después de leer la doc
no me queda claro para qué diantres sirve:
http://httpd.apache.org/docs/2.0/mod/mod_dav.html
En teoría lo que dice es:
"When a client requests a DAV resource lock, it can also specify a time when
the lock will be automatically removed by the server..."
O sea, que parece ser lo que yo pienso que es.
Tal vez el problema sea del cliente. Lo que estoy haciendo es usar dos
editores Kate (desde dos equipos diferentes) para acceder al mismo fichero
vía kioslave "webdav:/".
- Entonces abro el fichero con el Kate 1, lo edito y lo guardo. En ese momento
se ha generado el fichero DAVLock.
- Al instante lo abro con Kate 2, lo edito y le doy a guardar. Y ala, se
guarda.
- Ahora con el Kate 1 que tenía abierto (y que no ve los cambios que ha hecho
Kate 2 si no recargo el archivo) lo reedito, le doy a guardar y los cambios
que había hecho Kate 2 desaparecen.
Es decir, se está comportando igual que cuando se accede a un fichero local
desde dos editores, sin control de escritura.
¿Alguien se le ocurre qué puede estar pasando? ¿es normal? ¿tal vez sea cosa
del tipo de acceso que hace el cliente?
Saludos y gracias por cualquier respuesta.
--
Iñaki Baz Castillo
Reply to: