Sandboxed Solutions em SharePoint Online 2010

 

Com o lançamento na Microsoft da sua solução Cloud através do Office 365 tem havido muita procura sobre as diferentes ofertas que este novo serviço disponibiliza.

Office 365 é um conjunto de Serviços da Microsoft na qual se pode aceder em qualquer local a documentos, correio electrónico, contactos, calendários de forma actualizada, tendo como garantia a fiabilidade e segurança a nível empresarial de forma a disponibilizar a pequenas e grandes empresas com um conjunto de serviços essenciais de trabalho a um preço acessível.

Após o lançamento da versão Beta do Office 365 um dos produtos no qual foquei a minha atenção foi o SharePoint Online 2010 e a capacidade de criar Sandbox Solutions.

Sandbox Solutions em SharePoint é um novo conceito para SharePoint 2010 que permite criar código personalizado a aplicar nos sites de SharePoint de forma segura, fornece a capacidade dos Site Collections Administrator de instalar e monitorizar soluções personalizadas sem a necessidade dos Administradores do SharePoint. Mas para ter essa liberdade os Administradores estão limitados as funcionalidades das Sandboxed Solutions, relativo ao código que podem utilizar ou os recursos que podem utilizar/aceder.

 

Soluções em SharePoint Sandbox

 

As soluções em SharePoint é um pacote de configurações em XML, assemblies e ficheiros de apoio “.jpg, .png, .resx” entre outros que sao compiladas em um ficheiro tendo como extensão [nome].wsp.

A Soluções em Sandbox utiliza um subconjunto da namespace Microsoft.SharePoint do Object Model do SharePoint sendo considerados seguros e acessíveis de forma a poderem ser utilizados na criação das nossas Soluções.

Todas as Soluções são guardadas em Galerias “Solutions” nos Sites do SharePoint onde os administradores dos sites podem depositar e gerenciar soluções de modo seguro.

Estas soluções são executadas num processo separado do “w3wp.exe” de forma a ter menor impacto possível na execução do código criado nas nossas Sandbox Solutions.

Este novo serviço chamado “SharePoint 2010 User Code Host“, irá ser a zona onde será executado e compilada as soluções em Sandbox de uma forma segura a ter o menor impacto possivel em toda a Infra-estrutura do SharePoint.

 

A diferença das Sandbox Solution para Soluções em Farm é a camada de acesso as diferentes Assembleis e níveis de permissão para sua Infrastrutura enquanto as Sandbox Solutions encontram-se muito limitadas a camada dos Sites e Webs, as Farm Solutions fornece um acesso alargado ao conteúdo da infra-estrutura no SharePoint 2010 que vão desde aos serviços das Farm as das Web Application .

Os próximos links listam as capacidades/limitações das Sandbox Solutions.

What Can Be Implemented in Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg615464.aspx

Restrictions on Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg615454.aspx

Microsoft.SharePoint.dll APIs That Are Available from Sandboxed Solutions

http://msdn.microsoft.com/en-us/library/ee537860.aspx

 

Visual Studio 2010 Sandbox Solution

 

Neste exemplo foi criado uma Sandbox Solution em que foi utilizado os seguintes elementos para configurar o nosso Site no SharePoint Online.

Utilizando o Visual Studio 2010 foi criado novo Projecto em SharePoint 2010 para Sandbox que pode ser implementado em Sites do SharePoint Online 2010 site chamado “SandoBoxProjecto” com os seguintes elementos:

  • Visual Sandbox Web Part
  • Master Page
  • Custom Actions
  • SharePoint Ribbons
  • List Definition

Templates para Visual Studio 2010 de apoio para a criação deste exemplo:

Visual Studio 2010 SharePoint Power Tools

http://visualstudiogallery.msdn.microsoft.com/8e602a8c-6714-4549-9e95-f3700344b0d9/

CKS: Development Tools Edition

http://cksdev.codeplex.com/

SharePoint 2010 Extensibility Projects

http://archive.msdn.microsoft.com/vsixforsp

Criar uma nova solução no Visual Studio 2010 e criar novo Projecto para SharePoint 2010, após novo Projecto definir “Empty project” e definir no SharePoint Wizard a opçção “Deploy as a Sandboxed Solution”, esta opção irá validar a solução a criar para as Sandbox Solutions.

 

Sandbox Web Part

 

A funcionalidade tem como acção demostrar como o Template “Visual Studio 2010 SharePoint Power Tools” pode ser utilizado para criar uma Visual Web Part para sandbox Solutions.

Nesta solução criei uma WebPart para listar o nome das listas numa Listbox.

 

O template fornece a capacidade de visualizar os componentes ASP.Net num User Control onde sera desenhada a nossa WebPart.

 

 

MasterPages

 

Neste exemplo foi criado uma nova componente para alterar a MasterPage e aplicar como default assim que o componente for activo.

 


Para activar alterar a MasterPage foi criado uma "Feature receiver" para copiar e definir a MasterPage "SandboxMaster.master" como a pré-definida. 

 

public override void FeatureActivated(SPFeatureReceiverProperties properties)

{

try 

{        

SPSite site = (SPSite)properties.Feature.Parent;

SPWeb web = site.OpenWeb();

Uri masterUri = new Uri(web.Url + "/_catalogs/masterpage/SandboxMaster.master");

string masterUrl = SPEncode.UrlDecodeAsUrl(masterUri.AbsolutePath);

// Master page used by all forms and pages on site
					

web.MasterUrl = masterUrl;

web.CustomMasterUrl = masterUrl;

web.Update();

}

catch (Exception ex)

{    

throw new SPException(ex.Message);

}

}

 

Custom Actions

 

A funcionalidade tem como acção demostrar como o Module “Elements” foi alterado para adicionar novas acções nos menus das List item através da utilização de Content Types.

SharePoint é constituído por Content Types, estes Content Types ajudam a definir a Metadata associada a cada Tipo de Listas, seleccionado a propriedade e a sua interdependência entre os diversos Content Types que estão constituídos na lista.

Este “Custom action” tem como função definir uma acção que seja visível em qualquer tipo de Lista para isso foi definido o Content Type “Item” onde todos os Content Types para listas derivam.

Exemplo:

http://grounding.co.za/blogs/brett/archive/2008/09/09/sharepoint-content-type-id-s.aspx

 

<?xml version="1.0" encoding="utf-8" ?>
																			

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
													

<CustomAction
						

Id="UserInterfaceCustomActions.ECBItemToolbar"

Rights="EditListItems"

Location="EditControlBlock"

RegistrationType="ContentType"

RegistrationId="0x01"

Sequence="550"

Title="Test"

Description="Test Test" >
										

 

<UrlAction Url="javascript:SP.UI.ModalDialog.ShowPopupDialog('/_layouts/settings.aspx');"/>
													

</CustomAction>
							

</Elements>
							

 

SharePoint Ribbons

 

A funcionalidade tem como acção demostrar como o Template “Server Ribbon” pode ser utilizado para personalizar o controlo de Ribbon para SharePoint 2010.

Este template disponibiliza um conjunto de customizações pré-definidas para a criação do Ribbons em SharePoint 2010 de uma forma simples.

 

 

 

List Definition

 

Esta funcionalidade ira criar uma nova Lista com campo Title, esta lista poderá ser utilizada ou alterada para registar os erros criadas pelo código das features em sandbox.

 

 

Package em SharePoint

 

O Package das soluções SharePoint é a pacote de funcionalidades que são entregues ao cliente onde se encontras as novas configurações que o Administrador da Site Collection poderá monitorizar e gerenciar as diversas Sandboxed solutions.

Para criar a Solução em SharePoint no Visual Studio 2010 deverá seleccionar a opção “Package” para criar a solução “SandboxProjecto.wsp“.

 

SharePoint Online Administration Center

 

O Office 365 disponibiliza ao administrador dos Sites SharePoint Online um novo interface onde poderá gerir as diversas Site Collections, o espaço associado e total de recursos alocados a essas máquinas.

Para a nova solução foi criada uma nova Site Collection chamada “Sandbox“.

 

 

Instalação da Sandbox

 

Aceder ao site do SharePoint Online criado neste caso “Sandbox” e seleccionar “Site Actions > Site Settings > Galleries > Solutions” seleccionar opção “Solutions” no Ribbon e seleccionar “Upload Solution” e seleccionar o caminho para a solução “SandBoxProjecto.wsp“.

Assim que o projecto esteja no Site em SharePoint

MasterPage e Sandbox Web Part

 

Após a activação da nossa solução “SandBoxProjecto.wsp” podemos começar a validar as alterações realizadas no Site do SharePoint Online.

Quando aceder a pagina principal do Site, no topo esquerdo encontra-se uma mensagem “Sandbox MasterPage” para identificar que a MasterPage foi alterada correctamente pela customizada na solução através da solução “SandboxMaster

Para aceder a Web Part “Sandbox WebPart” devera ser adicionada a Web Part, para isso devemos aceder a Tab “Page” seleccionar botão “Edit Page” seleccionar opção para adicionar nova Web Part e na janela de dialogo aceder ao Grupo “Custom” e seleccionar Web Part “Sandbox WebPart“.

 

Sandbox Custom Actions

 

Para visualizar as novas opções do Modulo “Elements” devemos seleccionar uma Lista no SharePoint Online e seleccionar menu dos item dessa Lista, ao seleccionar ira aparecer uma nova opção chamada “Test“, esta nova opção irá criar um nova janela onde ira aparecer o Site de Administração do Site em SharePoint Online.

 

Sandbox Ribbons

 

Para visualizar as novas opções da solução “RibbonSandbox” devemos seleccionar uma Lista de Links no SharePoint Online, ai ira aparecer uma nova Tab com o nome “Sandbox”, ao seleccionar aparece um grupo chamado “Custom Sandbox” com duas novas opções que ira despoletar acções de mensagem.

 

 

List Definition

Para visualizar as novas opções da solução “RibbonSandbox

Download da Solução “SandBoxProjecto.zip

Existem muitas outros componentes que podem ser utilizados na criação das nossas Sandbox Solution aqui ficam uma lista a usar.

What Can Be Implemented in Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg615464.aspx

 

Dicas:

 

Este é um pequeno exemplo sobre como criar Sandbox Solution utilizandos os diversos Templates disponibilizados para o Visual Studio 2010.

Espero que tenham gostado, até a proxima…

 

Links utilizados como referência para este artigo:

Microsoft Office 365

http://www.microsoft.com/pt-pt/office365

Developing, Deploying, and Monitoring Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/magazine/ee335711.aspx

Developing for SharePoint Online with Sandbox Solutions

http://msdn.microsoft.com/en-us/hh181574

Sandboxed Solutions Architecture in SharePoint 2010

http://msdn.microsoft.com/en-us/library/ee539417.aspx

What Can Be Implemented in Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg615464.aspx

Restrictions on Sandboxed Solutions in SharePoint 2010

http://msdn.microsoft.com/en-us/library/gg615454.aspx

Add Actions to the User Interface

http://msdn.microsoft.com/en-us/library/ms473643(v=office.12).aspx

Advertisements

Leave a comment

Client Object Model para Silverlight

Com o lançamento da nova versão do SharePoint, mais propiamente SharePoint 2010 no inicio deste ano, e o seu sucesso a nível mundial da sua adopção como uma das ferramenta empressariais de Portais e Colaboração, este artigo tem como prespectiva a sua demostração como ferramenta de desenvolvimento para Soluções empresariais.

Neste artigo irei ainda dar atenção a um dos novos serviços disponibilizados pelo SharePoint 2010 que é o Client Object Model para Silverlight, com a criação de um projecto e chamada de métodos para demostrar a sua capacidade de acesso a conteudos existente nos sites em SharePoint.

A plataforma SharePoint é um conjunto integrado de recursos que pode ajudar a melhorar a eficácia organizacional fornecendo uma gestão de conteúdo abrangente e pesquisa empresarial, acelerando os processos comerciais compartilhados e facilitando a partilha de informações para uma melhor visão dos negócios.

Os serviços disponibilizados vão desde Gestão de Conteúdos, Gestão Documental, Business Intelligence, Comunidades, Integração de Plataforma externas a Microsoft através dos BCS(Business Connectivity Services), Workflows, Office Web app (Integração das ferramentas Microsoft Office em formato Web), SharePoint Designer 2010, Gestão de Projectos, Serviços de Pesquisa de Portal e Conteúdos Externo, com diversos tipos de autenticação utilização de federações entre outros serviços. Enfim uma plataforma bastante completa.

Durante os últimos anos a plataforma tem crescido a nível de serviço e a nível de importância nas instituições empresariais, tornando uma aposta mais que decisiva da Microsoft, com a sua implementação e integração de todos os seus produtos nesta plataforma, tornando-se o sistema operativo das empresas.

Uma das sua vantagens é a capacidade de integração entre as diversas tecnologias Microsoft e a capacidade de integrações de plataformas externas, como SAP, Oracle entre outras, de forma a torna um ponto de partilha única da Informação da empresa, sendo construido numa plataforma Web o que torna bastante acessível o seu acesso.

No próximo quadro encontram-se os serviços que estão disponíveis para o SharePoint 2010.

Com o lançamento do SharePoint 2010 foram disponibilizados múltiplos novos serviços como LINQ, novas API’s para acesso a dados (utilizando o Client Object Model), utilização de REST – ADO.NET Data Services e utilização de Ajax em webParts com processos Asynchronous (sem utilização de postback nas páginas) entre outros novos serviços.

O SharePoint 2010 apresenta 3 novas Client API’s para interagir com conteúdos dos sites de SharePoint:

· A partir de aplicações .Net “nunca inferiores a Framework 3.5”;

· A partir de aplicações Silverlight “nunca inferiores a Silverlight 2.0”

· A partis de ECMAScript ou seja de Javascript, Jscript

Arquitectura do Client Object Model

Estas novas API em Client Object Model fornecem um sistema orientado a objectos para interagir com os dados do SharePoint remotamente, sendo bastante fáceis de utilizar porque a sua nomenclatura é bastante parecida do Server Object Model do SharePoint.

Para demostrar a forma de acesso aos Objectos da API na próxima tabela mostra a diferentes API’s para as diversas plataformas e a forma idêntica da utilização do Object Model.

Neste exemplo, irei criar um pequeno Projecto no Visual Studio 2010, com uma aplicação em Silverlight 4, utilizando a API do SharePoint e integrando do SharePoint 2010.

Para suporte da nossa solução em SharePoint eu criei uma Lista chamada “Geral” com um conjunto de dados para teste.

Criar um novo Projecto com o Visual Studio 2010 no Template “Silverlight” e seleccionar a opção para associar a um novo Web site com a versão do Silverlight 4:

Para realizar as chamadas ao conteúdo do SharePoint, através da API em Silverlight, será necessário adicionar como referencias as DLL’s que se encontram na pasta da instalação do SharePoint 2010 (Microsoft.SharePoint.Client.Silverlight e Microsoft.SharePoint.Client.Silverlight.Runtime), tipicamente em C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin.

A Microsoft disponibilizou um package com as DLLs em SharePoint .NET Client Object Model, onde se poderá realizar o download e a sua distribuição ao cliente.

SharePoint Foundation 2010 Client Object Model Redistributable

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b4579045-b183-4ed4-bf61-dc2f0deabe47

Com a utilização do Visual Studio 2010 existe a possibilidade de integrar o Microsoft Expression Blend 4 com as nossas aplicações desenvolvidas em Silverlight.

Depois de termos realizado a nossa customização podemos voltar à nossa solução em Visual Studio 2010 e começar a criar os nosso métodos para retornar conteúdo do Site. Para isso criei 2 métodos, um para retornar a listas do nosso site em SharePoint e outro para retornar o conteúdo de uma Lista numa Datagrid.

Método 1:

Retorna o nome das Listas existentes no site de SharePoint utilizando o Client Object Mode. Foi utilizado uma expressão Lambda para retornar as listas e o Titulo associado.

private void LoadLists()
{
ClientContext clientContext = new ClientContext("http://%5BSite%5D&quot;);
     oWebsite = clientContext.Web;
     collList = oWebsite.Lists;
     clientContext.Load(oWebsite,
        website => website.Title);

//Lambda expression para retornar as Listas
     listInfo = clientContext.LoadQuery(
        collList.Include(
            list => list.Title,
            list => list.Fields.Include(
                field => field.Title).Where(
                field => field.Required == true
                && field.Hidden != true)));
     clientContext.ExecuteQueryAsync(onQuerySucceeded, onQueryFailed);
}

private void onQuerySucceeded(object sender, ClientRequestSucceededEventArgs args)
{
     UpdateUIMethod updateUI = DisplayInfo;
     this.Dispatcher.BeginInvoke(updateUI);
}

private void onQueryFailed(object sender, ClientRequestFailedEventArgs args)
{
     MessageBox.Show("Request failed. " + args.Message + "\n" + args.StackTrace);
}

private void DisplayInfo()
{
     collList = oWebsite.Lists;
     listBox1.ItemsSource = listInfo;
     listBox1.DisplayMemberPath = "Title";
}
private delegate void UpdateUIMethod();
 

Exemplo:

http://msdn.microsoft.com/en-us/library/ee538971.aspx

Método 2:

Retorna dados da Lista “Geral” para uma DataGrid utilizando CAML para realizar os filtros dos conteúdos a retornar:

private void LoadGrid()
{
     //Contexto do site em SharePoint a chamar
     var context = new ClientContext("http://[Site]");
     context.Load(context.Web);

     //retornar o objecto List com o nome “Geral”
     List projects = context.Web.Lists.GetByTitle("Geral");
     context.Load(projects);

     //CAML Query para Filtar os valores da nossa Lista
    CamlQuery camlQuery = new CamlQuery();
     camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>" +
         "<Value Type='Number'>0</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";

     _projectItems = projects.GetItems(camlQuery);
     context.Load(_projectItems);
     context.ExecuteQueryAsync(OnRequestSucceeded, null);
}

#region Methods
 private void OnRequestSucceeded(Object sender, ClientRequestSucceededEventArgs args)
  {
      Dispatcher.BeginInvoke(BindData);

  }
  private void BindData()
  {
      //Utilizando o conteúdo numa lista de Objecto do tipo Geral como a Lista
      var list = new List<Geral>();
      foreach (var li in _projectItems)
      {
          list.Add(new Geral
          {
              Title = li["Title"].ToString(),
              Nome = li["Nome"].ToString(),
              Activo = Convert.ToBoolean(li["Activo"].ToString())
          });
      }
      //adicionar os Dados da Lista na Datagrid
      dataGrid1.ItemsSource = list;

}

No seguinte exemplo foi criado um pequeno formulário no Silverlight para a lista “Anuncios”. Esta lista tem um conjunto de artigos de referência ao Site e este método mostra como se consegue criar um formulário de uma forma simples, sem ter a necessidade de realizar customização de páginas em aspx.

Foram adicionadas na Tab “formulário” do Silverlight, 3 campos de preenchimento do nosso Artigo, como o Url do site onde se destina, Titulo e corpo.

Método 3:

Este método ira criar uma nova entrada na Lista de SharePoint de um novo anúncio.


             if (!TxtTitle.Text.Equals(""))
             {
                 ClientContext clientContext = new ClientContext(TxtUrl.Text);
                 Web oWebsite = clientContext.Web;
                 ListCollection collList = oWebsite.Lists;
 
                 oList = clientContext.Web.Lists.GetByTitle("Anuncios");
 
                 ListItem oListItem = oList.AddItem(new ListItemCreationInformation());
                 oListItem["Title"] = TxtTitle.Text;
                 oListItem["Body"] = TxtBody.Text;
                 oListItem.Update();
 
                 clientContext.Load(oList,
                     list => list.Title);
 
                 clientContext.ExecuteQueryAsync(onQueryInsertSucceeded, onQueryInsertFailed);
             }
             else
             {
                 MessageBox.Show("Vazio!!");
             }

Com a criação deste 2 pequenos exemplos podemos criar a nossa solução “AccessData.XAP”.

SharePoint Silverlight Web Part

SharePoint disponibiliza ferramentas para integrar o projecto desenvolvido em Silverlight e adicionar nos nossos sites em SharePoint de uma forma bastante simples.

O primeiro passo será adicionar o nosso projecto em Silverlight, neste caso “AccessData.XAP” e adicionar no nosso site em SharePoint, podendo ser uma Folder, uma Document Library ou até na directoria ou pasta “Hive” onde se encontra instalado o SharePoint no servidor. Neste caso criei uma Folder dentro do site em SharePoint. Estas pastas não são visíveis aos utilizadores finais, garantido que o ficheiro não é apagado acidentalmente.

Depois de adicionado a nossa solução em Silverlight, acedemos ao nosso site em SharePoint e adicionamos uma Web Part que se encontra por defeito no SharePoint “Silverlight Web Part”. Um dos parâmetros que é requisitado é o caminho de onde se encontra a nossa solução em Silverlight.

Assim que esteja tudo correctamente adicionado, irá ser disponibilizado na nossa página de internet a nossa solução de Silverlight, dentro do SharePoint, numa WebPart podendo trabalhar e interagir com o conteúdo do Site onde se encontra.

Quando nos encontramos a trabalhar em ambiente Web a aplicação Fiddler é uma ferramenta essencial para captura e validação dos nosso trafico na Web. Estando ela em funcionamento podemos encontrar as transacções realizadas, através da Client OM, e encontra-mos uma chamada ao WCF Web Service “client.svc” e um Web Service XML para comunicação e transacção das operações.

Existem outra forma de poder interagir com os dados em SharePoint, com o Silverlight através dos “REST” em WCF e com todas as suas potencialidades.

Conclusão

Este foi um pequeno exemplo de como o Client Object Model e como o SharePoint 2010 consegue fornecer informação e integração com Silverlight.

Teria muita mais que falar, isto é um tema para diversos subtópicos e com múltiplas formas de tratar, apenas quero demostra as portas que podem ser abertas e como o SharePoint 2010 é uma ferramenta de integração com todas as diversas Tecnologias Microsoft.

Alguns links úteis:

Using the Silverlight Object Model
http://msdn.microsoft.com/en-us/library/ee538971.aspx

Using the SharePoint Foundation 2010 Managed Client Object Model
http://msdn.microsoft.com/en-us/library/ee857094.aspx

Using the SharePoint Foundation 2010 Managed Client Object Model with the Open XML SDK 2.0
http://msdn.microsoft.com/en-us/library/ee956524.aspx
SharePoint 2010 SDK
SharePoint 2010 Reference: Software Development Kit

Create a Silverlight 4 Web Part for SharePoint 2010
http://msdn.microsoft.com/en-us/magazine/ff956224.aspx

Página Oficial do SharePoint 2010

Leave a comment

Falar sobre SharePoint 2010 October Cumulative Update Issue: Details and Workaround – Microsoft SharePoint Team

Leave a comment

Falar sobre Security Advisory 2416728 (Vulnerability in ASP.NET) and SharePoint. – Microsoft SharePoint Team Blo

Leave a comment

Configurar WebPart para Meteorologia

O  Sharepoint é daquelas ferramentas que devemos parar e explorar antes de realizar desenvolvimento, uma das grande capacidade do Sharepoint é a sua integração com outras tecnologias Web o que torna bastante flexivel e toda a personalização das paginas simples e directas.
Para este tipo de desenvolvimento, o sharepoint tem uma Webpart chamada "DataViewWebpart" que realiza chamada a dado através de diferentes camadas de dados, desde Listas de Sharepoint, WebServices, Banco de Dados e XML.
Para desenho da Webpart utilizei a estrutra XSL "EXtensible Stylesheet Language" que é uma camada de Desenho que serve para modelos em diferentes Webpart, desde que tenha os mesmo tipo de dados a receber.
Neste artigo mostra como podemos utilizar os acessos a Dados XML em WebPart com Desenho XSL, tendo como finalidade criar uma WebPart de Meterologia.

 

Configurar XSL para conteudo

 
Antes de começar a criar a WebPart temos que desenhar a estrutura como a nossa Webpart vai ficar, para isso podemos utilizar o Sharepoint Designer 2007 e utilizar a (DVWP) DataViewWebPart, para chamar a nossa Datasource precisamos chamar o WebService de Meterologia da Google.
Exemplo: 
WebService da Google para Meterologia.*
Autor

* Google disponibiliza um webservice para aceder ao estado tempo através de um conjunto de parâmetros.
Parâmetros:
Weather: Cidade onde estamos a pesquisar a Meterologia
hl: Lingua em que o conteudo vem traduzido, pt-PT(Portugal), pt-BR (Brasil)

Ao chamar o WebService, pretendo que fique em ficheiro XML para poder trabalhar e realizar alterações.
Depois de criar o ficheiro de XML, podemos utiliza a opção "Datasource Library" para fazer uma pré-visualização dos nossos dados e selecionar e importar.

Depois  seleccionamos os campos a importar adicionamos a Datasource e os campos a importar de uma maneira simples simple :).

 Depois de importar os campos que queres utilizar dos WebServices podemos utilizar o HTML para desenhar o resultado final da Webpart.

Depois de criado a alterado dados do output da nossa WebPart, devemos copiar o seu conteudo desde 
"<xls:stylesheet" até "</xls:stylesheet">, este conteudo irá ser utilizado para configuração da XML WebPart.

Configurar XML WebPart

Já na página de Sharepoint, adicionamos a nossa "XML WebPart" e podemos começar a configurar.

No modo de Edição da WebPart, podemos definir de onde provem os nossos dados de XML, neste caso eu defini o nosso WebService da Google para meterologia.
No campos:
XML Link: Devemos adicionar o Link onde se encontra o nosso conteudo de XML neste caso o WebService da Google.
XSL Editor: Da cópia do conteudo do XSL realizada no Sharepoint Designer 2007 devemos passar para este editor de conteúdo, onde irá ficar a estrutura da WebPart de Meteorologia. 

Feito, agora é so fazer "OK" e a nossa WebPart está pronta para ficar disponível na página de Sharepoint.

Aqui temos mais um exemplo de como podemos utilizar o que vem por defeito do Sharepoint sem realizar nenhum desenvolvimento, apenas alteração de XSL e serviços disponibilizados pela internet, de uma maneira, simples simples.
Anexo  "Tempo _São Paulo_ – By André Lage.dwp"
Anexo "Microsoft Stock" – MSFT_Stock.dwp
Anexo "Graficos Bolsas" "Google, Microsoft, Oracle, Sybase"

Exemplo:

Um grande abraço a todos e espero que tenham gostado de mais este Artigo.

Leave a comment