Rodrigo Romano – MVP SharePoint Server

Registros de um Especialista SharePoint :)

Posts Tagged ‘Remote Event Receivers

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