Executar SPFeatureReceiver apenas na criação de site
-
10-12-2019 - |
Pergunta
Nós temos recentemente actualizado a partir do SharePoint 2007 para 2010 e não estamos ainda prontos para treinar os usuários na nova interface, então, eu criei um SPFeatureReceiver que vai definir o modelo de site de volta para o 2007 look.
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = (SPWeb)properties.Feature.Parent;
web.UIVersion = 3;
web.UIVersionConfigurationEnabled = true;
web.Update();
}
No entanto, este é executado quando o recurso está ativado e todos os conjuntos de sites para este que pode acabar sendo bom, mas gostaria de alguma orientação.
Existe uma maneira de apenas executar esta ou algo semelhante quando um site é criado, e não apenas quando o recurso é ativado, deixando todos os sites sozinho que já são criados?
Em vez disso, é a ideia de que o recurso é tecnicamente ativado quando um site é criado e, portanto, será executado quando um site é criado e não pode fazer nada sobre isso para sites existentes?
Solução
Você deve ser capaz de utilizar o evento recievers para fazer isso, mais especificamente o SPWebEventReciever.
A Partir Da Microsoft:
Um receptor de eventos é um pedaço de código gerenciado que responde a eventos do SharePoint quando o desencadeamento de acções específicas ocorrer em um objeto do SharePoint.Desencadeamento de acções, que incluem atividades tais como adicionar, atualizar, excluir, mover, fazer check-in e check-out.
Referências:
http://msdn.microsoft.com/en-us/library/gg749858(v=office.14).aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spwebeventreceiver(v=office.14).aspx