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!
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
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!