manejadores de eventos en wss 3.0

23
manejadores de eventos en windows sharepoint services 3.0 Web: http://www.rmya.com.ar/ Geesk.Ms http://geeks.ms/blogs/jpussacq/ Blog técnico: http://surpoint.blogspot.com/ Blog no técnico: http://excelza.blogspot.com/ Twitter: http://www.twitter.com/excelza Mail: [email protected] Juan Pablo Pussacq Laborde

Upload: guest9122e8

Post on 07-Jul-2015

384 views

Category:

Documents


0 download

DESCRIPTION

WebCast en el que veremos los manejadores de eventos en SharePoint. Si bien esta herramienta implica adentrarse en el mundo de desarrollo de SharePoint, es una de las extensiones más sencillas de utilizar. Haremos un recorrido rápido del alcance de esta funcionalidad y veremos un ejemplo desde Visual Studio. Por último comentaremos las novedades de SharePoint 2010 respecto a este tema.

TRANSCRIPT

Page 1: Manejadores de Eventos en WSS 3.0

manejadores de eventosen windows sharepoint services 3.0

Web: http://www.rmya.com.ar/

Geesk.Ms http://geeks.ms/blogs/jpussacq/

Blog técnico: http://surpoint.blogspot.com/

Blog no técnico: http://excelza.blogspot.com/

Twitter: http://www.twitter.com/excelza

Mail: [email protected]

Juan Pablo Pussacq Laborde

Page 2: Manejadores de Eventos en WSS 3.0

agenda

Conceptos sobre eventos en WSS 3.0

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

Demo 2: validando integridad en un evento de ítem

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

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

Novedades eventos en SharePoint 2010

Bibliografía y enlaces interesantes

Preguntas

Page 3: Manejadores de Eventos en WSS 3.0

¿desarrollar en SharePoint? ¿cuándo?

Desarrollo80% de la aplicación

con el 20% del esfuerzo

Manejadores de Eventos

FeaturesApplication

Pages

Listas

Flujos de trabajo

PáginasWebparts

- Más rápido

- Mejor calidad

- Prototipable

- Más ordenado

OOB (out of the box)

Page 4: Manejadores de Eventos en WSS 3.0

¿qué son los 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

Page 5: Manejadores de Eventos en WSS 3.0

¿qué eventos maneja WSS 3.0?

Page 6: Manejadores de Eventos en WSS 3.0

imaginen…

Validaciones de datos

•Validar un dato de acuerdo a algún formato o basado en otras columnas

Control de integridad referencial

•Verificar que el valor ingresado exista en una tabla SQL

Control de unicidad

•Verificar que el valor de una columna no se repita dentro de la lista

Ejecución de procesos de negocio

•Disparar la creación de ítems en otras listas

Lo que no puede resolver un campo calculado

•Un cálculo basado en la columna ID (no soportada en campos calculados)

Protección de la parametrización

•Impedir que un administrador cambie la configuración de una lista

Cambios en la seguridad

•Modificar la seguridad de un ítem de acuerdo al valor de una columna

Controles de seguridad funcional

•Controlar el acceso a un ítem de acuerdo a alguna regla de negocio

Page 7: Manejadores de Eventos en WSS 3.0

¿antes o después? ¿sincrónico o asincrónico?

Se ejecutan cuando el usuario escribió información en la base de contenido.

Ocurre en forma temprana en el ciclo de vida de procesamiento, permitiendo cancelar la operación.

Gran oportunidad para efectuar validaciones personalizadas.

Permiten acceder al valor de las columnas antes y después de la modificación (AfterProperties y BeforeProperties)

Son sincrónicos (bloquean).

Terminan en «ing» (ItemAdding).

Se ejecutan luego de que la información ha sido confirmada («commit») en la base de contenido.

No permiten cancelación.

Son a-sincrónicos (no bloquean).

Terminan en «ed» (ItemAdded).

BE

FO

RE

(A

nte

s)

AF

TE

R (D

esp

s)

Page 8: Manejadores de Eventos en WSS 3.0

todos los eventos

Page 9: Manejadores de Eventos en WSS 3.0

pasos para crear un evento

Crear Proyecto

• En Visual Studio

• De tipo «class library»

Definición la clase que herede de:

• SPListEventReceiver

• SPItemEventReceiver

• SPWebEventReceiver

• SPEmailEventReceiver

• SPFeatureReceiver

«Bind» a una lista o sitio según corresponda. A través de:

• XML en una Feature

• Programáticamente

Instalar

• La clase en la GAC con «strongname»

• La característica con STSADM

• IISReset

Page 10: Manejadores de Eventos en WSS 3.0

definición de la clase

namespace surpoint

{

public class ListasEventReceiver : SPListEventReceiver

{

public override void FieldAdding(SPListEventProperties properties)

{

properties.ErrorMessage = "No puede alterar la lista";

properties.Cancel = true;

}

}

}

Page 11: Manejadores de Eventos en WSS 3.0

binding (XML)

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

<Receivers ListTemplateId= "105" >

<Receiver>

<Name>Field Adding Event</Name>

<Type>FieldAdding</Type>

<Assembly>YQPlus, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=1608adf520825e49 </Assembly>

<Class>YQPlus.ContactosEventReceiver</Class>

<SequenceNumber>1000</SequenceNumber>

</Receiver>

</Receivers>

</Elements>

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.

Page 12: Manejadores de Eventos en WSS 3.0

tipos de listas

Sólo se puede registrar

el evento para un «tipo

de lista», no para una

lista en particular.

Page 13: Manejadores de Eventos en WSS 3.0

binding (programáticamente)

string ensamblado = "YQPlus, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=1608adf520825e49";

string claseProyectos = "YQPlus.ProyectosEventReceiver";

SPList listProyectos = site.Lists["Proyectos"];

listProyectos.EventReceivers.Add(SPEventReceiverType.ItemAdded,

ensamblado,

claseProyectos);

Page 14: Manejadores de Eventos en WSS 3.0

DEMO

Page 15: Manejadores de Eventos en WSS 3.0

demo 1completando una columna en un evento de ítem

Page 16: Manejadores de Eventos en WSS 3.0

demo 2 validando integridad en un evento de ítem

Page 17: Manejadores de Eventos en WSS 3.0

demo 3ejecutando un proceso de negocio en un evento de ítem

Page 18: Manejadores de Eventos en WSS 3.0

demo 4ejecutando un evento al instalar una característica

Page 19: Manejadores de Eventos en WSS 3.0

SharePoint 2010, lo nuevo en eventos

Nuevos eventos

• Lista

• ListAdding

• ListAdded

• ListDeleting

• ListDeleted

• Web

• WebAdding

• WebProvisioned

Sincronismo

• Los eventos Afterahora pueden ser sincrónicos.

• En forma predeterminada son a-sincrónicos

Algunas variantes adicionales

respecto al ámbito (scope) en que se

registran los eventos

Page 20: Manejadores de Eventos en WSS 3.0

SharePoint 2010, lo nuevo muy relacionado

Page 21: Manejadores de Eventos en WSS 3.0

bibliografía y enlaces interesantes

Libros Inside Microsoft Windows SharePoint Services 3.0 (Chapter 6)

By Ted Pattisonand & Daniel Larson (Microsoft Press)

Artículos MSDN: http://msdn.microsoft.com/en-us/magazine/cc163318.aspx (Events

in SharePoint 2007)

MSDN SharePoint 2010: http://msdn.microsoft.com/en-

us/library/ee540025(office.14).aspx (Events Improvements)

Surpoint: http://surpoint.blogspot.com/search/label/Eventos

Material de este webcast Próximamente en http://surpoint.blogspot.com/

Page 22: Manejadores de Eventos en WSS 3.0

¿preguntas?

Page 23: Manejadores de Eventos en WSS 3.0

gracias!manejadores de eventos en Windows SharePoint Services 3.0

Web: http://www.rmya.com.ar/

Geesk.Ms http://geeks.ms/blogs/jpussacq/

Blog técnico: http://surpoint.blogspot.com/

Blog no técnico: http://excelza.blogspot.com/

Twitter: http://www.twitter.com/excelza

Mail: [email protected]

Juan Pablo Pussacq Laborde