SharePoint 2013: Novedades en manejadores de eventos!

A nivel de manejadores de eventos, en SharePoint 2013 nos encontramos con los siguientes cambios con respecto a SharePoint 2010:

  • A nivel de soluciones Sanbox y granja, se soportan los mismos tipos de eventos.
  • En lo que al nuevo modelo de aplicaciones se refiere, se introducen los manejadores de eventos remotos:
    • Permiten a las Aplicaciones responder a eventos que tienen lugar en elementos de SharePoint como Listas o elementos de Listas.
    • Permiten reaccionar a cambios en sistemas externos: las listas externas soportan manejadores de eventos
  • Además, se introducen manejadores específicos para la gestión de aplicaciones:
    • Nos permiten responder a eventos qué tienen lugar cuando una aplicación se ha instalado, una aplicación está siendo desinstalada y una aplicación se ha actualizado.

A nivel de herramientas, la experiencia de creación de manejadores de eventos clásicos, de aplicaciones y remotos es similar…si bien nos encontraremos con ciertas peculiaridades:

  • El asistente para crear el manejador de eventos remoto es idéntico al de crear manejadores de eventos clásicos con la diferencia de qué tendremos menos eventos a manejar. Por ejemplo, no tenemos la posibilidad de crear manejadores de eventos para flujos de trabajo.
  • A nivel de estructura de proyecto, tendremos por una parte el proyecto de la aplicación en el que se crea un SPI (SharePoint Project Item).
image image
  • El SPI contiene el manifiesto con la definición del manejador: plantilla de lista a la que aplica, nombre del manejador y evento a controlar…además de indicar la Url del servicio con la lógica del workflow.
   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:   <Receivers ListTemplateId="100">

   4:       <Receiver>

   5:         <Name>RemoteERSampleItemAdding</Name>

   6:         <Type>ItemAdding</Type>

   7:         <SequenceNumber>10000</SequenceNumber>

   8:         <Url>~remoteAppUrl/RemoteERSample.svc</Url>

   9:       </Receiver>

  10: </Receivers>

  11: </Elements>

  • Por otra parte, tendremos el proyecto web con el servicio WCF en el qué se define la lógica del manejador remoto que pasa por implementar dos métodos:
   1: public class RemoteERSample : IRemoteEventService

   2: {

   3:     public SPRemoteEventResult ProcessEvent(RemoteEventProperties properties)

   4:     {

   5:         SPRemoteEventResult result = new SPRemoteEventResult();

   6:         //Código para eventos síncronos        

   7:  

   8:         return result;

   9:     }

  10:  

  11:     public void ProcessOneWayEvent(RemoteEventProperties properties)

  12:     {

  13:         //Código para eventos asíncronos

  14:     }

  15: }

  •  
    • ProcessEvent() que se encarga de gestionar los eventos que tienen lugar antes de qué la acción ocurra, es decir, define la lógica para eventos de tipo síncrono.
    • ProcessOneWayEvent(), que se encarga de gestionar aquellos eventos que tienen lugar después de qué la acción ocurra, es decir, define la lógica de tratamiento de eventos de tipo asíncrono.

Referencias:

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

6 comentarios en “SharePoint 2013: Novedades en manejadores de eventos!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *