Desenvolvimento com o SharePoint Server 2007 - Parte II

 

Iniciamos com a criação de um projeto Console. Em seguida iremos fazer as referências as dlls do SharePoint como foi visto na figura 2. No corpo do método Main iremos adicionar o código da Listagem1.

 

using System;

using System.Collections.Generic;

using System.Text;

using Microsoft.SharePoint;

namespace LeitorNoticiasSP2007 {

    class Program {

        static void Main(string[] args) {

            SPSite portal = new SPSite("http://franca:8080");

            SPWeb siteNoticias = portal.AllWebs["noticias"];

            SPList noticias = siteNoticias.Lists["Pages"];

            int contadorItems = noticias.Items.Count;

            for (int i = 1; i < contadorItems; i++) {

                SPListItem noticia = noticias.Items[i];

                Console.WriteLine("\nNOTÍCIA NÚMERO : " + i);

                Console.WriteLine("TÍTULO DA NOTÍCIA : " + noticia.DisplayName);

                Console.WriteLine("URL : " + siteNoticias.Url + "/" + noticia.Url);

                Console.WriteLine("COMENTÁRIO DA NOTÍCIA");

                Console.WriteLine(noticia.Properties["Comments"].ToString());

                Console.WriteLine("CONTEÚDO");

                Console.WriteLine(

                    noticia.Properties["PublishingPageContent"].ToString());

                Console.WriteLine("HORÁRIO DA PUBLICAÇÃO : " +

                    noticia.File.TimeCreated.ToString());

                Console.WriteLine("\n\nFim da notícia de número " + i);

                Console.WriteLine("************");

                Console.WriteLine("************\n\n");

            }

        }

    }

}

Listagem 1 - Código para extrair notícias.

 

Na listagem temos uma instância de um objeto SPSite, de nome siteNoticias, passando o endereço de nosso SharePoint como argumento. Como o SPSite representa uma coleção de sites, neste objeto estão todos os sites do SharePoint.

 

Estamos acessando um site específico dentro do conjunto de sites que estão no objeto siteNoticias. Na propriedade AllWebs, está determinando que queremos acessar o site de nome "noticia". Dentro de um site existem várias listas, nas listas acessamos a lista com nome "Pages", que é onde estão as páginas deste site. Acessamos a quantidades de items que esta lista possui. Haverá um loop para faver todos os items da lista do site de notícias e depois acessaremos as propriedades dos items como nome, url e hora de criação da notícia.

 

Temos uma demonstração do resultado na Figura 3.

 

mddspsp2fig03.jpg 

Figura 3 – Resultado no console.

 

Com o fim desta 2º parte sobre o acesso programático pela API do Sharepoint Server 2007 podemos conferir o poder das API´s do SharePoint. O modelo de objetos do API não é complicado se você conhece sua estrutura de sites, listas e itens. Na 3º parte do artigo irei abordar o acesso pelos web services. Até lá.

 

Abraços

-- Marcelo Diniz