Compartir a través de


Sincronización de bibliotecas de documentos de SharePoint

Última modificación: lunes, 21 de diciembre de 2009

Hace referencia a: SharePoint Foundation 2010

En este artículo
Enumeración de cambios en los elementos de lista
Recuperación de la secuencia de documentos cambiada
Actualización de documentos en el servidor

Microsoft Sync Framework sirve para sincronizar elementos en una biblioteca de documentos de SharePoint Foundation. El proceso de sincronización es similar al descrito en Sincronización de listas de SharePoint, aunque la sincronización de bibliotecas incluye pasar las propias secuencias de documentos. La enumeración de cambios en una biblioteca de documentos se obtiene en dos pasos. Primero, se enumeran los cambios en los elementos de lista de la biblioteca de documentos y, a continuación, se descargan las secuencias de documentos de los documentos que se modificaron. Debido a las posibles colisiones de sincronización cuando se usa un proceso de dos pasos, se usa el valor de Etag para mantener el elemento de lista y su secuencia de documentos sincronizados.

Enumeración de cambios en los elementos de lista

La enumeración de cambios en los elementos de lista requiere el uso de Etag, que se pasa como un parámetro de consultas get o put de WebDAV. Cada vez que se actualiza una secuencia de documentos en el servidor, se actualiza el valor de Etag del documento para que refleje el cambio. A continuación, se pasa el valor como una propiedad de elemento de lista durante las operaciones de lectura y escritura. El servidor compara el valor de Etag del elemento de lista con el valor de Etag del documento actualizado; como alternativa, el cliente hace la comparación en operaciones de lectura. Esto asegura que el elemento de lista y la secuencia de documentos pertenezcan a la misma operación de lectura y escritura.

La enumeración de cambios en el elemento de lista de la biblioteca de documentos se adquiere mediante el mismo método GetListItemChangesWithKnowledge(String, String, XmlNode, XmlNode, String, XmlNode, String, XmlNode, XmlNode) que se usa para listas regulares. Esta llamada al método proporciona dos cosas a las aplicaciones cliente: una lista de elementos de lista cambiados en la biblioteca de documentos y el conocimiento actual del servidor. A continuación, en el siguiente paso, los parámetros que representan la ruta de acceso del archivo y el valor de Etag se usan para tener acceso a la secuencia de archivos mediante las API de WebDAV o las API que admiten la sincronización de archivos mediante SOAP de HTTP (FSSHTTP o "Cobalt").

Recuperación de la secuencia de documentos cambiada

Después de enumerarse los cambios en el elemento de lista, el siguiente paso consiste en recuperar las secuencias de documentos de los documentos cambiados.

Use el método get de WebDAV para recuperar la secuencia de documentos, junto con el valor de la propiedad Etag del documento. Para obtener más información sobre la recuperación de la secuencia de un elemento, vea el tema sobre la obtención de la secuencia de un elemento (WebDAV). Si el valor de la propiedad Etag que se recupera difiere del valor de la propiedad Etag del contenedor de propiedades del elemento de lista, significa que el documento cambió desde el momento en que se recuperó el elemento de lista. La lógica de la aplicación de cliente determina si el elemento se omite y se recuperan otros elementos en el conjunto de resultados, o si la aplicación vuelve a sincronizar inmediatamente.

Los elementos de lista se devuelven en el orden que aparecen en el registro de cambios. Por lo tanto, después de descargar una secuencia de documentos, el cliente puede actualizar el conocimiento al establecer la versión conocida del último servidor como la versión del elemento procesado. En los casos en que se interrumpió la sincronización, el cliente puede continuar la sincronización desde el último documento sincronizado.

Actualización de documentos en el servidor

SharePoint Foundation admite la promoción y disminución de metadatos de documentos. Si hay instalado un analizador para un tipo de documento específico en el servidor, se llama al analizador para cada documento cuando se carga para extraer propiedades de la secuencia de documentos. A continuación, las propiedades se promueven a las columnas MetaInfo. Si un tipo de documento no tiene analizador, no se realiza la promoción o disminución de nivel de las propiedades.

Los documentos se actualizan en dos etapas:

  1. El cliente de protocolo usa WebDAV para enviar secuencias de documentos al servidor, junto con el valor de Etag del documento que el cliente conoce. Si el valor de Etag en el cliente y el servidor es el mismo, significa que la copia del servidor no se cambió desde la última vez que el cliente recuperó los cambios, y el servidor acepta la versión del nuevo documento. Después de escribir la secuencia de documentos, el servidor promociona las propiedades del documento a las columnas del elemento de lista. A continuación, actualiza la versión del elemento de lista asociado y el valor de Etag del documento. A continuación, envía el nuevo valor de Etag al cliente en un mensaje de respuesta.

  2. Después de recibir el nuevo valor de Etag del documento, el cliente solicita el elemento de lista del documento actualizado. Esto se devuelve con el campo ows_hiddenversion actualizado y el nuevo Etag. El cliente comprueba que el valor de Etag del elemento de lista coincida con el valor de Etag del documento. Si son distintos, significa que el documento se actualizó después de realizar el paso 1 y se debe iniciar la sincronización desde la enumeración de cambios. Si los valores de Etags son iguales, el cliente actualiza su versión de cliente del elemento de lista con el nuevo valor del campo ows_hiddenversion.

Las actualizaciones de documentos pueden desencadenar distintas llamadas a la lógica del lado del lado servidor, desde antivirus hasta flujos de trabajo. Esta lógica del lado servidor puede llevar a actualizaciones de contenido de documentos que podrían ser de interés para el cliente. El cliente va a confiar en el proceso de enumeración de cambios para determinar si necesita descargar un documento actualizado. El cliente tiene que descargar los cambios al documento que actualizó la versión de contenido del documento. Sin embargo, el cliente no puede sincronizar los cambios que modificaron solo la versión del servidor.

Vea también

Conceptos

Sincronización de listas de SharePoint