Los manejadores de eventos constituyen una de las funcionalidades más sencillas de utilizar a la hora de extender nuestras aplicaciones de SharePoint a través del desarrollo. Básicamente permiten agregar comportamiento a nuestra aplicación e implementar reglas de negocio.
Este post pretender describir todos los aspectos de esta técnica, desde la parte conceptual hasta la parte de código con algunos ejemplos en Visual Studio. Está basado en el webcast que dicté el 16/12/2009. Como siempre, espero que les sea útil.

WebCast

Si desean ver el webcast, pueden hacerlo desde:

Si desean ver la presentación que utilicé en el webcast pueden verla aquí:

Introducción

Los manejadores de eventos permiten extender a través de desarrollo una aplicación SharePoint. Agregan comportamiento a listas e ítems entre otros. Un manejador de evento se ejecuta automáticamente como respuesta a un evento como agregar una columna en una lista o modificar un ítem en una lista. Pueden servir para:

  • Validaciones de datos
  • Control de integridad referencial
  • Control de unicidad
  • Ejecución de procesos de negocio
  • Lo que no puede resolver un campo calculado
  • Protección de la parametrización
  • Cambios en la seguridad
  • Controles de seguridad funcional

Si conocen triggers de base de datos, verán que tienen un cierto parecido. Si bien son más potentes, podríamos decir que todo lo que se hace con un trigger, puede hacerse con un evento en SharePoint. Esto puede darles una idea del potencial de esta técnica.

¿Qué eventos maneja SharePoint?

El siguiente gráfico resume los eventos soportados por SP. Pueden observar que existen eventos a nivel de ítems de lista (los que se parecen a los triggers), pero también eventos a nivel de lista, sitio, colección de sitio o característica:
image

Imaginen lo que se puede hacer…

A continuación les daré algunas ideas de lo que se puede hacer con eventos. Son sólo ideas. Es mucho más lo que se puede hacer, pero les servirá de inspiración. Lo importante es que realmente resuelven temas que no existen en SP “out of the box”, en forma bastante sencilla:
image

Tipos de eventos ¿antes o después? ¿sincrónicos o a-sincrónicos?

Es importante aclarar que existen dos tipos de eventos, los que se ejecutan antes de que se efectúe el “commit” de la transacción en la base de datos de contenido y los que se disparan luego de que se ejecute el “commit”. Los primeros son sincrónicos, los segundos a-sincrónicos (en SP 2007, en 2010 es configurable).
image
El siguiente es el mapa completo de todos los eventos que SP 2007 maneja, incluye sus variantes sincrónicas y a-sincrónicas:
image

Evento o Flujo de Trabajo

Por sugerencia de Angel Acha Lizama luego del webcast, me pareció importante incluir una breve comparación entre Eventos y Flujos de trabajo porque son técnicas que tienen algún punto en común y el lector podría encontrar difícil la decisión de cuál usar en cada caso.
En líneas generales tengan en cuenta que un flujo de trabajo suele tener interacción con los usuarios a través de pantallas, puede perdurar en el tiempo (días, semanas, meses, etc.) y requiere persistir la información.
Un evento responde a una transacción y se ejecuta en el momento, no tiene pantallas asociadas, su duración es breve y no debe ser retomado luego de un tiempo, como sucede con un flujo de trabajo.
Les dejo este enlace que me pasó Angel, si quieren ampliar el tema: http://msdn.microsoft.com/en-us/library/ee413841.aspx

Pasos para crear un evento

La siguiente lámina muestras los pasos que se deben seguir para crear un evento. No estamos usando ninguna herramienta, ni extensión para SharePoint que nos facilite la creación, con el fin de explicar los conceptos básicos.
image

Paso 1: crear el proyecto

Si necesitan ayuda con este paso, les dejo este enlace que lo explica en forma detallada: http://sharepoint-puntodeencuentro.blogspot.com/2008/09/registrar-un-evento-mediante-una.html

Paso 2: definición de una clase

Ejemplo muy sencillo de definición de clase, cuyo objetivo es impedir que un administrador agregue columnas en una lista:
image

Paso 3: binding

Existen dos formas de vincular la definición de una clase de un evento a una entidad (lista, característica, etc): 1) a través de XML dentro de una característica y 2) programáticamente. Estas dos formas apuntan a objetivos distintos. A continuación veremos dos ejemplos:

Binding XML
image


Observaciones

  • Sólo pueden registrarse en características cuyo ámbito sea «site».
  • Sólo se puede registrar el evento para un «tipo de lista», no para una lista en particular.
  • También se puede registrar eventos para tipos de contenidos o features.
  • «SequenceNumber» indica el órden cuándo tengo más de un evento.
Binding en forma programática

A diferencia de la opción vía XML, nos permite vincular un evento a una lista específica, en lugar de a un tipo de lista. Ejemplo:

image

Demostraciones

A continuación dejamos el código fuente de las demostraciones que presentamos en el webcast. Tengan en cuenta que se trata de un prototipo, no una aplicación final, por lo cual nos hemos tomados algunas licencias para escribir código y notarán algunas desprolijidades.

Demo 1: completando una columna en un evento de ítem

Este ejemplo muestra como completar un campo dentro de un evento. En el código pueden ver dos ejemplo, un caso común para el campo “Proyecto” y otro para un campo de tipo URL, el campo “Actividad”.

image 

Demo 2: validando integridad en un evento de ítem

El siguiente ejemplo muestra cómo validar “unicidad” de una columna y cancelar la operación, emitiendo un mensaje al usuario, en caso que no se cumpla esta restricción.

imageimage 

image 

Demo 3: ejecutando un proceso de negocio en un evento de ítem

Este ejemplo muestra cómo a partir de la creación de un ítem, se dispara la creación de ítems en otra lista. Muestra cómo se leen los datos de la lista origen, cómo se recorren esos datos y como se crean los ítems en la lista destino.

imageimage image

Demo 4: ejecutando un evento al instalar una característica

Este último ejemplo nos muestra un ejemplo de evento para una característica. El objetivo es hacer cambios de estilos en SharePoint. Para una explicación más amplia pueden consultar este enlace: http://surpoint.blogspot.com/2009/07/cambios-de-estilos-en-sharepoint.html.

image

Paso 4: instalar

No voy a bajar a detalle con este paso, pero quería dejarles el contenido del .”bat” en dónde se muestra la instalación de la dll en la GAC, el copiado de los archivos XML y la instalación de la característica en SharePoint:

image

SharePoint 2010

El siguiente gráfico resume las novedades en SharePoint 2010 respecto a eventos. Lo más importante es saber que hay algunos eventos nuevos, pero fundamentalmente que los eventos “before” pueden ser sincrónicos o a-sincrónicos. Al final de este artículo les dejo un enlace por si necesitan ampliar este tema.

image

Un tema relacionado que no debemos dejar pasar es que SP 2010 agrega el concepto de validación de campos “Out of the box”. Esto es mucho más sencillo de usar que programar un evento para validar de datos. La validación se arma con fórmulas similares a la de los campos calculados y es posible especificar el mensaje de error para el usuario. Estas validaciones se pueden crear a nivel de columnas de sitio, o columnas dentro de una lista.

image

Fin

Aquí termino. Espero que les haya sido útil y lo hayan disfrutado. Hasta la próxima!

Bibliografía y enlaces interesantes

image Libros

  • Inside Microsoft Windows SharePoint Services 3.0 (Chapter 6)
  • By Ted Pattisonand & Daniel Larson (Microsoft Press)

Artículos

por Juan Pablo Pussacq Laborde , el 17.12.09 0 comentarios

Click on pen to Use a Highlighter on this page
Tagged with:
 

1. Agregar la Solucion ArchivoWSP
stsadm -o addsolution -filename {ArchivoWSP}
2. Deploy the solution
stsadm -o deploysolution -name {ArchivoWSP} -url {URLDELSITIO}
3. Instalar la Caracteristica (feature)
stsadm -o installfeature -filename {CARPETADELACARACTERISTICA}\feature.xml
4. Activar la Caracteristica (feature)
stsadm -o activatefeature -id {IDCARACTERISTICA} -url {URLSITIO} -force
5. Desactivar la Caracteristica (feature)
Stsadm.exe -o deactivatefeature -filename “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\{CARPETADELACARACTERISTICA}\feature.xml” -ur http://servername/
6.Desintalar la Caracteristica (feature)
stsadm -o uninstallfeature -filename
7.Retractar la Solucion
stsadm -o retractsolution

-name

[-url]

[-allcontenturls]

[-time]

[-immediate]
8.Eliminar Solucion
stsadm -o deletesolution

Click on pen to Use a Highlighter on this page
Tagged with:
 
Descripción rápida
El complemento Microsoft SQL Server 2005 Reporting Services para las tecnologías de Microsoft SharePoint es una descarga de Web que proporciona las características necesarias para ejecutar un servidor de informes en una implementación más amplia de Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007.

Información general

Microsoft SQL Server 2005 Reporting Services para las tecnologías de SharePoint (complemento Reporting Services) permite aprovechar las capacidades de administración y procesamiento de informes del SP2 de SQL Server 2005 en Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007. La descarga proporciona esta funcionalidad:

  • Un elemento Web Visor de informes que permite ver informes, exportar a otros formatos de representación, explorar páginas, buscar, imprimir y aplicar zoom.
  • Páginas de aplicación Web para crear suscripciones y programaciones, y administrar informes, modelos y orígenes de datos.
  • Compatibilidad con el uso de características estándar de Windows SharePoint Services, incluidas la administración de documentos, la colaboración, la seguridad y la implementación con los tipos de contenido del servidor de informes.

El complemento Reporting Services funciona junto con el SP2, necesario para el servidor de informes. El SP2 proporciona la siguiente funcionalidad para un servidor de informes configurado para el modo integrado de SharePoint:

  • Sincronización de la base de datos de contenido de SharePoint con la base de datos del servidor de informes.
  • Una extensión de seguridad personalizada que usa permisos de SharePoint para controlar el acceso a las operaciones del servidor de informes.
  • Una extensión de entrega nueva que puede usar en las suscripciones para entregar informes a las bibliotecas de SharePoint.
  • Una herramienta de configuración de Reporting Services revisada que puede usar para configurar un servidor de informes para las operaciones integradas de SharePoint.
  • Un extremo SOAP nuevo para administrar el contenido del servidor de informes en el modo integrado de SharePoint.

Advertencia: requiere el boletín de seguridad de Microsoft MS08-052
Para usar esta versión del complemento Reporting Services, la implementación del servidor SQL Server Reporting Services usada junto con el complemento Reporting Services debe revisarse con las actualizaciones enumeradas en la sección Microsoft SQL Server en el boletín de seguridad de Microsoft MS08-052

Advertencia: no se permite la actualización automática
Las versiones preliminares (CTP) del complemento Reporting Services no pueden actualizarse a esta versión de lanzamiento.

 Principio de página

Requisitos del sistema

  • Sistemas operativos compatibles: Windows Server 2003 Service Pack 1
  • Microsoft .NET Framework 3.0.
  • 40 MB de espacio disponible en disco duro.
  • 2 gigabytes de RAM.

El equipo debe cumplir los siguientes requisitos de software:

  • Microsoft Office SharePoint Server 2007 o Windows SharePoint Services 2007 con Compatibilidad con programación de .NET.
  • Microsoft Windows Server 2003 con los Service Pack más recientes (sólo x86), configurado para ejecutarse como un servidor de aplicaciones con ASP.NET 2.0 habilitado.
  • SP2 de SQL Server 2005 Reporting Services. (Las ediciones de SQL Server compatibles son Standard, Evaluation, Developer y Enterprise. La integración del servidor no es compatible con la versión Workgroup Edition de Reporting Services o SQL Server 2005 Express con Advanced Services.)
  • SP2 de SQL Server 2005 Reporting Services se debe revisar con las actualizaciones que se enumeran en Microsoft SQL Server en el boletín de seguridad de Microsoft MS08-052
  • Windows SharePoint Services 3.0 u Office SharePoint Server 2007. El complemento Reporting Services no es compatible con versiones anteriores de Windows SharePoint Services.
  • Los sitios Web no se pueden habilitar para el acceso anónimo.
  • Microsoft Internet Explorer 6.0 con SP2 o posterior. Se recomienda encarecidamente Microsoft Internet Explorer 7.0.

 Principio de página

Instrucciones

Puede instalar o configurar los servidores en cualquier orden, pero las operaciones integradas sólo estarán disponibles cuando se hayan completado los pasos de configuración en los dos servidores. Para obtener información detallada acerca de los pasos de la instalación, vea el archivo Léame del complemento Reporting Services.

    Paso 1: instalar una instancia de la tecnología de SharePoint.

    Paso 2: instalar Reporting Services, aplicar Service Pack 2 de SQL Server 2005 y aplicar actualizaciones que se enumeran en Microsoft SQL Server en el boletín de seguridad de Microsoft MS08-052.

    Paso 3: configurar Reporting Services.

    Paso 4: descargar el complemento Reporting Services haciendo clic en el vínculo SharePointRS.msi, más adelante en esta página. Para iniciar la instalación inmediatamente, haga clic en Ejecutar. Para instalar en otro momento, haga clic en Guardar.

    Paso 5: instalar el complemento Reporting Services y configurar el servidor de informes en la instancia de la tecnología de SharePoint.

    Paso 6: establecer permisos y agregar tipos de contenido de Reporting Services.

    Paso 7: comprobar la instalación.

Click on pen to Use a Highlighter on this page
Tagged with:
 
Integración de Reporting Services con SharePoint (I)

Articulos

Articulo de Pablo Sousa Lastra sobre Reporting Services y SharePoint 2007
Autor: Pablo Sousa Lastra
Nota: Articulo de Pablo Sousa Lastra publicado en el Blog del Centro de Innovacion en Integracion – CIIN.En este post vamos a explicar los pasos a seguir para la instalación y el uso de Microsoft SQL Server 2005 Reporting Services en sitios SharePoint, ya sean WSS 3.0 o MOSS. Esta configuración la conseguimos gracias a que Microsoft ha publicado recientemente la versión definitiva del Service Pack 2 de SQL Server que entre una de sus muchas novedades, habilita dentro de la configuración del Reporting Services una nueva opción para poderlo integrar con sitios SharePoint y a los también publicados Add-in de SQL Server 2005 Reporting Services para SharePoint, que nos incluyen:

· Dos Web Part, Report Explorer y Report Viewer que nos permiten visualizar informes, exportarlos con otros formatos, imprimir y realizar zoom
· Tres content types, Report Builder Model, Report Builder Report y Report Data Source con las que podemos diseñarnos informes desde el propio SharePoint conociendo el origen de los datos
· Nuevas opciones en la administración central de SharePoint para administrar el acceso y la seguridad al servidor de Reporting Services

Antes de empezar a configurar el servidor de Reporting Services y el de SharePoint, tenemos que estar seguro de que nuestro escenario tengamos instalados todos estos componentes:

· SQL Server 2005 Reporting Services
· SQL Server 2005 Service Pack 2
· Office SharePoint Server 2007 ó Windows SharePoint Services 3.0
· Microsoft SQL Server 2005 Reporting Services Add-in for Microsoft SharePoint Technologies

Configuración del servidor de Reporting Services

Lo primero que vamos a realizar es la configuración del servidor de Reporting Services para poderlo integrar con sitios SharePoint. Para ello vamos a realizar los siguientes pasos:

· Configurar los parámetros del IIS para definir un sitio web en el que alojar los Reporting Services

   · Accedemos a la administración del IIS
   · Normalmente, veremos que el Default Web Site está parado, ya que SharePoint utiliza el puerto 80 en un sitio web diferente y deshabilita este sitio, por eso vamos modificarle especificando un puerto diferente, ej. 8080, y después lo habilitamos para que así esté disponible en la configuración de Reporting Services

· Vamos a la pantalla de administración de Reporting Services pulsando sobre Start à All Programs à Microsoft SQL 2005 à Configuration Tools à Reporting Services Configurations
· El primer paso que realizamos para la configuración es entrar en la opción de Report Server Virtual Directory y crear un nuevo directorio virtual en nuestro sitio web, seleccionando el Default Web Site y estableciendo un nombre del directorio virtual, por defecto ReportServer

· Después pulsamos sobre la opción Database Setup para crear una nueva base de datos de Reporting Services y la vinculamos con nuestro sitio SharePoint realizando los siguientes pasos:

   · Seleccionamos el servidor SQL Server donde queramos guardar la base de datos
   · Pulsamos sobre New para crear esta base de datos, especificamos las credenciales con permisos necesarios en el SQL Server para crear bases de datos y establecemos un nombre a la base de datos, ReportServer
   · Por último seleccionamos la opción Create the report server database in SharePoint integrated mode para integrarlo con SharePoint y pulsamos Ok.

   · Nos aparecerá una pantalla en la que volveremos a especificar las credenciales de un usuario con privilegios administrativos que el servidor usará para acceder a la base de datos.

· Por último, pulsamos sobre Web Service Identity y seleccionamos el application pool que queremos que tenga asociado nuestro sitio web ReportServer.


Ahora que ya tenemos configurado todos los parámetros del Reporting Services, pulsamos sobre la opción de SharePoint Integration y vemos que aparece un enlace que nos abrirá la administración central de SharePoint para poder seguir con la configuración.

Nota: Una consideración a tener en cuenta, es que si instalamos el servidor de Reporting Services en una maquina diferente a donde tenemos instalado SharePoint, tendremos que realizar una instalación básica de SharePoint en este servidor para que tenga disponible el modelo de objetos de SharePoint.

Configuración del servidor SharePoint

Una vez que ya tenemos configurado nuestro servidor de Reporting Services y después de ejecutar el programa de instalación de Microsoft SQL Server 2005 Reporting Services Add-in para Microsoft SharePoint Technologies en el servidor de SharePoint, vamos a configurar nuestro servidor SharePoint. Para ello, si vamos a la administración central de SharePoint y pulsamos sobre la ficha de Application Management podremos ver el nuevo menú de Reporting Services que nos ha añadido estos add-in.

Este menú está compuesto por tres apartados diferentes que tendremos que configurar uno a uno para terminar de configurar nuestro servidor, y que sirven para:

· Manage integration settings: Configurar la URL de acceso al servidor de Reporting Services (ej. http://ServerName:8080/reportserver) y su modo de auntentificación (Windows o trusted account)

Grant database Access: Configurar el nombre del servidor donde se encuentra la base de datos de Reporting services y las credenciales necesarias para poder acceder a ella.


Set Server defaults: Modificar otros parámetros de la configuración como los timeout de acceso, habilitar los logs, …

Una vez que hayamos terminado de realizar todos estos pasos, ya tendremos configurado nuestro servidor SharePoint para poder utilizar Reporting Services.

Links de descargas:

Microsoft SQL Server 2005 Reporting Services Add-in para Microsoft SharePoint Technologies.  -  Novedades

Microsoft SQL Server 2005 SP 2.  -  Novedades

http://www.gavd.net/servers/sharepointv3/spsv3_item.aspx?top=art&itm=430

Click on pen to Use a Highlighter on this page
Tagged with:
 
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Workflow New!
  • MSDN Virtual Lab: Rich Internet Applications with Silverlight and Sharepoint New!
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Content Types New!
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Page Branding New!
  • MSDN Virtual Lab: Integrating the New Mobility Features of Microsoft Office SharePoint Server 2007 with Windows Mobile New!
  • MSDN Virtual Lab: Getting Started with the Business Data Catalog in Microsoft Office SharePoint Server 2007 New!
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Event Handler
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Content Types
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Data Lists – C#
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Page Branding
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Page Navigation
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Web Parts
  • MSDN Virtual Lab: A SharePoint Developer Introduction – User Management
  • MSDN Virtual Lab: A SharePoint Developer Introduction – Web Services – C#
  • MSDN Virtual Lab: Microsoft Office SharePoint Server 2007 Installation and Configuration
  • MSDN Virtual Lab: Microsoft Office SharePoint Server 2007 Records Management Deployment and Configuration
  • MSDN Virtual Lab: Microsoft Office SharePoint Server 2007 Enterprise Features Administration
  • MSDN Virtual Lab: What’s New in Microsoft Office SharePoint Server 2007 Feature Walkthrough
  • Click on pen to Use a Highlighter on this page
    Tagged with:
     

    Skype Online Status 

    Contáctanos por Skype Call me! - Rolando Escobar: Offline
    » Get Skype, call free! Servicios en Línea
     
     
    Servicios Interdata Ltda. Colaboración e Inteligencia de Negocios, SQL Server 2008, Analysis Services, SharePoint, Excel Services, Reporting Services

    Switch to our mobile site