« - »

Cómo crear eventos de SharePoint

Jueves, 12 de junio de 2008

Los eventos de SharePoint nos permite controlar cuando se ejecutan en nuestro portal una serie de acciones a nivel de listas, bibliotecas o webs. Gracias a esto podemos asociar código propio a este serie de eventos para realizar otras acciones o actualizaciones, realizar validaciones o incluso cancelar la inserción de un documento o elemento a una lista.

Tenemos dos tipos de eventos en función de cuando se ejecutan. Podemos asociar un evento cuando ya se ha realizado una acción, es decir, tras producirse una inserción, actualización o eliminación. El otro tipo se ejecuta a la vez que la acción y éste nos permite cancelar el proceso, por ejemplo si tras una validación queremos cancelar la inserción de un documento por no cumplir una condición.

Los eventos a los que podemos asociar código son los siguientes:

SPItemEventReceiver
ItemAdded ItemAdding ItemAttachmentAdded ItemAttachmentAdding
ItemAttachmentDeleted ItemAttachmentDeleting ItemCheckedIn ItemCheckedOut ItemCheckingIn ItemCheckingOut ItemDeleted ItemDeleting ItemFileConverted ItemFileMoving ItemUncheckedOut ItemUncheckingOut ItemUpdated ItemUpdating
SPListEventReceiver
FieldAdded FieldAdding FieldDeleted FieldDeleting FieldUpdated FieldUpdating
SPWebEventReceiver
SiteDeleted SiteDeleting WebDeleted WebDeleting WebMoved WebMoving

En este post vamos a seguir paso a paso como crear un evento sencillo con Visual Studio 2005. En el ejemplo vamos cancelar la inserción de un elemento a una lista en cualquier caso. Aunque no es muy realista el ejemplo, nos sirve para ver la funcionalidad y las posibilidades de los eventos. Tras crear un evento y registrarlo en el GAC, debemos asociarlo a una lista o biblioteca o sitio. Este último paso lo dejaremos para un segundo post.

COMO CREAR UN EVENTO EN SHAREPOINT CON VISUAL STUDIO

Creamos proyecto Tipo Biblioteca de Clase:

image1

Agregamos una referencia a la .dll de SharePoint para poder trabajar con su modelo de objetos:

image2

La encontraremos en “En examinar”, en la ruta C:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\ISAPI :

image3

Agregamos “using Microsoft.SharePoint “:

image4

Cambiamos el nombre de la clase por AddingAction, hacemos que herede de Microsoft.Sharepoint.SPITemEventReceiver y sobrescribimos el método ItemAdding:

image

Metemos el código para el evento. En este caso paramos la inserción y mostramos mensaje de error:

image

Con esto ya tenemos todo el código escrito. Ahora deberemos firmar el ensamblado para poder registrarlo en el GAC del servidor:

image

image

Marcamos el checkbox “Firmar el ensamblado” y “Nuevo” en “Seleccione un archivo de clave de nombre seguros”

image image

El explorador de soluciones nos quedará algo parecido a:

image

Hecho esto, lo registraremos en el GAC mediante un comando. Si este comando lo introducimos en el “Post-Build Event” de Visual Studio, automatizaremos el actualizar nuestros cambios en el servidor cada vez que compilemos nuestro código en el Visual Studio.

Para ello, volvemos a la ventana propiedades del proyecto, en el apartado “Eventos de Generación”:

image

Y aquí en “Línea de comandos del evento posterior a la generación”, introduciremos el siguiente comando (cada comando en una misma línea):

“c:\Archivos de programa\Microsoft Visual Studio 8\SDK\v2.0\bin\gacutil.exe” /nologo /i “$(TargetPath)” /f

c:\WINDOWS\system32\iisapp.vbs /a “Sharepoint – 80″ /r

donde “Sharepoint – 80” es el nombre del “grupo de aplicaciones” que ejecuta el MOSS. Podemos verlo en la Administración del IIS. Este segundo comando recicla el “Grupo de Aplicaciones”.image

En este momento, si generamos nuestro proyecto, lo estaremos agregando al GAC y reciclando el Grupo de Aplicaciones para que SharePoint tenga en cuenta esta nueva .dll.

Tras esto, tendremos que asociar nuestro evento a la lista. Lo podremos hacer de hasta 3 maneras diferentes.

  1. Creando una característica de SharePoint, que nos permitirá activarla y desactivarla desde el propio SharePoint.
  2. Con una aplicación de consola con el modelo de objetos de Sharepoint.
  3. De forma automática con una aplicación gratuita de administración de SharePoint llamada SharePoint Inspector.

Esto lo veremos en el próximo post.


4 Respuestas to ' Cómo crear eventos de SharePoint '

Suscribirse a comentarios con RSS or TrackBack to ' Cómo crear eventos de SharePoint '.


  1. el julio 11th, 2008 a las 0:21

    […] « Cómo crear eventos de SharePoint […]

  2. jmmartinez dice,

    el enero 16th, 2009 a las 11:27

    Hola, quería saber si se puede customizar la pantalla de error, para un evento itemadding determinado.

  3. Alexis dice,

    el junio 12th, 2009 a las 17:10

    esta es una prueba de como funciona

  4. Yanely dice,

    el enero 10th, 2011 a las 19:59

    Hola, me ha servido muchísimo este ejemplo de crear eventos en SharePoint.
    Yo necesito saber, específicamente, cómo a partir de la creación de un elemento en una lista de un sitio determinado, se dispara la creación de ese mismo elemento en otra lista de otro sitio.
    Por favor sería de gran utilidad si tuvieran algún ejemplo relacionado con lo que les he comentado.
    Muchas gracias de antemano,
    Yanely.

Dejar una respuesta

Dark traducido por Reproduccion Asistida Inspirado en: Bloggerlounge & Arquitectura