<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
      "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <title>Funciones WebDAV en Amaya</title>
  <meta name="generator" content="amaya 8.2, see http://www.w3.org/Amaya/">
  <link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<table border="0" width="100%" summary="toc">
  <tbody>
    <tr>
      <td><img alt="W3C" src="../images/w3c_home"> <img alt="Amaya"
        src="../images/amaya.gif"></td>
      <td><p align="right"><a href="Publishing.html.es" accesskey="p"><img
        alt="previous" src="../images/left.gif"></a> <a href="Manual.html.es"
        accesskey="t"><img alt="top" src="../images/up.gif"></a> <a
        href="Printing.html.es" accesskey="n"><img alt="next"
        src="../images/right.gif"></a></p>
      </td>
    </tr>
  </tbody>
</table>

<div id="page_body">
<h1>Funciones WebDAV en Amaya</h1>

<h2>Acerca de WebDAV</h2>

<p><a href="http://www.webdav.org/">WebDAV (WWW Distributed Authoring and
Versioning)</a> es un conjunto de extensiones al protocolo HTTP que permite a
los usuarios colaborar en la edición y gestión de recursos web en servidores
remotos. Su objetivo es extender el protocolo HTTP para permitir una
arquitectura abierta en el nivel del protocolo, para desarrollar nuevas
herramientas de creación  distribuida en la web, haciendo hincapié en la
creación de páginas web en colaboración (ver <a
href="http://andrew2.andrew.cmu.edu/rfc/rfc2518.html">RFC 2518</a>). WebDAV
define operaciones sobre las propiedades, las colecciones, los espacios de
nombres y la potección de sobreescritura (mecanismo de bloqueo) y, para estas
operaciones, define nuevos métodos, encabezados, organismos de entidad de
petición y respuesta. Sin embargo, las características de tratamiento de
versiones incluidas en la propuesta original se han trasladado al grupo de
trabajo de la IEFT  <a href="http://www.webdav.org/">Delta-V</a>, que
pretende extender  WebDAV y HTTP/1.1 en estas características (ver el
artículo de E. J. Whitehead "<a
href="http://www.webtechniques.com/  archives/1999/10/whitehead/">El futuro
del desarrollo de software distribuido en Internet</a>").</p>

<p>El <strong>mecanismo de bloqueo</strong> definido en WebDAV ha sido
diseñado para prevenir la sobreescritura de recursos (es decir, prevenir el
problema de la actualización perdida), empleando las operaciones de bloqueo y
desbloqueo. Un bloqueo controla el acceso de escritura a un recurso limitando
las operaciones de escritura HTTP, como  PUT, POST y DELETE. Esto significa
que solamente alguien que conozca el bloqueo podrá ejectuar estas
operaciones. El protocolo WebDAV también define dos <strong>ámbitos de
bloqueo</strong>: <em>bloqueo exclusivo y bloqueo compartido</em>. Un bloqueo
exclusivo garantiza que una persona posee el bloqueo y que nadie más podrá
bloquear el recurso (esto no afecta a la lectura del recurso). Un bloqueo
exclusivo permite a un grupo de usuarios crear sus bloqueos sobre un recurso,
pero deben confiar unos en otros para prevenir problemas de acceso. Además,
cada bloqueo tiene una duración límite y el usuario no puede olvidar que los
bloqueos pueden desaparecer en el servidor debido a excepciones en el
servidor.</p>

<p>Puedes encontrar más información sobre  WebDAV en <a
href="http://andrew2.andrew.cmu.edu/rfc/rfc2518.html">RFC 2518</a> y también
en <a href="http://www.webdav.org/">WebDAV.org</a>.</p>

<h2>Soporte de WebDAV en Amaya</h2>

<p>Amaya tiene un soporte de WebDAV opcional y limitado. Este soporte incluye
las operaciones siguientes:  bloqueo/desbloqueo de un recurso compilante
WebDAV, ver las propiedades WebDAV de un recurso y capacidades de
descubrimiento de bloqueos. Además, este soporte incluye algunas funciones de
reconocimiento, que pueden informar automáticamente al usuario sobre los
recursos bloqueados.</p>

<h3>¿Cómo utilizarlo?</h3>

<p>El soporte de WebDAV presente en Amaya pretende ayudar a pequeños grupos
de usuarios a editar en colaboración sus páginas Web. Para mostrar cómo
funciona, he aquí un ejemplo; supón que tienes un servidor WebDAV (en
realidad, <strong>necesitas</strong> un servidor Web que soporte WebDAV para
trabajar con él) que se llama  <code>servidordav.miempresa.com</code>, y que
tú y tus compañeros queréis editar en colaboración algunos documentos que
están en la carpeta WebDAV <code>/shared/</code> (las carpetas WebDAV se
denominan colecciones).</p>

<p>Entonces, imagina que necesitas modificar el documento
<code>http://servidordav.miempresa.com/shared/Doc1.html</code>. Para ello,
abres el documento en tu editor Amaya y a continuación
<strong>bloqueas</strong> el documento (<em>Bloquear recurso</em> en el <a
href="#L654">menú Cooperación</a> ver <a href="#L654">Figura 1</a>). Una vez
has bloqueado el documento, si uno de tus compañeros intenta guardar algún
cambio en el documento, será avisado de tu bloqueo y las actualizaciones no
se perderán automáticamente. Mientras el documento está bloqueado puedes
modificarlo, y cuando hayas terminado tu trabajo, al
<strong>desbloquear</strong> el documento, permitirás que otros compañeros
puedan bloquearlo y realizar sus modificaciones.</p>

<p><a id="L654"><img alt="Cooperation Menu"
src="../images/CooperationMenu.gif"></a></p>

<p>Por otro lado, si quieres saber si algún compañero ha bloqueado una página
Web, puedes utilizar la opción <em>Ver propiedades del recurso</em> en el <a
href="#L654">menú Cooperación</a> para ver todas las propiedades de la página
o puedes configurar Amaya para que te informe automáticamente cuando se
bloquee la página. para ello, tendrás que abrir la caja de diálogo
<em>Cooperación&gt;Preferencias</em>, marcar la opción de <em>Conocimiento
general</em> y escribir la dirección de tu carpeta compartida en el campo
<em>Lista de recursos WebDAV de usuario</em>
(<code>http://servidordav.miemmpresa.com/shared/</code>, como muestra la
Figura 2). Una vez lo hayas hecho, al abrir una página bloqueada por un
compañero de la carpeta
<code>http://servidordev.miempresa.com/shared/</code>, Amaya te informará.</p>

<p><img alt="Cooperation - Preferences "
src="../images/CooperationPreferences.gif"></p>

<h3>Opciones WebDAV en Amaya</h3>

<p>Estas opciones se encuentran en el menú Cooperación &gt; Preferencias. Se
indican los valores por omisión:</p>
<dl>
  <dt><code>DAV_DEPTH= [ infinity | <strong>0</strong> ]</code></dt>
    <dd>Profundidad del bloqueo. Si la profundidad es infinita, el bloqueo de
      una colección (carpeta) afectará a todos sus componentes. En caso
      contrario el bloqueo afectará únicamente a la colección, impidiendo al
      usuario que no conozca el bloqueo la creación o eliminación de
      componentes de la colección.</dd>
  <dt><code>DAV_TIMEOUT= [ <strong>Infinite</strong> | Second-XXXX
  ]</code></dt>
    <dd>Duración del bloqueo. El valor "infinita" significa que el bloqueo no
      termina nunca y "Second-xxxx" intentará obtener un bloqueo durante XXXX
      segundos.</dd>
  <dt><code>DAV_LOCK_SCOPE= [ <strong>exclusive</strong> | shared
  ]</code></dt>
    <dd>Ámbito del bloqueo.</dd>
  <dt><code>DAV_USER_URL= [ URL ]</code></dt>
    <dd>URL que identifica al usuario. Ejemplo: mailto:yomismo@miservidor.com
      o http://miservidor.com/mihomepage.html</dd>
  <dt><code>DAV_AWARENESS= [ yes
  |</code><code><strong>no</strong></code><code>]</code></dt>
    <dd>Indica si el usuario desea información básica sobre los recursos
      bloqueados.</dd>
  <dt><code>DAV_AWARENESS_ONEXIT=[ yes
  |</code><em><code></code></em><code><strong>no</strong></code><code>]</code></dt>
    <dd>Indica si el usuario quiere recibir información sobre sus propios
      bloqueos al abandonar un recurso.</dd>
  <dt><code>DAV_URLS= [ URL URL URL ... ]</code></dt>
    <dd>Lista de URLs de recursos empleados por el usuario como recursos
      WebDAV</dd>
</dl>

<h2>¿Cómo compilar Amaya con funciones WebDAV?</h2>

<p>WebDAV es una característica opcional en Amaya. Para compilarla y poderla
utilizar, necesitarás:</p>
<ul>
  <li>Libwww con soporte  WebDAV</li>
  <li>opciones de configuración de Amaya</li>
  <li>un servidor WebDAV para poder utilizar estas funciones... <a
    href="http://www.w3.org/Jigsaw/">Jigsaw</a> y <a
    href="http://httpd.apache.org/">Apache</a> son algunos de los servidores
    web que soportan WebDAV.</li>
</ul>

<p>Una vez has comprobado el <em>cvs</em> de <a
href="http://www.w3.org/Library/">Libwww con soporte WebDAV</a>  y has
obtenido el <a href="http://www.w3.org/Amaya/User/cvs.html">código fuente de
Amaya</a>, debes seguir los pasos siguientes en un sistema Linux/Unix (para
sistema Windows, consulta las páginas de <a
href="http://www.w3.org/Amaya/">Amaya</a> y <a
href="http://www.w3.org/Library/">Libwww</a>):</p>

<h4>En el directorio libwww:</h4>
<ul>
  <li>libtoolize -c -f</li>
  <li>perl config/winConfigure.pl</li>
  <li>aclocal; autoheader; automake; autoconf</li>
</ul>

<h4>En el directorio Amaya:</h4>
<ul>
  <li>autoconf</li>
  <li>mkdir LINUX-ELF (or GTK, or obj)</li>
  <li>cd LINUX-ELF</li>
  <li>../configure <strong>--with-dav</strong> ... (and all other options
    that you need)</li>
  <li>make</li>
</ul>
</div>
<hr>

<p><em>Escrito por <a href="mailto:mkirsch@terra.com.br">Manuele Kirsch
Pinheiro</a>, 13 de junio de 2002.</em></p>
</body>
</html>
