terça-feira, 7 de outubro de 2008

Mini-tutorial SharePoint Smart Part

Aqueles que já desenvolveram Web Parts para o Microsoft Office SharePoint Services puderam notar que a Microsoft não facilitou em nada esta tarefa para o Desenvolvedor. A criação de uma Web Part é muito parecida com a criação de um Server Control: isso significa que todo o HTML que a Web Part irá exibir no browser deve ser gerado no código (VB.Net ou C#). Para Web Parts complexas, com formulários, validações, AJAX e etc. ,isso pode acabar com a produtividade no desenvolvimento.

Para contornar essa dificuldade, existe um projeto Open-Source chamado Smart Part. Nesse projeto, foi criada uma Web Part que nada mais faz do que injetar um User Control dentro de si mesma, ou seja: nos dá a opção de criar Web Parts como User Controls (ascx). Isso ajuda muito a produtividade e torna bem mais simples o desenvolvimento de novas funcionalidades para o Sharepoint.

A seguir, mostrarei como criar uma Smart Part simples:

  1. Baixe e descompacte o Smart Part neste link: http://www.codeplex.com/smartpart/Release/ProjectReleases.aspx?ReleaseId=10697
  2. Crie um novo projeto Web Application no Visual Studio e adicione uma referência para o assembly ReturnOfSmartPart.dll.
  3. Crie um User Control (ascx) da mesma forma como você faria num projeto de Web Site comum.
  4. Instale o Smart Part no servidor onde está o SharePoint. Se houver mais de uma Aplicação do Sharepoint instalada, você poderá escolher em quais deseja instalar.
  5. Abra o diretório do Sharepoint para o qual o IIS aponta, por exemplo: “C:\Inetpub\wwwroot\wss\VirtualDirectories\[NumeroDaPorta]”. Onde [NumeroDaPorta] é o número da porta que a Aplicação Sharepoint está configurada (80, por exemplo).
    1. Jogue as DLLs que seu projeto gerou na pasta Bin.
    2. Crie uma pasta chamada User Controls na raiz e copie o ascx para ela.
  6. Abra uma página no Sharepoint e adicione a Web Part Smart Part nela.
  7. Clique no menu da Web Part (seta no canto superior-direito da Web Part), e clique em “Modify Shared Web Part”.
  8. No Tool Part que apareceu à direita, deve existir um campo chamado “User Control to Display”, ele exibe todos os User Controls encontrados na pasta UserControls da raiz da pasta do Sharepoint, selecione o seu ascx.

Pronto! Muito mais simples do que desenvolver uma Web Part, com a vantagem de poder utilizar o designer do Visual Studio para criar o XHTML do ascx.

Referência:
Site do projeto: http://www.codeplex.com/smartpart