Nueva funcionalidad de enlace de eventos en SharePoint Foundation 2010

Última modificación: jueves, 08 de abril de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Enlace a nivel de SPSite
Enlace del receptor de eventos XML
Enlace de eventos por plantilla de lista

Microsoft SharePoint Foundation 2010 amplía el intervalo y los medios mediante los cuales se pueden enlazar eventos. Entre las innovaciones se encuentra la capacidad de enlazar eventos en el ámbito de la colección de sitios (SPSite) y proporcionar la capacidad de enlazar receptores de eventos XML a los que se les asigna el ámbito del sitio individual (SPWeb).

Enlace a nivel de SPSite

Para admitir una mejor funcionalidad para la creación de listas y sitios, SharePoint Foundation 2010 admite una colección de receptores de eventos a nivel de SPSite. Al igual que otras colecciones de receptores de eventos, ésta acepta enlaces de objetos SPWebEventReceiver, SPListEventReceiver y SPItemEventReceiver. Todos estos tipos de evento pueden asignarse al ámbito del nivel de la colección de sitios (es decir, SPSite). Sin embargo, un objeto SPEmailEventReceiver no funciona al nivel de la colección de sitios debido a la manera en la que está implementado este objeto.

Enlace del receptor de eventos XML

SharePoint Foundation 2010 admite el enlace de receptores de eventos XML en los ámbitos de ambas instancias, SPWeb y SPSite, mediante la etiqueta <Receivers>.

Cuando se asigna el ámbito de una característica de SharePoint a nivel de la colección de sitios, una etiqueta <Receivers> podría resultar ambigua. La etiqueta puede indicar el enlace de eventos en todos los sitios o el enlace de eventos para el sitio de nivel superior. Sin embargo, observe que el comportamiento default es asignar el ámbito del nivel de sitio.

Por lo tanto, cuando establezca el ámbito de una característica en el nivel de la colección de sitios, use el atributo denominado Scope para especificar el ámbito deseado. Al establecer este atributo en "Site", los receptores de eventos definidos dentro de una característica cuyo ámbito se ha definido en la colección de sitios se enlazarán en el nivel de la colección de sitios. Cuando el atributo se establece en "Web", los receptores de eventos definidos dentro de una característica de una colección de sitios se enlazan en el sitio web raíz de esa colección de sitios.

Enlace de eventos por plantilla de lista

SharePoint Foundation 2010 admite el enlace de eventos según el receptor de eventos SPItemEventReceiver mediante el uso de la semántica de la propiedad ListTemplateId. Este enfoque crea una definición de receptor de eventos a la que se le asigna el ámbito de la lista cuando se crea la lista.

Un resultado práctico de esta característica es que se puede especificar el enlace en XML basado en características, como se demuestra en el ejemplo siguiente.

<Receivers ListTemplateId="301">
   <Receiver>
      <Name>Blog post event handler for new trackbacks</Name>
      <Type>ItemAdded</Type>
      <SequenceNumber>1000</SequenceNumber>
      <Assembly>Trackback, Version=1.0.0.0, Culture=neutral,          PublicKeyToken=64e9de3efe88d9da</Assembly>
      <Class>Trackback.TrackbackEventsReceiver</Class>
      <Data>Property Logger</Data>
   </Receiver>
</Receivers>

El XML anterior enlaza una clase denominada TrackbackEventsReceiver, que se deriva de la clase SPItemEventReceiver. TrackbackEventsReceiver implementa el método ItemAdded(SPItemEventProperties) para todas las listas de tipo de identificador de plantilla "301" cuando se crean o, para listas existentes, cuando la característica respectiva se activa.

SharePoint Foundation 2010 también admite el enlace de eventos que se basa en el objeto SPItemEventReceiver del XML de un tipo de contenido especificado.

Vea también

Conceptos

Nuevos eventos en SharePoint Foundation 2010