Flickr Images

Pages

Banner 468

segunda-feira, 18 de julho de 2011

Hierarquia Sharepoint

2 comentários
 
Olá para todos!!!
Hoje vou falar um pouco da hierarquia do Sharepoint.



Como podemos verificar na image o Sharepoint possui uma hierarquia entre os objetos. A partir dessa hierarquia conseguimos identificar em qual nível estamos e como fazemos para acessar um outro item da hierarquia.

Algumas explicações:

SPFarm:
É o primeiro nível da hierarquia do sharepoint. Ele representa o farm do sharepoint. O objeto SPFarm não pode ser instanciado, ele é um objeto estático. Para acessar o SPFarm em código devemos utilizar o seguinte código:
SPFarm currentFarm = SPFarm.Local;

SPService:
Representa os serviços que estão rodando no farm. Exemplo: Access Services, Performance Point, Sharepoint Search, etc. O SPService é utilizado para trabalhos administrativos como Backup, configruação de serviços, etc. Para retornar os objetos SPService do farm utilize o código:
SPServiceCollection oServiceCollection = SPFarm.Local.Services;

SPWebApplication:
É a representação do site sharepoint no IIS(internet information Services). Podemos utilizar o SPWebApplication para configurar o tamanho maximo de arquivos, criar uma nova site collection.

SPSite
O SPSite representa o site collection. A classe SPSite suporta construtores, para isso basta passarmos o Guid do site ou a URL:
SPSite oSite = SPContext.Current.Site;
Ou:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    //...
}
O Objeto SPSite possui uma coleção de SPWeb.

SPWeb
Representa um web site do Sharepoint. Nele que estão as listas, biblioteca, etc. O Objeto SPWeb pode ser obtido através do SPSite. Alguns exemplos:
SPWebCollection oWebCollection = SPContext.Current.Site.AllWebs;

Ou podemos buscar o Web Atual;
SPWeb currentWeb = SPContext.Current.Web;

Ou ainda:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        //...
    }
}
O Objeto SPWeb ainda pode ter mais objetos SPWeb.

SPList:
Nos objetos SPList do site que os dados ficam armazenados, tanto documentos, quanto imagens, páginas, etc. Algo interessante que a versão do sharepoint 2010 server possui uma biblioteca especial apenas para midia.
Para obtermos as listas e/ou bibliotecas do site devemos utilizar o objeto SPWeb. Alguns exemplos:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPListCollection oListCollection = oWeb.Lists;
    }
}

Ou buscando apenas a biblioteca de documentos administrativos:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPList oList = oWeb.Lists["Documentos Administativos"];                    
    }
}

SPListItem e SPFolder
Os objetos SPListItem e SPFolder são os registros das listas(SPLists) do SPWeb. O SPFolder é um item do SPList, contudo o SPFolder pode ter SPListItem “dentro” dele. Mas como o SPFolder também é um SPListItem coloquei eles no mesmo nível. Podemos obter o SPListItem e o SPFolder a partir das listas. Alguns exemplos:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPList oList = oWeb.Lists["Documentos Administativos"];
        SPListItem oItem = oList.GetItemById(1);                    
    }
}
Pegando as pastas da lista:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPList oList = oWeb.Lists["Documentos Administativos"];

        //Observe que as pastas são SPListItem
        SPListItemCollection oFoldersCollection = oList.Folders;
    }
}

SPFile
O Objeto SPFile representa os arquivos estão em listas ou bibliotecas do site. Para podermos acessar um objeto SPFile devemos buscar nos itens(SPListItem) das listas ou passando como parametro para o SPWeb a url do arquivo. Alguns exemplos:
using (SPSite oSite = new SPSite("http://meusite.com.br"))
{
    using (SPWeb oWeb = oSite.OpenWeb())
    {
        SPList oList = oWeb.Lists["Documentos Administrativos"];
        SPListItem oListItem = oList.GetItemById(1);
        SPFile oFile = oListItem.File;
    }
}

Bom então é somente isso por hoje. Até mais a todos e qualquer dúvida, comentário ou crítica postem ai!
Abraços!

2 Responses so far.

  1. Anônimo says:

    Bom dia , muito bom seu post.
    Eu tambem sou de BH e estou começando meus estudos em sharepoint.
    Essa semana começei a fazer um curso na puc do são gabriel sobre desenvolvimento para sharepoint 2010 é meio puxado mais estou gostando.
    Oque você me indica para continuar e aprimorar meus estudos, desde já agradeço.

    Email: juliofermino2009@bol.com.br

  2. Olá meu caro tudo bom? Que bom que gostou, espero que volte mais vezes.
    Bom com relação ao estudo de desenvolvimento para sharepoint eu aconselharia a continuar a estudar .NET e entender um pouco de administração do sharepoint. Um exemplo seria a serie de Profissional 5 estrelas da microsoft (http://www.technetbrasil.com.br/cincoestrelas/default.aspx?serie=SharepointServices3). Após passar por isso acho interessante começar do básico um CRUD para ir se acostumando com o dialeto, começar a trabalhar um pouco os event receivers, um pouco de navegação e segurança, claro tudo de forma programática.
    Outras formas de aprendizado seriam sempre olhar o fórum de sharepoint é bem interessante, sempre tem alguma dúvida que nos faz pensar um pouco mais. Recomendo a leitura de alguns blogs como do Fabian André Gehrke (http://fabiangehrke.com.br/), da Aline Maia (http://sharepointrocks.wordpress.com/) dentre outros.

    Abraço!

Leave a Reply

O que achou? Alguma coisa esta errada? Quem sabe uma sugestão? Faça seu comentário e/ou crítica logo abaixo!