SharePoint Online: Cómo registrar un manejador de eventos contra una lista personalizada (I)!

A raíz de una cuestión relativa a manejadores de eventos en SharePoint Online (SPO), me he encontrado con la sorpresa de qué cuando creas un manejador para una lista de tipo personalizada este no se registra por defecto y por lo tanto no funciona. El manejador en sí se despliega de forma correcta a través de la correspondiente solución Sandbox, pero a la hora de verlo en acción nada de nada…ante este comportamiento, cabían dos posibles respuestas:

  • En primer lugar, no es posible registrar de forma declarativa un manejador de eventos para una lista personalizada de SPO…lo cuál me extrañaba.
  • En segundo lugar, este registro igual sólo se puede hacer de forma programática con un manejador de característica por ejemplo.

Ante estas dudas, tocaba hacer las correspondientes pruebas…la primera ver si el registro declarativo nos deja alguna opción para agregar un manejador a una lista personalizada y la respuesta es qué sí…el truco pasa por usar el atributo ListUrl en lugar del ListTemplateId de forma que nos aseguremos que el manejador se registra y además lo hace para una lista concreta…y efectivamente, así es:

   1: <?xml version="1.0" encoding="utf-8"?>

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

   3:   <Receivers ListUrl="Lists/SPCustomList">

   4:       <Receiver>

   5:         <Name>CustomListERItemAdding</Name>

   6:         <Type>ItemAdding</Type>

   7:         <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>

   8:         <Class>SPOERPOC.CustomListER.CustomListER</Class>

   9:         <SequenceNumber>10000</SequenceNumber>

  10:       </Receiver>

  11:   </Receivers>

  12: </Elements>

La segunda aproximación, pero ya en otro post, pasa por realizar el registro de forma programática en la lista en cuestión. Finalmente, os dejo otros posts relacionados con este tema:

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.

4 comentarios en “SharePoint Online: Cómo registrar un manejador de eventos contra una lista personalizada (I)!”

Deja un comentario

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