Inquiridor
Duvida em Integração e Deploy continuos com Sharepoint 2010 + TFS 2010

Pergunta
-
Olá amigos,
eu vou começar a desenvolver um site em sharepoint 2010 e tenho algumas duvidas sobre como estruturar o fluxo entre o desenvolvimento + designer para a homologação e depois produção.
Antes vou expilcar como é nossa estrutura:
Um servidor como TFS 2010 ja linkado com o SharePoint 2010 Server que está em outro servidor.
Um servidor só para as instancias do Sharepoint.
Um pc para desenvolvimento e um para o designer.
Primeira duvida:
O designer precisa ter o front end no pc dele e trabalhar isoladamente e me mandar o template do que mudar sempre ou é melhor ele trabalhar direto no site de homologação ou no meu de desenvolvimento?
Segunda duvida:
Qual a melhor forma pra levar o projeto do meu pc de desenvolvimento para a homologação e de lá para a produção. A produção fica em uma hospedagem fora.
Terceira duvida :
Eu pensei em criar o meu site com os subsites q preciso e dai criar um template dele ja com alguma customização básica e partit desse template eu crio o projeto onde realmente vou trabalhar, isso procede?
Quarta Duvida:
Ja trabalho com o TFS aqui a muito tempo e com ele não ha problema algum pra customizar, implantar e talz, mas ele em conjunto com o SharePoint ficou meio obscuro pq como tem esse requisito de o desenvolvedor e talvez até o design ter uma instância de banco e um front end em suas máquinas/farm, como fica o controle de versão? E outra coisa que me veio agora na cabeça, o Blend tem um plugin no 3 e agora no 4 acho q já nativa a integração com o TFS, o SharePoint Designer tbm tem esse recurso?
Obrigado,
Eduardo Alves Araújo
Todas as Respostas
-
Olá Eduardo!
Espero ajudar com as respostas abaixo.
Abraço,
Backer L. V. Rosa
Primeira duvida:
O designer precisa ter o front end no pc dele e trabalhar isoladamente e me mandar o template do que mudar sempre ou é melhor ele trabalhar direto no site de homologação ou no meu de desenvolvimento?
Obviamente, depende muito. O mais aconselhável seria ele trabalhar no seu ambiente de desenvolviemento. Só assim seria possivel ter uma baseline confiavel das publicações em homologação.
Segunda duvida:
Qual a melhor forma pra levar o projeto do meu pc de desenvolvimento para a homologação e de lá para a produção. A produção fica em uma hospedagem fora.
Dependo do que é composto o projeto. Muitas artefatos como listas e bibliotecas estarão armazenadas no banco de dados de conteúdo. Os outros artefatos devem ser empacotados no formato de WSP e ser instalados a partir de procedimento próprio (normalmente, STSADM)
Terceira duvida :
Eu pensei em criar o meu site com os subsites q preciso e dai criar um template dele ja com alguma customização básica e partit desse template eu crio o projeto onde realmente vou trabalhar, isso procede?
Desculpe, não entendi muito bem este processo. Pode detalhar um pouco mais?
Quarta Duvida:
Ja trabalho com o TFS aqui a muito tempo e com ele não ha problema algum pra customizar, implantar e talz, mas ele em conjunto com o SharePoint ficou meio obscuro pq como tem esse requisito de o desenvolvedor e talvez até o design ter uma instância de banco e um front end em suas máquinas/farm, como fica o controle de versão? E outra coisa que me veio agora na cabeça, o Blend tem um plugin no 3 e agora no 4 acho q já nativa a integração com o TFS, o SharePoint Designer tbm tem esse recurso?
O SharePoint designer não integra com o TFS para versionar suas customizações porque toda customização feita por ele fica armazenada diretamente no banco de dados de conteúdo do proprio SharePoint. Uma boa novidade para a versão 2010 é que boa parte dos artefatos de customização do SharePoint Designer agora podem ser empacotados em um formato comun (WSP) e controlados no TFS manualmente.
-
Oi Backer,
Muito obrigado pela ajuda, algumas das questões eu ,graças a Deus, consegui resolver da forma como vc aconselhou.
Com relação à 4ª duvida, eu criei um novo site a partir de um Template ( no meu caso um Publishing) e add a ele um sub-site com template Blog. A partir desse site eu criei um Template para usá-lo já como padrão nesse projeto. Nesse caso em específico onde usei o template do tipo Publishing eu não encontrei nele a opção de exportar como Template, pelo menos não fica no menus site actions e tampouco é possível fazer através do spdesigner. Pra resolver eu fiz um .bak dele, com isso eu tenho ali guardado ja o modelo desse projeto. A duvida era/é, se isso é uma boa prática.
Com relação à integração contínua do projeto pra a homologação e para a produção, eu acho muito custoso sempre ter que fazer um wsp de tudo no desenvolvimento e subir. No meu caso, onde vou focar em customizar visual web parts e/ou user controls no visual studio, essa integração ficou super confusa pq da maneira como eu entendi o deploy da solução dentro do visual studio para o sharepoint vc sempre refaz o deploy de toda a solução, isso para uma equipe seria, na minha opinião, muito perigoso porque suponhamos que seja divido o projeto em camadas, setores, etc.... quando o desenvolvedor A clicar em deploy, ele vai subir tudo que está na solução e sabe-se lá o que os desenvolvedores B, C, D estão fazendo, ou seja, com certeza vai subir coisa que não deveria. Uma solução que encontrei usa uma web part do tipo smart : http://smartpart.codeplex.com/releases/view/10697. Com ela eu apenas crio um projeto do tipo web app mesmo, nem precisa ter o front end do share point instalado, vc cria user controls, salva na pasta do sharepoint e através da administração do site vc sobe esses user controls para essa web part smart.
O problema é que pelo aprendi no training kit do sharepoint 2010, essa "técnica" não seria a ideal, enfim, fica ainda a duvida de como automatizar essa integração das porções funcionais do projeto que serão entregues.
Obrigado,
Eduardo