quinta-feira, 3 de fevereiro de 2011

Sharepoint 2010 - Deploy

Nesse artigo vou ensinar como criar uma solution bem simples em Sharepoint 2010.

Primeiramente abra o visual studio 2010 e crie um novo projeto "Empty Sharepoint Project" como mostra a imagem abaixo.



Específique o site do sharepoint ao qual você pretende realizar os testes de desenvolvimento e escolha a opção "Deploy as farm solution". Click em "Finish".

Obs.:
  • Sandboxed Solution
Sandboxed Solutions são soluções seguras que são executadas em um processo separado do servidor. Tais soluções são restringidas a serem executadas somente com subset de APIs e dentro do mesmo Site Collection. Estas soluções são monitoradas e caso alguma delas traga alguma instabilidade são automaticamente finalizadas, o que traz mais segurança à estabilidade do farm.
O objetivo principal da utilização de Sandboxed Solutions é de agilizar os negócios, permitindo que as soluções sejam criadas e disponibilizadas rapidamente, sem que haja a relutância do deploy por Administradores do Farm uma vez que são soluções mais seguras.






Agora já temos um Projeto para o sharepoint para começarmos a criar o que queremos.

Nesse exemplo vamos fazer algo muito simples, vamos criar uma lista. Clique com o botão direito sobre o projeto depois vá em Add -->  New Item.



Escolha a opção "List Definition"



Defina o nome da lista,  escolha o tipo da lista para "Custom field"  e marque a opção "Add a list instance for this list definition" igual na imagem abaixo:



Clique em "finish" e alguns arquivos serão adicionados a sua solution. Repare que foi criado uma feature, um list definition e um list instance.
Dê um Rebuild no projeto e verifique se está compilando corretamente.

Agora vamos fazer o deploy!!!

Clique com o botão direito sobre o projeto e clique em "Deploy".



Aguarde aparecer no canto esquerdo inferior a mensagem "Deploy Succeeded".

Abra o site escolhido por você para realizar o deploy e verifique se o a lista aparece igual a imagem abaixo.



Como demonstrado é bem simples realizar o deploy com o Sharepoint 2010 comparado com o Sharepoint 2007.

Agora vamos melhorar nossa solution e incluir mais campos a nossa lista.

Renomei o "ListInstance1" para "SampleList".
Em Elements.xml dentro de SampleList mude o  Title para apenas "Sample List"


Clique em Feature1 e mude o título para "Project Test feature"



 Clique com o botão direito sobre Feature1  e depois clique em  "add event Receiver"



Será criado uma classe com os eventos da Features vamos descomentar por enquanto o evento FeatureActivated

Adicione o código abaixo para criar algun campos  na nossa lista.

 public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            using (SPWeb web = ((SPWeb)properties.Feature.Parent))
            {
                SPList sampleList = web.Lists["Sample List"];

                string fldDescriptionName = sampleList.Fields.Add("Description", SPFieldType.Text, false);
                string fldDateName = sampleList.Fields.Add("Date", SPFieldType.DateTime, true);
                sampleList.Update();

                SPFieldText fldDescription = (SPFieldText)sampleList.Fields[fldDescriptionName];
                fldDescription.MaxLength = 250;
                fldDescription.Update();

                SPFieldDateTime fldDate = (SPFieldDateTime)sampleList.Fields[fldDateName];
                fldDate.DisplayFormat = SPDateTimeFieldFormatType.DateOnly;
                fldDate.Update();
            }
        }


Agora vamos testar novamente, clique em Deploy e veja novamente o resultado.