quarta-feira, 10 de outubro de 2007

Passeio pelo Object Modelo Sharepoint - Part II

Olá Amigos,

Hoje vou dar continuidade aos posts sobre o Object Model do Sharepoint.

Hoje vou falar sobre uma classe estremamente útil e importante no desenvolvimento sharepoint (SPSite).

SPSite

Através desse classe podemos acessar o nível de Site Colletion.
Uma Site Colletion é uma coleção de sites (SPWeb)
Cada objeto SPSite possui várias propriedades da coleção, tais como o responsável, conteúdo corrente do BD, a url do web site.

SPSite mySiteColl = new SPSite("site_collection_URL");
String siteCollOwner = mySiteColl.Owner.Name;
String contentDB = mySiteColl.ContentDatabase.Name;
String topLevelSite = mySiteCollection.RootWeb.Title;

Importante: Existem várias maneiras de acessar uma site collection, a maneira citada acima deve ser utilizada quando estamos em uma aplicação fora do contexto do sharepoint. Se tivermos em uma webPart dentro do contexto do Sharepoint o código acima deveria ficar assim:

SPSite mySiteColl = SPContext.Current.Site;
String siteCollOwner = mySiteColl.Owner.Name;
String contentDB = mySiteColl.ContentDatabase.Name;
String topLevelSite = mySiteCollection.RootWeb.Title;

segunda-feira, 8 de outubro de 2007

Passeio pelo Object Modelo Sharepoint - Part I

Olá Amigos,

Apartir de hoje escreverei uma serie de posts sobre o Object Model do sharepoint.
Mas afinal, oque é object model?
É a Arquitetura de programação do WSS, através dele conseguimos programaticamente manipular totalmente a estrutura do sharepoint.

SPFarm

Está no topo da hierarquia do object model.
Cada objeto SPFarm tem uma coleção de servidores associados a ele representados pelo objeto SPServerCollection object.
Você pode usar uma estrutura de repetição para iterar em cada servidor através do objeto SPServerCollection.

SPFarm myFarm = SPFarm.Local;
SPServerCollection myServerCollection = myFarm.Servers;
foreach (SPServer myServer in myServerCollection){
    //adiciona o código para executar a ação
}

SPWebApplication

Representa um IIS load-balanced Web application.
No WSS, aplicações web são representadas pela classe SPWebApplication.
Cada objeto SPWebApplication tem uma coleção de coleções de site associadas a ele e que são representados pelo objeto SPSiteCollection.
Você pode usar uma estrutura de repetição para interar com cada coleção de site no objeto SPSiteCollection.
Coleções de site individuais são representadas pelos objetos SPSite.

SPSite mySiteCollection =   new SPSite("site_collection_URL");
SPWebApplication myWebApp = mySiteCollection.WebApplication; SPSiteCollection mySiteCollections =  myWebApp.Sites;
foreach (SPSite siteCollection in mySiteCollections){
    //executa a ação na coleção de sites
}

Por hora é isso =]

Abraços,
Leonardo