<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Opensocial-BR GTUG &#187; opensocial</title>
	<atom:link href="http://www.opensocial-br.org/tag/opensocial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.opensocial-br.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 27 Jun 2011 14:27:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Orkut lança largura variável para a visão canvas</title>
		<link>http://www.opensocial-br.org/orkut-lanca-largura-variavel-para-a-visao-canvas/</link>
		<comments>http://www.opensocial-br.org/orkut-lanca-largura-variavel-para-a-visao-canvas/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 12:43:01 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Orkut]]></category>
		<category><![CDATA[container]]></category>
		<category><![CDATA[opensocial]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=88</guid>
		<description><![CDATA[Saiu uma notícia importante na opensocial-orkut. Até então, os aplicativos não possibilitavam configuração da largura variável. Depois de alguns membros solicitarem tal funcionalidade, o Orkut implementou e lançou. Além disso,  duas novas flag estão disponíveis: containerVersion e gadgetWidth. Ex:
gadgets.utils.getUrlParameters()["containerVersion"]; ou
gadgets.utils.getUrlParameters()["gadgetWidth"];
Post complexo (em inglês) - ver thread:

We now support two cool new features for gadgets in [...]]]></description>
			<content:encoded><![CDATA[<p>Saiu uma notícia importante na opensocial-orkut. Até então, os aplicativos não possibilitavam configuração da largura variável. Depois de alguns membros solicitarem tal funcionalidade, o Orkut implementou e lançou. Além disso,  duas novas flag estão disponíveis: containerVersion e gadgetWidth. Ex:</p>
<p>gadgets.utils.getUrlParameters()["containerVersion"]; ou</p>
<p>gadgets.utils.getUrlParameters()["gadgetWidth"];</p>
<p>Post complexo (em inglês) - <a href="https://groups.google.com/d/topic/opensocial-orkut/j9CueEYFiTw/discussion" target="_blank">ver thread</a>:</p>
<hr />
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">We now support two cool new features for gadgets in canvas view:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Container version detection</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Flexible application width</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">A quick introduction follows. We hope you enjoy them! They're enabled on sandbox and should reach production soon. If you have any feedback, please let us know!</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Container Version Detection</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The Container Version is supplied to your gadget in a new iframe parameter (containerVersion) in canvas view, so it can be retrieved like this:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">var containerVersion = gadgets.util.getUrlParameters()["containerVersion"];</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Its value is 1 for the canvas view container in the old orkut UI and 2 for the canvas view container in the new orkut UI. You can read this to determine which container your application is running inside of. Please be aware, however, that "container version" is not the same as "orkut UI version"... for now, there is a 1-to-1 correspondence (1 for old orkut, 2 for new orkut) but this may come out of sync when we launch new container versions or new UIs.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Configurable App Width</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">That's right, we now support configurable width for applications in canvas view!</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">You can specify a "preferred width" to orkut in your applications XML by means of the preferred_width attribute of the Content tag:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;?xml version="1.0" encoding="UTF-8"?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;Module&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;ModulePrefs title="Yourtitlehere"</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">author="authorhere"</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">author_email="email_here@......com"</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">description="Description here...."</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">screenshot="http://url/of/a/screenshot/of/your/app"</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">thumbnail="http://url/of/the/thumbnail/for/your/app"&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;Require feature="opensocial-0.8" /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;Locale lang="en" country="us" /&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/ModulePrefs&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;Content type="html" preferred_width="900"&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;![CDATA[</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">...</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/Content&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/Module&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The container will try to allocate your indicated width but might have to crop it if it's too big and expand it if it's too small. The actual width will be reported to you in the "gadgetWidth" iframe parameter.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Some points to take into account are:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The preferred_width parameter will only be taken into account when rendering your application on container version 2, but will be ignored in container version 1.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The container might or might not honor your preferred width depending on the available space.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">The gadgetWidth iframe parameter is only available to your application in container version 2 and above. This is the "slight catch" we were talking about above.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Therefore, the correct way to determine your application's actual width is first testing the container version and then, if the version is 2 or above, reading the gadgetWidth parameter. Otherwise (container version 1), the width of the gadget is fixed at 835px. So an example of Javascript code would be:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">// Determines the actual width of the application</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">function getActualWidth() {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">return (gadgets.util.getUrlParameters()["containerVersion"] &gt;= 2) ?</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">gadgets.util.getUrlParameters()["gadgetWidth"] : 835;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<p><strong>We now support two cool new features for gadgets in canvas view:</strong></p>
<ul>
<li>Container version detection</li>
<li>Flexible application width</li>
</ul>
<p>A quick introduction follows. We hope you enjoy them! They're enabled on sandbox and should reach production soon. If you have any feedback, please let us know!</p>
<h3>Container Version Detection</h3>
<p>The Container Version is supplied to your gadget in a new iframe parameter (containerVersion) in canvas view, so it can be retrieved like this:</p>
<p><em>var containerVersion = gadgets.util.getUrlParameters()["containerVersion"];</em></p>
<p>Its value is 1 for the canvas view container in the old orkut UI and 2 for the canvas view container in the new orkut UI. You can read this to determine which container your application is running inside of. Please be aware, however, that "container version" is not the same as "orkut UI version"... for now, there is a 1-to-1 correspondence (1 for old orkut, 2 for new orkut) but this may come out of sync when we launch new container versions or new UIs.</p>
<h3>Configurable App Width</h3>
<p>That's right, we now support configurable width for applications in canvas view!</p>
<p>You can specify a "preferred width" to orkut in your applications XML by means of the preferred_width attribute of the Content tag:</p>
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</p>
<p>&lt;Module&gt;</p>
<p>&lt;ModulePrefs title="Yourtitlehere"</p>
<p>author="authorhere"</p>
<p>author_email="email_here@......com"</p>
<p>description="Description here...."</p>
<p>screenshot="http://url/of/a/screenshot/of/your/app"</p>
<p>thumbnail="http://url/of/the/thumbnail/for/your/app"&gt;</p>
<p>&lt;Require feature="opensocial-0.8" /&gt;</p>
<p>&lt;Locale lang="en" country="us" /&gt;</p>
<p>&lt;/ModulePrefs&gt;</p>
<p>&lt;Content type="html" preferred_width="900"&gt;</p>
<p>&lt;![CDATA[</p>
<p>...</p>
<p>&lt;/Content&gt;</p>
<p>&lt;/Module&gt;</p>
<p>The container will try to allocate your indicated width but might have to crop it if it's too big and expand it if it's too small. The actual width will be reported to you in the "gadgetWidth" iframe parameter.</p>
<p>Some points to take into account are:</p>
<ul>
<li>The preferred_width parameter will only be taken into account when rendering your application on container version 2, but will be ignored in container version 1.</li>
<li>The container might or might not honor your preferred width depending on the available space.</li>
<li>The gadgetWidth iframe parameter is only available to your application in container version 2 and above. This is the "slight catch" we were talking about above.</li>
</ul>
<p>Therefore, the correct way to determine your application's actual width is first testing the container version and then, if the version is 2 or above, reading the gadgetWidth parameter. Otherwise (container version 1), the width of the gadget is fixed at 835px. So an example of Javascript code would be:</p>
<p>// Determines the actual width of the application</p>
<p>function getActualWidth() {</p>
<p>return (gadgets.util.getUrlParameters()["containerVersion"] &gt;= 2) ?</p>
<p>gadgets.util.getUrlParameters()["gadgetWidth"] : 835;</p>
<p>}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/orkut-lanca-largura-variavel-para-a-visao-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas na plataforma Opensocial do Orkut &#8211; posição oficial do Google</title>
		<link>http://www.opensocial-br.org/problemas-na-plataforma-opensocial-do-orkut-posicao-oficial-do-google/</link>
		<comments>http://www.opensocial-br.org/problemas-na-plataforma-opensocial-do-orkut-posicao-oficial-do-google/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 13:37:09 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Orkut]]></category>
		<category><![CDATA[Shindig]]></category>
		<category><![CDATA[opensocial]]></category>
		<category><![CDATA[profile view bug orkut]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=61</guid>
		<description><![CDATA[Já se passaram algumas semanas desde o estouro dos problemas que estão acontecendo com a plataforma Opensocial do Orkut, e oficialmente, lançaram um post no GoogleCode dando um parecer oficial, veja aqui.
Basicamente, o que foi alegado é que um bug estava presente em alguma das ferramentas opensource usadas pelo Orkut (provavelmente o Shindig ), e [...]]]></description>
			<content:encoded><![CDATA[<p>Já se passaram algumas semanas desde o estouro dos problemas que estão acontecendo com a <a href="http://www.opensocial-br.org/problemas-na-plataforma-de-opensocial-no-orkut/" target="_blank">plataforma Opensocial do Orkut</a>, e oficialmente, lançaram um post no GoogleCode dando um parecer <a href="http://googlecode.blogspot.com/2010/07/orkut-app-issues-being-addressed.html" target="_blank">oficial, veja aqui</a>.</p>
<p>Basicamente, o que foi alegado é que um bug estava presente em alguma das ferramentas opensource usadas pelo Orkut (provavelmente o <a href="http://shindig.apache.org/" target="_blank">Shindig</a> ), e que afetou gravemente uma série de funcionalidades.</p>
<p>Venho acompanhando os status enviados na lista, mas o fato é que o problema já se arrasta por praticamente um mês. Assim que as novidades aparecerem, escrevo um post por aqui.</p>
<p>Lembrando que o problema afeta basicamente a versão "profile" dos gadgets e a publicação de "activities".</p>
<p>Dúvidas ? Entre em contato.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/problemas-na-plataforma-opensocial-do-orkut-posicao-oficial-do-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ser reconhecido é bom</title>
		<link>http://www.opensocial-br.org/ser-reconhecido-e-bom/</link>
		<comments>http://www.opensocial-br.org/ser-reconhecido-e-bom/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 01:15:45 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Orkut]]></category>
		<category><![CDATA[opensocial]]></category>
		<category><![CDATA[robson dantas]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=55</guid>
		<description><![CDATA[Fui surpreendido recentemente com um e-mail da Google - especificamente de Prashant Tiwari (developer relations, trabalhando com Orkut), enviando agradecimento pelo esforço e tempo dedicado em ajudar as pessoas nas listas de discussão sobre Opensocial. Há um tempo atrás, já havia recebido o título de Opensocial Guru, porém, dessa vez fui reconhecido como um "SuperStar".
Pode [...]]]></description>
			<content:encoded><![CDATA[<p>Fui surpreendido recentemente com um e-mail da <a href="http://www.google.com" target="_blank">Google</a> - especificamente de Prashant Tiwari (developer relations, trabalhando com Orkut), enviando agradecimento pelo esforço e tempo dedicado em ajudar as pessoas nas listas de discussão sobre <a href="http://wiki.opensocial.org" target="_blank">Opensocial</a>. Há um tempo atrás, já havia recebido o título de <a href="http://groups.google.com/group/opensocial-api" target="_blank">Opensocial Guru</a>, porém, dessa vez fui reconhecido como um "<a href="http://code.google.com/intl/pt-BR/apis/orkut/forum.html?place=msg/opensocial-orkut/OF_DGslAFOc/dMb8u3E6OFkJ" target="_blank">SuperStar</a>".</p>
<p>Pode ser algo bobo, ou até inútil, mas obter reconhecimento é sempre bom. E receber um reconhecimento vindo da Google é melhor ainda.</p>
<p>Isso demonstra que apesar de ser uma empresa grande, valoriza muito as pessoas que ajudam na evangelização dos produtos e/ou APIs.</p>
<p>um abraço.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/ser-reconhecido-e-bom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arquivos da apresentação sobre Opensocial no SP-GTUG</title>
		<link>http://www.opensocial-br.org/arquivos-da-apresentacao-sobre-opensocial-no-sp-gtug/</link>
		<comments>http://www.opensocial-br.org/arquivos-da-apresentacao-sobre-opensocial-no-sp-gtug/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 13:56:58 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Orkut]]></category>
		<category><![CDATA[Palestras e eventos]]></category>
		<category><![CDATA[opensocial]]></category>
		<category><![CDATA[opensocial exemplo]]></category>
		<category><![CDATA[opensocial gtug]]></category>
		<category><![CDATA[opensocial shindig]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=29</guid>
		<description><![CDATA[Como prometi no último encontro na GlobalCode, disponibilizei os arquivos usados como "Helloworld", além dos testes que fiz com o Shindig, formando uma espécie de versão modificada do iGoogle, usando Opensocial e Jquery.
Faça download dos arquivos de exemplo usando Opensocial.
Uma breve explicação sobre os arquivos contidos no zip acima:
- Pasta robson: contém os arquivos que [...]]]></description>
			<content:encoded><![CDATA[<p>Como prometi no último encontro na GlobalCode, disponibilizei os arquivos usados como "Helloworld", além dos testes que fiz com o Shindig, formando uma espécie de versão modificada do iGoogle, usando Opensocial e Jquery.</p>
<p><a title="Exemplos opensocial" href="http://www.opensocial-br.org/exemplo/exemplos.zip">Faça download dos arquivos de exemplo usando Opensocial.</a></p>
<p>Uma breve explicação sobre os arquivos contidos no zip acima:</p>
<p>- Pasta <em>robson</em>: contém os arquivos que simulam o iGoogle. Para funcionar, <a title="Instalando shindig php no windows" href="http://www.opensocial-br.org/instalando-o-php-shindig-no-windows/" target="_blank">é necessário instalar o shindig</a> (recomendo a versão php que é mais fácil). Instalado o shindig, copiar a pasta robson para o diretório \shindig\javascript e chame via browser <a href="http://shindig/gadgets/files/robson/test-robson.html">http://shindig/gadgets/files/robson/test-robson.html</a></p>
<p>- Pasta <em>exemplo</em>: contém um arquivo xml usado para funcionar um aplicativo no orkut, tanto visão canvas, quanto profile. Além disso, tem alguns exemplos de requests de dados em javascript. É necessário fazer upload para um hosting e ter acesso via sandbox, caso queira modificar e mexer.</p>
<p>Caso você não possua um hosting, pode usar a versão do Opensocial-BR, disponível em http://www.opensocial-br.org/exemplo/opensocialbr.xml . Acessando o sandbox do Orkut, clique no botão editar na esquerda (menu de aplicativos); vai habilitar uma caixa de texto para que você digite a url do aplicativo.</p>
<p><strong>Outras informações:</strong></p>
<ul>
<li>Inscrição para o ambiente de sandbox do Orkut ( testes ) - <a title="Orkut sandbox signup" href="http://sandbox.orkut.com/SandboxSignup.aspx" target="_blank">Clique aqui</a> ;</li>
<li><a title="Opensocial plugin para firebug" href="https://addons.mozilla.org/en-US/firefox/addon/13124/" target="_blank">Opensocial plugin para Firebug</a> (requer <a title="Firefox" href="http://www.firefox.com" target="_blank">Firefox </a>e <a title="Firebug para firefox" href="https://addons.mozilla.org/pt-BR/firefox/addon/1843" target="_blank">Firebug</a>);</li>
<li><a title="OSDE opensocial development environment" href="http://code.google.com/p/opensocial-development-environment/" target="_blank">OSDE - Plugin para eclipse</a>, muito útil para desenvolver aplicativos sem precisar de um container;</li>
<li><a title="Partuza by Chris Chabot" href="http://code.google.com/p/partuza/" target="_blank">Partuza - rede social de exemplo</a> que pode ser usada para desenvolver aplicativos;</li>
</ul>
<p>Para finalizar, há o grupo de discussão <a title="Opensocial-BR gtug" href="http://groups.google.com/group/opensocial-br" target="_blank">Opensocial-GTUG, Brasil</a> que conta com um grupo de pessoas que trabalham com a tecnologia e podem ajudar em caso de dúvidas.</p>
<p>Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/arquivos-da-apresentacao-sobre-opensocial-no-sp-gtug/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando o PHP-Shindig no Windows</title>
		<link>http://www.opensocial-br.org/instalando-o-php-shindig-no-windows/</link>
		<comments>http://www.opensocial-br.org/instalando-o-php-shindig-no-windows/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 15:50:59 +0000</pubDate>
		<dc:creator>Robson Dantas</dc:creator>
				<category><![CDATA[Shindig]]></category>
		<category><![CDATA[igoogle]]></category>
		<category><![CDATA[opensocial]]></category>

		<guid isPermaLink="false">http://www.opensocial-br.org/?p=3</guid>
		<description><![CDATA[Olá pessoal da comunidade Opensocial-GTUG!
Com o intuito de disseminar mais conteúdo sobre a plataforma, resolvi abrir o blog, em conjunto com a Wiki, para que todos possam colaborar. Caso tenha interesse em colaborar, basta fazer contato.
No artigo de hoje, vamos ver a instalação do PHP-Shindig dentro do ambiente Windows, para que possamos na próxima etapa, [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal da comunidade Opensocial-GTUG!</p>
<p>Com o intuito de disseminar mais conteúdo sobre a plataforma, resolvi abrir o blog, em conjunto com a Wiki, para que todos possam colaborar. Caso tenha interesse em colaborar, basta fazer contato.</p>
<p>No artigo de hoje, vamos ver a instalação do PHP-Shindig dentro do ambiente Windows, para que possamos na próxima etapa, criar uma versão parecida com o iGoogle. Essa versão é a tradução, com algumas melhorias, do artigos original de <a href="http://www.chabotc.com/guides/shindig_install/" target="_blank">Chris Chabot.</a></p>
<p>O <a href="http://incubator.apache.org/shindig/" target="_blank">Shindig </a>é um projeto de código aberto, que funciona basicamente como o servidor de aplicações Opensocial. Em outras palavras, ele é responsável por renderizar o gadget e fornecer todo o conjunto de api´s necessárias para que o Opensocial funcione. Veja a definição do que ele é, extraída do próprio site do projeto:<span id="more-3"></span></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 73px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Apache Shindig is a container for hosting social application consisting of four parts:</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 73px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Gadget Container JavaScript: core JavaScript foundation for general gadget functionality (read more about gadget functionality). This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 73px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">Gadget Rendering Server: used to render the gadget XML into JavaScript and HTML for the container to expose via the container JavaScript.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 73px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">OpenSocial Container JavaScript: JavaScript environment that sits on top of the Gadget Container JavaScript and provides OpenSocial specific functionality (profiles, friends, activities, datastore).</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 73px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">OpenSocial Data Server: an implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.</div>
<blockquote><p>Apache Shindig is a container for hosting social application consisting of four parts:</p>
<ul>
<li>Gadget Container JavaScript: core JavaScript foundation for general gadget functionality (read more about gadget functionality). This JavaScript manages security, communication, UI layout, and feature extensions, such as the OpenSocial API.</li>
<li>Gadget Rendering Server: used to render the gadget XML into JavaScript and HTML for the container to expose via the container JavaScript.</li>
<li>OpenSocial Container JavaScript: JavaScript environment that sits on top of the Gadget Container JavaScript and provides OpenSocial specific functionality (profiles, friends, activities, datastore).</li>
<li>OpenSocial Data Server: an implementation of the server interface to container-specific information, including the OpenSocial REST APIs, with clear extension points so others can connect it to their own backends.</li>
</ul>
</blockquote>
<p><span style="font-family: 'Times New Roman'; line-height: normal; font-size: small;"> </span></p>
<h1>Instalando o Shindig no Windows</h1>
<p>Este guia mostra os passos necessários para deixar o Shindig funcionando na plataforma Windows.</p>
<h2>Instalando o 'WAMP'</h2>
<p>O Wamp é um pacote de aplicativos, e significa Apache, MySQL e PHP para Windows, necessário para que o Shindig funcione.</p>
<p>Primeiramente, baixe o wampserver do endereço: <a href="http://www.en.wampserver.com/">http://www.en.wampserver.com/</a></p>
<p><img src="http://www.chabotc.com/guides/shindig_install/wamp_server_download.jpg" alt="" width="438" height="297" /></p>
<p>Clique no link de download, salve no seu computador e então execute-o.</p>
<p>No instalador, clique em "next" em cada passo, já que as configurações padrão são suficientes para o que será usado neste guia.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/wamp_install_1.jpg" alt="" width="503" height="392" /></p>
<p>Após a instalação, provavelmente você receberá um alerta do Windows, como a imagem abaixo. Clique em "desbloquear" para que seu servidor Apache possa escutar requisições na porta 80.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/wamp_install_2.jpg" alt="" width="434" height="312" /></p>
<h2>Configurando o Apache e as extensões do PHP</h2>
<p>Após a instalação do wampserver, é hora de configurarmos os módulos que o Shindig precisa. Com o wampserver iniciado, você terá um ícone no systray (ao lado do relógio), e clicando com o botão esquerdo do mouse, você verá várias opções de configuração.</p>
<p>Para o Shindig, precisamos de poucas coisas - mod_rewrite para Apache, que pode ser ativado no item Apache -&gt; Apache Modules, clicando na opção  'rewrite_module'. O "v" indica que o módulo está ativo.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/wamp_server_apache_settings.jpg" alt="" width="345" height="536" /></p>
<p>Para o PHP, precisamos de algumas extensões, que podem ser visualizadas através da opção PHP -&gt; PHP Extentions . Para ativá-las, basta clicar na extensão, da mesma forma que fizemos com o mod_rewrite.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/wamp_server_php_settings.jpg" alt="" width="345" height="611" /></p>
<p>As extensões requeridas são:</p>
<ul>
<li>json</li>
<li>mcrypt</li>
<li>simplexml</li>
<li>libxml</li>
<li>curl</li>
<li>openssl</li>
<li>mysqli</li>
</ul>
<h2>Instalando um cliente SVN</h2>
<p>Seguindo o tutorial, precisamos de um cliente SVN para podermos baixar o módulo do Shindig do repositório. Tortoise possui uma excelente interface gráfica, e é por isso que decidimos usá-lo. Faça o download de <a href="http://tortoisesvn.tigris.org/">http://tortoisesvn.tigris.org/</a></p>
<p><img src="http://www.chabotc.com/guides/shindig_install/tortoise_svn_download.jpg" alt="" width="338" height="265" /></p>
<p>Execute o instalador, e mais uma vez, as opções padrão são suficientes. Vá clicando em next até o fim.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/tortoise_svn_install.jpg" alt="" width="320" height="251" /></p>
<p>Quando finalizada a instalação, será necessário reiniciar, já que o Tortoise instala extensões integradas ao Windows, que são visualizadas com o clique do botão direito do mouse em qualquer parte da tela.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/tortoise_svn_rebootl.jpg" alt="" width="366" height="172" /></p>
<h2>Realizando checkout do código fonte</h2>
<p>Depois de reiniciar, vamos fazer checkout do código fonte do Shindig. Checkout significa baixar todo o conteúdo do repositório onde está armazenado.</p>
<p>Vá ao diretório root do servidor web (c:\wamp\www) e crie um diretório chamado shindig:</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/svn_checkout_1.jpg" alt="" width="797" height="537" /></p>
<p>Entre no diretório criado, clique com o botão direito na tela e selecione a opção SVN Checkout (item que o Tortoise adicionou):</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/svn_checkout_2.jpg" alt="" width="796" height="537" /></p>
<p>No campo Url of repository, digite o seguinte endereço: http://svn.apache.org/repos/asf/incubator/shindig/trunk/ e confira com a imagem abaixo.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/svn_checkout_3.jpg" alt="" width="456" height="320" /></p>
<p>Clique em ok, e o resultado será uma tela igual a que está logo abaixo:</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/svn_checkout_4.jpg" alt="" width="554" height="302" /></p>
<p>Assim que estiver pronto, a estrutura dos diretórios deverá se parecer com a abaixo. Os "v" em verde, significam que o fonte que você tem local, não tem nenhuma alteração em relação ao repositório.</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/svn_checkout_5.jpg" alt="" width="798" height="540" /></p>
<p><strong>Um passo importante</strong> nesse momento é configurar o diretório onde o Shindig fará cache dos gadgets, e que não está coberto no tutorial do site. Siga os seguintes passos:</p>
<ul>
<li>Crie um diretório temp, na raiz do shindig - c:\wamp\www\shindig\temp;</li>
<li>Edite o arquivo de configuração C:\wamp\www\shindig\php\config\container.php , editando na linha 160 a chave 'cache_root', que deverá ficar 'cache_root' =&gt; 'c:/wamp/www/shindig/temp'',</li>
</ul>
<p><img class="alignnone size-full wp-image-5" title="shindig-cache" src="http://www.opensocial-br.org/wp-content/uploads/2009/10/shindig-cache.jpg" alt="shindig-cache" width="561" height="464" /></p>
<h2>Configurando o Apache para o Shindig</h2>
<p>Primeiramente, localize o arquivo de configuração do apache  (chamado de httpd.conf). Esse arquivo estará no diretório c:\wamp\bin\apache\apache2.2.8\conf.  Lembre-se que a versão do apache do seu wamp pode ser diferente do tutorial, portanto, vá navegando pela estrutura raiz do diretório wamp.</p>
<p>Não vamos mexer nele por enquanto. Precisamos criar apenas uma entrada no virtual host, para apontar para o diretório do Shindig. Acesse o diretório "extra" que está localizado dentro dessa pasta, no meu caso c:\wamp\bin\apache\apache2.2.8\conf\extra e edite o arquivo httpd-vhosts.conf</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/apache_conf_3.jpg" alt="" width="798" height="540" /></p>
<p>Edite esse arquivo, removendo os 2 exemplos de configuração (são exemplos e não funcionam) e depois adicione as 2 instruções - uma para o localhost e outra para o Shindig.</p>
<pre>&lt;VirtualHost *:80&gt;
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "C:\wamp\www"
ServerName localhost
ServerAlias localhost
&lt;/VirtualHost&gt;

&lt;VirtualHost *:80&gt;
ServerName shindig
DocumentRoot "C:\wamp\www\shindig\php"
ErrorLog "logs/shindig-error.log"
Customlog "logs/shindig-access.log" common
&lt;/VirtualHost&gt;</pre>
<p><img src="http://www.chabotc.com/guides/shindig_install/apache_conf_4.jpg" alt="" width="976" height="656" /></p>
<p>Próximo, precisamos fazer com que o Windows "entenda" o nome do host "shindig". Usaremos uma técnica de editar o arquivo de host, localizado em: c:\WINDOWS\system32\drivers\etc\hosts :</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/apache_conf_5.jpg" alt="" width="798" height="540" /></p>
<p>E adicionamos o "shindig" (sem as aspas), conforme abaixo:</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/apache_conf_6.jpg" alt="" width="976" height="656" /></p>
<p>Depois de feito tudo isso, reinicie seu wampserver, clicando com o botão esquerdo do mouse no ícone ao lado do relatório e selecionando 'Restart All Services':</p>
<p><img src="http://www.chabotc.com/guides/shindig_install/apache_conf_7.jpg" alt="" width="244" height="288" /></p>
<h2>Testando!</h2>
<p>Aponte seu browser para o endereço: <a href="http://shindig/gadgets/ifr?url=http://www.dxs.com.br/mundojava/olamundo.xml" target="_blank">http://shindig/gadgets/ifr?url=http://www.dxs.com.br/mundojava/olamundo.xml</a></p>
<p>Você deverá visualizar o gadget renderizado na tela, e isso significa que tudo funcionou corretamente e que seu Shindig está ok. Faça testes, passando como parâmetro na url outros gadgets.</p>
<div id="attachment_6" class="wp-caption alignnone" style="width: 630px"><img class="size-full wp-image-6" title="olamundo" src="http://www.opensocial-br.org/wp-content/uploads/2009/10/olamundo.jpg" alt="Hello World Opensocial Shindig" width="620" height="373" /><p class="wp-caption-text">Hello World Opensocial Shindig</p></div>
<p>Terminamos assim a primeira parte do nosso artigo. No próximo veremos como criar nossa estrutura para parecer com o iGoogle. Dúvidas ou sugestões ? Deixe seu comentário.</p>
<p>Robson Dantas<br />
Opensocial Guru</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opensocial-br.org/instalando-o-php-shindig-no-windows/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

