Pregunta

Por algunas razones de seguridad en una de nuestras soluciones a nivel de granja, debemos limitar algunas acciones usando Event Receiver-FileMoving evento.Sin embargo, como se sabe, los receptores de eventos solo se pueden implementar mediante funciones de nivel de sitio o colección de sitios.Dado que la solución que proporciona la funcionalidad principal está en el ámbito de la granja, debemos poder aplicar este receptor de eventos a todas y cada una de las bibliotecas de documentos que existen.

Pensé en crear una función a nivel de sitio para el receptor de eventos y luego habilitarla en todos los sitios a través de FeatureActivated evento de la característica del ámbito de la granja.Pero no cubre los nuevos sitios que se agregan después de activar la función.Y como no existe una configuración para que las funciones a nivel del sitio se "habiliten de forma predeterminada", no funciona.

Entonces me enteré Sitio agregado evento, donde puedo habilitar la función tan pronto como se agregue.Pero, por lo que tengo entendido, también tiene alcance de sitio (SPWeb), por lo que no se cubren las nuevas aplicaciones web y colecciones de sitios.

Entonces, ¿alguna idea de cómo puedo crear una solución con alcance de granja para implementar el evento FileMoving en toda la granja?

Sharepoint 2010/2013 edición empresarial

¿Fue útil?

Solución

Puede utilizar el grapado de funciones para lograrlo.Simplemente implemente un archivo de elemento simple en una función y lo active en el nivel de la aplicación web.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <FeatureSiteTemplateAssociation Id="the guid of the feature to staple to new sites" TemplateName="GLOBAL"/>
</Elements>

Consulte también esta publicación SP.SE bastante informativa sobre el grapado de funciones:

¿Qué es el "grapado de funciones"?

Licenciado bajo: CC-BY-SA con atribución
scroll top