Criando e Explorando os Event Receivers no MOSS 2007 / WSS 3.0 – Deploy

Este post faz parte de uma série de 3:
Criando e Explorando os Event Receivers no MOSS 2007/WSS 3.0 – Overview
Criando e Explorando os Event Receivers no MOSS 2007/WSS 3.0 – Projeto
Criando e Explorando os Event Receivers no MOSS 2007 / WSS 3.0 – Deploy

13 – Criando uma Feature.

Recomendo que por organização e facilidade, adicionem os próximos arquivos necessários para a Feature no projeto do Visual Studio, seguindo esse modelo abaixo:

§  Adicione um novo item ao projeto chamado Feature.xml, do template “XML File”.

§  Adicione o seguinte código ao arquivo:

<Feature Scope="Web"

   Title="Nossos Event Handlers"

   Id="D6A0CD1F-F1B4-4E94-BD09-97F79A6EE60E"

   xmlns="http://schemas.microsoft.com/sharepoint/">

<ElementManifests>

    <ElementManifest Location="Elements.xml"/>

</ElementManifests>

</Feature>

§  Altere a propriedade “ID”, para um novo GUID, existem vários programas que geram um novo GUID, existe até sites que geram on-line (ex: http://createguid.com).

§  Adicione um novo item ao projeto chamado Elements.xml, do template “XML File”.

§  Adicione o seguinte código ao arquivo:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">

  <Receivers ListTemplateId="100">

    <Receiver>

      <Name>Item Adicionado</Name>

      <Type>ItemAdded</Type>

      <SequenceNumber>10001</SequenceNumber>

      <Assembly>MeuEventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=27022ff382474ca0</Assembly>

      <Class>MeuEventReceiver.ManipulandoItens</Class>

      <Data></Data>

      <Filter></Filter>

    </Receiver>

    <Receiver>

      <Name>Item Excluindo</Name>

      <Type>ItemDeleting</Type>

      <SequenceNumber>10002</SequenceNumber>

      <Assembly>MeuEventReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=27022ff382474ca0</Assembly>

      <Class>MeuEventReceiver.ManipulandoItens</Class>

      <Data></Data>

      <Filter></Filter>

    </Receiver>

  </Receivers>

</Elements>

 

Gostaria de destacar algumas propriedades interessantes do arquivo “Elements.xml”:

§  ListTemplateId: É o id do tipo de lista, abaixo listo as principais:

o    100 – GenericList

o    101 – DocumentLibrary

o    102 – Survey

o    103 – Links

o    104 – Announcements

o    105 – Contacts

o    106 – Events

o    107 – Tasks

o    Lista completa: http://msdn.microsoft.com/en-us/library/ms431081.aspx

§  Type : É o tipo de Evento que aquele Receiver corresponde.

§  SequenceNumber: Nº aleatório do Receiver, deve ser superio a 10000, pois até esse número está reservado pela Microsoft.

§  Assembly: Contém as informações da assembly publicada anteriormente no GAC.

§  Class: É a classe que contém o método que vai ser executado pelo EventReceiver.

 

14 – Publicando a feature.

Após a criação desses dois arquivos (Feature.xml e Elements.xml), agora basta navegar até a pasta raiz das features no SharePoint (C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/TEMPLATE/FEATURES) e criar uma pasta para armazenar a feature (ex: MeuEventReceiver) e copiar os 2 arquivos lá.

 

15 – Instalando a feature.

§  Execute o seguinte comando na ferramenta STSADM

STSADM -o installfeature -name MeuEventReceiver

 

Obs.: Caso não saiba como utilizar o STSADM, acesse:

Stsadm command-line tool

http://technet.microsoft.com/en-us/library/cc261956.aspx

 

16 – Activando a feature.

Existem várias formas de se ativar uma feature, também podemos ativar via linha de comando (STSADM), porém acho mais fácil via interface com a aplicação, para isso siga os passos:

§  No site que deseja ativar a feature, clique no menu “Site Actions/Site Settings”.

§  Na janela de configuração, clique em “Site Administration/Site features”.

§  Note que a feature com o nome preenchido no arquivo “feature.xml”, está disponível, pronta para ser ativada.

 

§  Clique no botão Ativar.

§  Reinicie o IIS (Executar/IISRESET)

Prontooo! Agora pode testar a aplicação, se ocorrer tudo bem, ao adicionar novos itens na sua lista, verifique que o campo “MeuID” será preenchido pelo seu Event Receiver, também tente excluir um item de lista e verifique que irá aparecer a mensagem de erro configurada acima.

É claro que devemos levar em consideração que nosso exemplo foi bem simples e visava apenas explorar os Event Receivers, você deve ajustar tudo isso para seu contexto de projeto, nesse exemplo mesmo, todas as listas customizadas no site que a feature foi ativada irão tentar executar essas ações. 😉

Abraçosss!

Anúncios

2 Respostas to “Criando e Explorando os Event Receivers no MOSS 2007 / WSS 3.0 – Deploy”

  1. Rudy Says:

    Consegui instalar a DLL simplesmente arrastando para a pasta, porém apesar de ter seguido passo a passo o seu tutorial no final não funcionou…reproduzi o mesmo exemplo que vc passou, mas ao fazer o insert em meu site a coluna "MeuID", não foi preenchida automaticamente… a única diferença que existe é meu site está com o pacote de tradução para português e no meu fonte eu coloquei com os nomes que aparecem para mim "Título" e "Criado por", será que eu deveria ter colocado "Title" e "Create"?Valeu Abraço!

  2. Rudy Says:

    "nesse exemplo mesmo, todas as listas customizadas no site que a feature foi ativada irão tentar executar essas ações. ;)" então para funcionar basta que minha lista tenha os campos com os nomes informados?Valeu!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: