Conteúdos “Custom” em Sharepoint 2007

Aqui à umas semanas, tive de tranferir conteúdos "custom" de um site interno da minha empresa para uma nova versão do mesmo, utilizando o Sharepoint 2007 num período de tempo muito limitado.

Não foi fácil arranjar alternativas realizáveis em pouco tempo para o fazer. Comecei por olhar para o Business Data Catalog, e se seria possível utilizá-lo para construir listas e páginas com Web Parts indo buscar informação à Base de Dados original. Quando comecei a ver que seria necessário aprender uma linguagem de Xml para importar os dados, comecei a desesperar. Não tinha tempo para andar com experiências e testes para aprender esta linguagem. Felizmente, dei de caras com o BDC MetaMan, que podem encontrar neste link, que permite a geração, com um interface bastante amigável, do xml necessário para incluir dentro do Business Data Catalog (BDC) do Sharepoint 2007 informação de uma variedade de fontes.

Comecei a animar, até perceber que, apesar de ser uma boa fonte de informação para apresentar no Sharepoint, a actualização e inserção de registos através do BDC era bastante complexa.

Lá comecei à procura de outras alternativas. Comecei por tentar construir páginas que pudesse inserir na directoria _layouts do Sharepoint, e, efectivamente, é possível desenhar páginas que faziam o que eu necessitava. Mas, estando dentro da zona de _layouts, estas páginas perdiam todo o contexto do site onde se encontravam inseridas, e a integração com o Sharepoint e todas as suas capacidades ficavam perdidas para estas páginas.

Ok. Mais um beco sem saída. Vamos lá tentar desenhar umas WebParts com o Visual Studio 2005 que possam ser inseridas em páginas de Sharepoint. Comecei a ler o que era necessário para construir WebParts "custom"... Mas quando descobri que o único método para definição de "custom" WebParts é através de um override de um método que recebe um HTMLWriter para onde deve ser escrito todo o conteúdo html da mesma... Bem.. Considerando que eu precisava de controlos de PostBack e Eventos e Botões para implementar toda a lógica das WebParts, parti à procura de uma solução melhor.

Então, encontrei um blog post, que falava duma WebPart chamada "Son of Smart Part". Permitia fazer o host de qualquer User Control desenvolvido em ASP.Net numa WebPart de um site de Sharepoint. Encontrada esta primeira referência, comecei a ver alguma luz no fim do túnel.

Efectuei o download e comecei a explorar a ferramenta. Instalei e fiz uns testes. Pois bem, consegui, com mínimo esforço, transportar as páginas originais para User Controls e inseri-las em páginas do site Sharepoint final.

Mas mesmo assim, houve coisas que me decepcionaram. A falta de documentação da dita Web Part fez-me fugir de utilizar o método normal da utilização de WebPart connections para passar informação entre as minhas diferentes WebParts (3 no total, em cada página), e acabei por utilizar a QueryString da página onde estes User Controls iam ficar para fazer esta comunicação.

E aqui está.. Para WebParts simples que queiram desenvolver para sites Sharepoint, o "Son of Smart Part" é para vocês. Talvez com mais algum tempo surja mais documentação para que consiga utilizar as WebPart Connections para efectuar a comunicação entre as WebParts.

Entretanto, se tiveram de fazer o mesmo, ou se sabem de outra possível solução para este tipo de problema, deixem-me um comentário. Estou sempre aberto a novas soluções para problemas, mesmo que já resolvidos (apesar de não da melhor maneira).

Published 05 March 07 09:56 by Sérgio Amendoeira

Comments

No Comments
Anonymous comments are disabled