Turn on more accessible mode
Skip Ribbon Commands
Skip to main content
Turn on Animations

Programando un controlador de eventos para librerías

Codigo


Cuando documentos dentro de una librería cambian, un evento de SharePoint es activado. Con código es posible leer los cambios y actuar consecuentemente. Estos son los pasos iniciales para programar un Controlador de Eventos. El código de la clase lo puede encontrar en el archivo "ControladorEventos.zip".
Autor: Gustavo

Siga los siguientes pasos para activar los eventos en SharePoint y para construir la clase que será ejecutada con el evento. La clase de ejemplo que puede bajar desde este sitio solamente tiene una funcionalidad básica: escribir a un archivo el tipo de evento y las propiedades antes y después de que el evento ocurre.

  1. Active los controladores de eventos in SharePoint: Desde el Portal vaya a "Configuración del sitio" -> "Ir a la administración central de SharePoint Portal Server" -> "Configurar opciones de servidor virtual desde la pagina Lista de servidores virtuales" -> Escoja su servidor virtual -> "Configuración general del servidor virtual" -> "Controladores de eventos" -> "Activados"
  2. Cree un nuevo proyecto en VisualStudio del tipo "Biblioteca de clases". Añada una referencia a "Windows SharePoint Services"
  3. En la nueva clase, cree un método para recibir el evento:
       Void IListEventSink.OnEvent(SPListEvent evnControl)
    En el cuerpo del método es donde el código actuara.
  4. Cree un nombre seguro para el dll, incluya la clave en el AssemblyInfo y cambie el "AssemblyVersion" a un numero fijo (por ejemplo "1.0.0.0" y no "1.0.*"). Compile el proyecto y registre el dll en el GAC (controladores de eventos tienen que estar en el GAC). Ejecute un "iisreset".
  5. Cree una Librería de Documentos en el portal, vaya a "Modificar configuración y columnas" -> "Cambiar configuración avanzada" -> especifique el "Nombre del ensamblado" (formato: [Nombre del Ensamblado, sin extensión], Version=1.0.0.0, Culture=neutral, PublicKeyToken=[la clave que ha hecho en el punto 4]) y "Nombre de clase" (formato: [Nombre NameSpace].[Nombre Clase]).
  6. Cada vez que algo ocurre con un documento de la librería, el evento activara el código del ensamblado. Solamente las librerías del tipo "Biblioteca de documentos" y "Biblioteca de formularios" tienen la capacidad de activar eventos de control.