Analizadores de documentos personalizados

Última modificación: lunes, 01 de noviembre de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Requisitos del analizador
Asociación de analizadores
Implementación de analizadores

La administración de los metadatos asociados con un documento es una de las ventajas más eficaces de almacenar el contenido empresarial en Microsoft SharePoint Foundation 2010. Sin embargo, mantener esa información sincronizada entre el nivel de la biblioteca de documentos y el propio documento es un desafío. SharePoint Foundation proporciona la infraestructura del analizador de documentos, que permite al usuario crear e instalar analizadores de documentos personalizados que pueden analizar los tipos de archivo personalizados y actualizar un documento con los cambios realizados en el nivel de la biblioteca de documentos y viceversa. El uso de un analizador de documentos para los tipos de archivo personalizados ayuda a asegurarse de que los metadatos del documento estén siempre actualizados y sincronizados entre la biblioteca de documentos y el propio documento.

Un analizador de documentos es un objeto COM personalizado que, al implementar la Interfaz ISPDocumentParser, hace lo siguiente cuando SharePoint Foundation lo invoca:

  • Extrae valores de propiedades de documentos de un documento de un tipo de archivo determinado y pasa dichos valores de propiedad a SharePoint Foundation para su promoción a las columnas de propiedad de la biblioteca de documentos.

  • Recibe las propiedades de documento y después disminuye el nivel de dichos valores de propiedad al del propio documento.

  • Además, actualiza la información de tipo de contenido, detecta y repara vínculos y extrae una imagen en miniatura.

Esta funcionalidad permite a los usuarios editar propiedades de documento en el propio documento y actualizar automáticamente los valores de propiedad en la biblioteca de documentos para reflejar los cambios. Del mismo modo, los usuarios pueden actualizar los valores de propiedad en el nivel de la biblioteca de documentos y hacer que esos cambios se implementen automáticamente en el documento.

Para obtener más información acerca de cómo SharePoint Foundation invoca analizadores de documentos y cómo estos analizadores aumentan o disminuyen el nivel de los metadatos de documentos, consulte Promoción y disminución de nivel de propiedades de documento.

Requisitos del analizador

Para que SharePoint Foundation use un analizador de documentos personalizado, el analizador de documentos debe cumplir las condiciones siguientes:

  • El analizador de documentos debe ser un componente COM que implementa la Interfaz ISPDocumentParser.

    Para obtener más información, consulte Introducción a la interfaz del analizador de documentos.

  • Debe instalar y registrar el componente COM en cada servidor web de la instalación de SharePoint Foundation.

  • Debe registrar el analizador de documentos en SharePoint Foundation. Para ello, agréguelo a la colección devuelta por la propiedad PluggableParsers de la clase SPWebService. (Debido a esto, los analizadores personalizados se denominan "acoplables".)

Asociación de analizadores

SharePoint Foundation selecciona el analizador de documentos que se invocará en función del tipo de archivo del documento que se va a analizar. Cualquier tipo de archivo determinado puede asociarse a un único analizador de documentos. Sin embargo, el mismo analizador de documentos puede asociarse a varios tipos de archivo diferentes.

Puede identificar qué analizador de documentos está asociado a un tipo de archivo determinado mediante el análisis de la colección devuelta por la propiedad PluggableParsers de la clase SPWebService. Por ejemplo, la siguiente aplicación de consola enumera los analizadores acoplables registrados en el servicio de contenido en el servidor local e imprime cada extensión de nombre de archivo y el identificador de programa correspondiente.

using System;
using System.Collections.Generic;
using Microsoft.SharePoint.Administration;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            SPWebService service = SPWebService.ContentService;

            Dictionary<string, SPDocumentParser> parsers = service.PluggableParsers;
            Dictionary<string, SPDocumentParser>.KeyCollection keys = parsers.Keys;

            Console.WriteLine("Ext       ProgID");
            Console.WriteLine("---       ------");
            foreach (string key in keys)
            {
                Console.WriteLine("{0, -7}   {1}", parsers[key].FileExtension,  parsers[key].ProgId );
            }
            Console.Write("\nPress ENTER to continue...");
            Console.ReadLine();
        }
    }
}

Para asociar un analizador de documentos personalizado a un tipo de archivo, agregue el analizador a la colección devuelta por la propiedad PluggableParsers de la clase SPWebService. Por ejemplo, la siguiente aplicación de consola crea un analizador personalizado y lo asocia a los archivos que tengan la extensión "txt", mediante la adición del analizador a la colección de analizadores acoplables para el servicio de contenido en el servidor local.

using System;
using System.Collections.Generic;
using Microsoft.SharePoint.Administration;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            SPWebService service = SPWebService.ContentService;
            Dictionary<string, SPDocumentParser> parsers = service.PluggableParsers;

            // Create a custom parser.
            string extension = "txt";
            string progID = parsers["docx"].ProgId;
            SPDocumentParser customParser = new SPDocumentParser(progID, extension);

            // Remove any existing parser for the file type.
            if (parsers.ContainsKey(extension))
            {
                parsers.Remove(extension);
                service.Update();
            }

            // Add the new parser for the file type.
            service.PluggableParsers.Add(extension, customParser);
            service.Update();
        }
    }
}
Nota de precauciónPrecaución

SharePoint Foundation 2010 incluye varios analizadores de documentos integrados. Puede reemplazar un analizador de documentos integrado con uno personalizado, pero debe hacerlo solo después de una consideración cuidadosa, especialmente si tiene pensado reemplazar un analizador para un tipo de archivo basado en HTML. Los analizadores integrados a veces hacen más de lo que permite la interfaz del analizador acoplable.

Implementación de analizadores

Para garantizar que SharePoint Foundation puede invocar un analizador determinado siempre que sea necesario, debe instalar cada el componente COM en todos los servidores front-end web en la instalación de SharePoint Foundation. Debido a esta razón, solo puede especificar un único analizador para un tipo de archivo determinado en toda una instalación de SharePoint Foundation.

La infraestructura del analizador de documentos no incluye la capacidad de empaquetar e implementar un analizador de documentos personalizado como parte de una característica de SharePoint Foundation.

Vea también

Referencia

SPDocumentParser

Conceptos

Promoción y disminución de nivel de propiedades de documento

Análisis de documentos y tipos de contenido

Introducción a la interfaz del analizador de documentos