Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘Event Handler

Eventos (Event Receivers) no SharePoint 2013

leave a comment »


Em 2010, fiz um post falando sobre Event Receivers no SharePoint 2010. Entretanto, várias coisas mudaram com a versão nova do SharePoint.

Basicamente, no SharePoint 2013, eles se dividem em 2 categorias: Server Side Events e Remote Events.

image

Server Side Events

O conceito se mantém o mesmo das versões anteriores do SharePoint. A maioria dos eventos se dividem em Antes e Depois da ação ser executada (exemplo: Antes de Adicionar o Item e Depois do item ter sido adicionado – e persistido no banco de conteúdo).

Um mecanismo interessante que os eventos “ING” ou “PRE-EVENTS” é que eles possuem um mecanismo que permite o cancelamento da ação e mostrar alguma mensagem de erro para o usuário ou redirecioná-lo para uma página de erro.

image

Você pode utilizar os eventos para fazer validações de dados, processos baseados em eventos e outras coisas.

  • Podemos fazer o deploy dos “Server Side Events” através das solutions.

A única restrição desse tipo de eventos é a sua utilização em Apps. O código precisa rodar no servidor de SharePoint e utiliza o Server Side Object model, então é bloqueado pelos Apps.

 

Remote Event Receivers

As mesmas premissas do Server Side Event Receivers são válidas. Existem eventos antes e depois das ações e os eventos que rodam antes permitem o cancelamento da ação e mostrar uma mensagem de erro.

O detalhe fica pela latência. Precisamos ter bastante cuidado ao fazer eventos remotos sincronos nesse cenário, pois podem impactar significamente a performande da aplicação.

image

 

Entretanto, algumas coisas precisam ser levadas em consideração para esse cenário:

  • O SharePoint não tem um mecanismo para informar sistemas externos que algum dado foi alterado.
  • Listas externas suportam eventos.
  • Não há garantias que a mensagem será entregue.

Para desenvolver esse tipo de evento, o desenvolvedor precisa criar um web service, implementar a interface obrigatória (IRemoteEventService), registrar o serviço na App. Dessa forma, o WebService será chamado quando o evento ocorrer.

 

Abraços Smiley de boca aberta!!

Advertisements

Written by Rodrigo Romano

January 5, 2014 at 12:03 pm

Event Handler em SharePoint 2010

with one comment


Olá SharePointers!

Hoje abordarei um assunto muito importante no SharePoint: Event Handlers (ou Event Receivers).

image

Exemplo de Event Receivers no Visual Studio 2010

 

Definição

O modelo de eventos do SharePoint Foundation depende de componentes gerenciados chamados de Event Receivers. Esses Event Receivers ficam “escutando” objetos do SharePoint e disparam alguns gatilhos de acordo com o evento.

Esses gatilhos são atividades realizadas no SharePoint, exemplo: Adicionar, Mover, Realizar checkin ou checkout, e assim por diante. Além disso, existem objetos que “esperam” os eventos, os chamados de Host de Eventos (Site Collections, Sites, Listas, Worflows ou Features).

Basicamente, esses eventos se dividem em duas categorias básicas: SÍNCRONOS e ASSÍNCRONOS.

Eventos Síncronos (ING)

Esses eventos são disparados ANTES de que o SharePoint grave a informação no banco de dados de conteúdo, ou seja, o evento é disparado ENTRE a ação de salvar e da gravação efetiva das alterações.

Esses tipos de eventos são utilizados principalmente para fazer validação de dados, por exemplo: caso a validação falhe, podemos abortar a operação e ** REDIRECIONAR ** o usuário para uma outra página (novidade do SharePoint 2010).

Exemplos: ItemAdding, ListAdding.

Eventos Assíncronos (ED)

Ao contrário dos eventos síncronos, esses eventos são disparados DEPOIS da alteração ser efetuada no banco de dados de conteúdo. Eles são utilizados para que possamos incluir alguma regra de negócio baseado no input do usuário.

Exemplos: ItemDeleted, ItemAdded, WebProvisioned.

 

Como a maioria dos recursos do SharePoint evoluíram na sua plataforma 2010, os Event Handlers não poderiam ficar para trás. Vários itens foram criados de forma a atender necessidades dos desenvolvedores.

Para o host SPList, foram adicionados os seguintes eventos:

Para o host SPWeb, foram adicionados os seguintes eventos:

(Referência: http://msdn.microsoft.com/en-us/library/ee539050.aspx)

 

Para ativar um Event Handler, o escopo é FUNDAMENTAL. Veja abaixo uma descrição dos escopos possíveis e classes respectivas:

image

 

Conclusão

O foco deste artigo foi explicar um pouco mais a plataforma de Eventos do SharePoint Foundation. Esses conceitos são importantes para entender onde e como utilizar cada evento.

No próximo artigo, explicarei como criar um Event Receiver utilizando o Visual Studio.

Até a próxima =D

 

Referências

http://msdn.microsoft.com/en-us/library/ff407965.aspx

http://msdn.microsoft.com/en-us/library/ff407249.aspx

http://msdn.microsoft.com/en-us/library/ee536171.aspx

http://msdn.microsoft.com/en-us/vstudio/ff623003.aspx

http://msdn.microsoft.com/en-us/library/ff728093.aspx

Written by Rodrigo Romano

November 24, 2010 at 11:14 pm