<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fernando Felix do N. Junior&#039;s Blog</title>
	<atom:link href="http://fernandojrifcg.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fernandojrifcg.wordpress.com</link>
	<description>Meu Blog Acadêmico!  ^^</description>
	<lastBuildDate>Tue, 22 Feb 2011 17:27:41 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fernandojrifcg.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Fernando Felix do N. Junior&#039;s Blog</title>
		<link>http://fernandojrifcg.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fernandojrifcg.wordpress.com/osd.xml" title="Fernando Felix do N. Junior&#039;s Blog" />
	<atom:link rel='hub' href='http://fernandojrifcg.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Saiba como as empresas justificam o alto preço dos videogames no Brasil</title>
		<link>http://fernandojrifcg.wordpress.com/2010/08/18/saiba-como-as-empresas-justificam-o-alto-preco-dos-videogames-no-brasil/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/08/18/saiba-como-as-empresas-justificam-o-alto-preco-dos-videogames-no-brasil/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 13:52:14 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[X. random]]></category>
		<category><![CDATA[impostos]]></category>
		<category><![CDATA[jogos]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=444</guid>
		<description><![CDATA[Consoles que custam US$ 300 nos EUA custam até R$ 2 mil no país.
Fabricantes culpam impostos; IPI sobre os videogames chega a 50%.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=444&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Consoles que custam US$ 300 nos EUA custam até R$ 2 mil no país.<br />
Fabricantes culpam impostos; IPI sobre os videogames chega a 50%.</h3>
<div>
<table>
<thead>
<tr>
<th> Consoles</th>
<th> Preço nos EUA (média)</th>
<th> Preço oficial no Brasil (média)</th>
</tr>
</thead>
<tbody>
<tr>
<td>PlayStation 3 (120 GB)</td>
<td>US$ 300</td>
<td>R$ 1.999</td>
</tr>
<tr>
<td>Xbox 360 (Arcade)</td>
<td>US$ 130</td>
<td>R$ 1 mil</td>
</tr>
<tr>
<td>Nintendo Wii</td>
<td>US$ 200</td>
<td>R$ 1.200</td>
</tr>
</tbody>
</table>
</div>
<p>O lançamento do PlayStation 3 no Brasil na quarta-feira (11), quase  quatro anos após a chegada do videogame da Sony ao mercado  norte-americano e japonês, pode ser comemorado por conta de, finalmente,  o país ter a presença oficial dos três consoles da atual geração.  Entretanto, o preço do aparelho, R$ 2 mil &#8211; nos EUA, o mesmo produto é  vendido pelo equivalente a R$ 530 &#8211; levanta a velha questão que há anos  vive na cabeça dos gamers brasileiros: por que os videogames são tão  caros por aqui?</p>
<p>Empresas como Sony, Nintendo (Wii) e Microsoft (Xbox 360) trazem  consoles que custam, em média nos Estados Unidos US$ 200, por mais de R$  1.500 no Brasil.. A justificativa dada por todas é que o que eleva o  preço dos videogames no Brasil é a alta carga tributária praticada por  aqui.</p>
<p>Como os videogames são produtos importados, as empresas devem pagar uma  série de tributos para que o produto possa entrar no Brasil. De impostos  federais, são cobrados imposto de importação, Pis, Cofins, e IPI  (imposto sobre produtos industrializados), que somados com o ICMS  estadual, faz com que os videogames tenham 164% do seu valor taxado em  impostos.</p>
<p>[Matéria completa: <a href="http://g1.globo.com/tecnologia/noticia/2010/08/saiba-como-empresas-justificam-o-alto-preco-dos-videogames-no-brasil.html">g1.globo.com</a>]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/444/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=444&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/08/18/saiba-como-as-empresas-justificam-o-alto-preco-dos-videogames-no-brasil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Minhas impressões sobre o Grok</title>
		<link>http://fernandojrifcg.wordpress.com/2010/08/13/minhas-impressoes-sobre-o-grok/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/08/13/minhas-impressoes-sobre-o-grok/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 19:22:46 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[1. Artigos]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[grok]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=408</guid>
		<description><![CDATA[Antes de tudo, Grok é um Framework Web construído com base no ZTK (Zope Toolkit). Sua linguagem padrão é o Python (linguagem de altíssimo nível).<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=408&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://fernandojrifcg.wordpress.com/2010/08/13/minhas-impressoes-sobre-o-grok/"><img class="aligncenter size-full wp-image-420" title="grok-standing" src="http://fernandojrifcg.files.wordpress.com/2010/08/grok-standing.jpg?w=497" alt=""   /></a></p>
<p>Opa, vou fazer um post pequeno sobre o que eu achei do Grok.</p>
<p>Antes de tudo, Grok é um Framework Web construído com base no ZTK (Zope Toolkit). Sua linguagem padrão é o Python (linguagem de altíssimo nível).</p>
<p>A primeira vez que eu conheci o Grok eu estava querendo saber mais sobre o Zope 3, não me interessei muito por ele. Pensei, se eu tivesse que aprender algum fremework, teria que ser o Django.</p>
<p>Alguns dias atrás uma certa pessoa mandou um post, no grupo Zope/Plone Brasil, falando sobre um tal de OSHIP (Open Source Health Information Plataform):</p>
<blockquote><p>&#8220;O Laboratório Associado &#8220;Multilevel Healthcare Information Modelling&#8221; (LA-MLHIM) é composto por pesquisadores da Universidade do Estado do Rio de Janeiro (UERJ), Universidade Federal Fluminense (UFF) e colaboradores internacionais, sendo participante do Instituto Nacional de CIência e Tecnologia &#8211; Medicina Assistida por Computação Científica, uma rede de pesquisa coordenada pelo Laboratório Nacional de Computação Científica (LNCC).</p>
<p>Nós estamos coordenando um projeto de Pesquisa, Desenvolvimento e Inovação que está construindo uma suíte de aplicativos, framewroks e ferramentas voltadas para o desenvolvimento de Sistemas de Informação em Saúde baseados em modelagem multinível&#8230;&#8221;[Aqui esta a mensagem completa: <a href="http://br.groups.yahoo.com/group/zope-pt/message/22136">link</a>]</p></blockquote>
<p>Então fui pesquisar do que se tratava o OSHIP. Resultado:</p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<blockquote><p>&#8220;Plataforma de Informação em Saúde Open Source (Open Source Health Information Platform – OSHIP) é uma implementação baseada nas especificações de assistência  médica do  MLHIM (Multilevel Healthcare Information Modelling) escrito em Python/C. Usa a Arquitetura de Componentes Zope3 e o Grok.&#8221;</p></blockquote>
<p>A consequência foi que minha atenção se voltou para o Grok. Então fui direto ao site <a href="http://grok.zope.org/">[grok.zope.org]</a> para estudar/saber mais sobre ele. E pode apostar, foi uma experiência muito boa! Não me arrependo.Em apenas alguns minutos já estava desenvolvendo alguma coisa, ou seja, experimentando a facilidade que o Grok oferece em relação a outras outras plataformas Zope-like como o Plone.</p>
<h3>Vantagens</h3>
<p>Alem de estar nas costa do potente Zope, abaixo esta&#8217; mais algumas vantagens do Framework Grok.</p>
<h3>O Grok acaba com o ZCML.</h3>
<p>Muitos acham difícil ter que lidar com o ZCML, por isso e&#8217; dito por muitos como &#8220;Unpythonic&#8221;. Em vez de utilizar o ZCML para configurar sua aplicação, o Grok faz isso por você de forma automática analisando o seu código Python. Com isso se torna fácil e agradável programar em Python no Grok.</p>
<h3>MVC</h3>
<p>O Grok e&#8217; baseado no conceito MVC, então quando você aprende Grok de certa forma vai estar aprendendo sobre MVC. &#8220;<strong>Model-view-controller</strong> (<strong>MVC</strong>) é um padrão de arquitetura de software que visa separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos.&#8221; [Wikipedia]</p>
<h3>ZODB</h3>
<p>ZODB (Zope Object Data Base  (ou <em>ZODB</em>) é um banco de dados transacional orientado a objetos. E&#8217; muito fácil utiliza-lo no Grok: Basta estender a classe &#8220;SuaClasseApp&#8221; da classe &#8220;grok.Model&#8221; e qualquer objeto/variável que criar na mesma já estará na base de dados.</p>
<h3>ZPT</h3>
<p>O Grok utiliza o ZPT, ou seja, se você já conhece o ZPT, poderá utilizar todos os seus conceitos no Grok. Zope Page Templates (ou linguagem de templates Zope) é um instrumento do  servidor de aplicação Zope para a geração de páginas web dinâmicas. ZPT  facilita a colaboração entre programadores e designers web aumentando a  produtividade de páginas web dinâmicas que constituem a interface de   qualquer aplicação Zope. E&#8217; muito fácil aprender ZPT.<a href="http://fernandojrifcg.wordpress.com/2010/07/25/1-zpt-introducao/">[Mais sobre o ZPT]</a></p>
<h3>Multidisciplinar</h3>
<p>Ou seja, quando você estuda o Grok, consequentemente esta estudando o Zope e varias outras aplicações derivadas dele (ex: Plone <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . obs: Você não precisa saber nada do Zope para aprender o Grok! ^^</p>
<h3>Documentação</h3>
<p>Apesar de não ter matérias em Português, a documentação do Grok e&#8217; muito boa, de fácil entendimento e manuseio. Melhor que a do Plone, eu acredito. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Acesse o site do Grok <a href="http://grok.zope.org/">[grok.zope.org]</a> para conhecer mais essa maravilha <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://fernandojrifcg.wordpress.com/2010/07/17/zope-para-leigos/">[Mais sobre o Zope]</a></p>
<p>Fernando jr.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/408/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/408/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/408/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=408&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/08/13/minhas-impressoes-sobre-o-grok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/08/grok-standing.jpg" medium="image">
			<media:title type="html">grok-standing</media:title>
		</media:content>
	</item>
		<item>
		<title>easy_install</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/31/easy_install/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/31/easy_install/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 07:34:45 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[4. Glossário]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[glossario]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=398</guid>
		<description><![CDATA[Um ferramenta de linha de comando que procura e instala pacotes automaticamente dentro de um ambiente Python. O script easy_install faz parte do pacote setuptools, na qual usa o Índice de Pacotes Python (Python Package Index - PyPI) como sua fonte de pacotes.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=398&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --><em>traduzido por fernando jr</em></p>
<p>Um ferramenta de linha de comando que procura e instala pacotes automaticamente dentro de um ambiente Python. O script easy_install faz parte do pacote setuptools, na qual usa o Índice de Pacotes Python (Python Package Index &#8211; PyPI) como sua fonte de pacotes.</p>
<p><em>original: <a href="http://plone.org/documentation/manual/glossary/easy_install">http://plone.org/documentation/manual/glossary/easy_install</a></em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/398/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/398/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/398/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=398&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/31/easy_install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Python egg</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/31/python-egg/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/31/python-egg/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 07:22:57 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[4. Glossário]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[glossario]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=394</guid>
		<description><![CDATA[Uma forma de empacotar e distribuir pacotes Python.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=394&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em> tradução  &#8211; fernando jr</em></p>
<p>Uma forma de empacotar e distribuir pacotes Python. Cada egg contem um arquivo setup.py com os  metadados (como o nome do autor, o endereço de email, informação de licenciamento, etc), bem como informações sobre dependências, ferramentas de configurações (setuptools), a biblioteca Python que potencializa o mecanismo egg, e&#8217; possível achar e baixar dependências automaticamente  para os eggs que você instalou. E&#8217; realmente possível que duas eggs use diferentes versões de uma mesma dependência simultaneamente. Eggs também dão suporte a uma característica chamada de entrada de pontos (entry points), um tipo genérico de plug-in. Mais detalhes estão disponíveis no site <a href="http://peak.telecommunity.com/DevCenter/setuptools">the PEAK.</a></p>
<p><em>original: http://plone.org/documentation/manual/glossary/python-egg</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/394/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/394/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/394/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=394&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/31/python-egg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Zope instance</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/31/zope-instance/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/31/zope-instance/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 06:39:50 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[4. Glossário]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[glossario]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=390</guid>
		<description><![CDATA[Um processo do sistema operacional que trata a interação do HTTP com o banco de dados do Zope (ZODB). Em outras palavras, o servidor web Zope. Alternativamente, o código Python e outros arquivos de configurações necessários para rodar tal processo.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=390&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>traduzido por Fernando Jr.</em></p>
<p>Um processo do sistema operacional que trata a interação do HTTP com o banco de dados do Zope (ZODB). Em outras palavras, o servidor web Zope. Alternativamente, o código Python e outros arquivos de configurações necessários para rodar tal processo.</p>
<p>Uma instalação Zope pode suportar instancias múltiplas. Use a formula (recipe) do buildout plone.recipe.zope2instance para criar novas instancias Zope. Muitas instancias Zope podem servir dados de um único Data.fs (arquivo de banco de dados do Zope) usando o servidor ZEO no back-end.</p>
<p><em>original: <a href="http://plone.org/documentation/manual/glossary/zope-instance">http://plone.org/documentation/manual/glossary/zope-instance</a></em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=390&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/31/zope-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Software home</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/30/software-home/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/30/software-home/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 11:23:24 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[4. Glossário]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[glossario]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=380</guid>
		<description><![CDATA[O diretório dentro da instalação Zope que contem todos os códigos feito em Python que faz o núcleo do Servidor de Aplicações Zope.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=380&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --><em>traduzido por Fernando Junior</em>.</p>
<p>O diretório dentro da instalação Zope que contem todos os códigos feito em Python que faz o núcleo do Servidor de Aplicações Zope. Os vários pacotes Zope são distribuídos aqui. Também referido como  a variável $SOFTWARE_HOME. Isto varia de um sistema para outro, dependendo de onde você, ou seu sistema de pacotes Zope, instalou. Você pode achar o valor dele na ZMI &gt; Control Panel.</p>
<p>http://plone.org/documentation/manual/glossary/software-home</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/380/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/380/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/380/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=380&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/30/software-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Templates e a linguagem de template</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/28/5-1-2-1-templates-e-a-linguagem-de-template/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/28/5-1-2-1-templates-e-a-linguagem-de-template/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 13:59:21 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[2. Tema Plone – Referencia]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[Zope Page Templates]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=347</guid>
		<description><![CDATA[Os principais elementos de uma skin são os templates de pagina (page templates), imagens, scripts Python, arquivos CSS, e arquivos JavaScript.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=347&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p><a href="../2010/07/23/2010/07/23/tema-plone-referencia-indice/">Tema   Plone – Referencia – Índice</a></p>
</div>
</div>
<p><a href="../2010/07/23/5-blocos-de-construcao/">Blocos de construção &#8211; índice</a></p>
<h1>1. Templates e a Linguagem de template</h1>
<p>Os principais elementos de uma skin são os templates de pagina (page templates), imagens, scripts Python, arquivos CSS, e arquivos JavaScript.</p>
<h3>(Zope) Page Templates &#8211;  ZPT</h3>
<p>Os Page templates (arquivos .pt) compõe uma parte essencial de um tema Plone, e são provavelmente, a maneira mais fácil de se familiarizar com o Plone.</p>
<p>Eles são escritos em um elegante XML, baseado na linguagem de template chamada TAL, algumas vezes faz o uso de macros (METAL), e algumas vezes incorpora expressões Python (pequenos cálculos de uma linha) ou scripts Python.</p>
<p>Não demora muito para se aprender o TAL (Template Attribute Language). TAL é uma das linguagens  que você realmente deve aprender. O resto você pode escolher o caminho que deve seguir ou então se familiarizar com elas ao longo do tempo.</p>
<p>Segue a seguinte sessão para você aprender mais sobre Zope Page Templates:</p>
<blockquote><p><a href="../2010/07/25/1-zpt-introducao/">[</a><a href="../2010/07/25/indice-zpt/">Zope Page Templates – Indice</a><a href="../2010/07/25/1-zpt-introducao/">]</a></p>
<p><a href="../2010/07/25/1-zpt-introducao/">1. ZPT – Introdução</a></p>
<p><a href="../2010/07/25/2-aplicacao-dos-principios/">2. Aplicação dos princípios</a></p>
<p><a href="../2010/07/25/2010/07/25/1-4-1-tal/"><br />
</a></p></blockquote>
<p>2.3. METAL? <em>//falta implementar</em></p>
<p>E após ter terminado, vá para a sessão de uso avançado ZPT  [Zope Page Templates – Uso avançado] [//falta implementar].</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/347/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/347/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/347/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=347&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/28/5-1-2-1-templates-e-a-linguagem-de-template/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>Configurando o Servidor de e-mails do Plone 3.3.x</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/28/configurando-o-servidor-de-e-mails-do-plone-3-3-x/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/28/configurando-o-servidor-de-e-mails-do-plone-3-3-x/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 05:49:29 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[3. Plone Tutoriais]]></category>
		<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[zope]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=314</guid>
		<description><![CDATA[Neste tutorial será mostrado o passo-a-passo de como configurar o servidor de e-mails dentro do Plone, porem não tem como objetivo explicar o significado das siglas que serão usadas como SMTP1, ESMTP2.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=314&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		H3 { margin-bottom: 0.08in } 		H3.western { font-family: "Nimbus Sans L", sans-serif } 		H1 { margin-bottom: 0.08in } 		H1.western { font-family: "Nimbus Sans L", sans-serif; font-size: 16pt } 		H1.cjk { font-family: "DejaVu Sans"; font-size: 16pt } 		H1.ctl { font-family: "DejaVu Sans"; font-size: 16pt } -->[versao pdf: <a href="http://fernandojrifcg.files.wordpress.com/2010/07/servidor_email_plone.pdf">Configurando o Servidor de e-mails do Plone 3.3.X]</a></p>
<p>[Nao sabe instalar o Plone? então acesse: <a href="http://fernandojrifcg.wordpress.com/2010/05/06/introducao/">Como instalar o Plone 3.3.x</a>]</p>
<p>Neste tutorial será mostrado o passo-a-passo de como configurar o servidor de e-mails dentro  do Plone, porem não tem como objetivo explicar o significado das siglas que serão usadas como  SMTP1, ESMTP2.</p>
<p>Muitas características, como o formulário de contatos, notificação por email e reinicialização (reset) de senha (caso algum usuário tenha esquecido), presentes no Plone, necessitam que o Servidor de e-mails (mailHost) do mesmo esteja configurando corretamente.</p>
<p>Para funcionar é necessário que o Plone esteja com suporte ao SSL. A biblioteca SSL é fortemente recomendada, usada para configurar o servidor de email seguro (secureMailHost) e para dar suporte openid (um sistema de identificação); necessária também para atualizações do https.</p>
<h3>I- Plone Instalando suporte ao SSL  (libssl-dev &#8211; pyopenssl)</h3>
<p><strong>Primeira etapa.</strong></p>
<p>Acesse o terminal (console/prompt de comando), da sua distribuição Debian-like, para fazer a instalação através do apt-get:</p>
<blockquote><p><em>sudo apt-get install libssl-dev</em></p></blockquote>
<p><em><br />
</em></p>
<p><strong>Segunda etapa.</strong></p>
<p>Faça a instalação do Plone Unified Installer (Plone U.I.) novamente ou a recompile algum já existente;</p>
<p><strong>Terceira etapa.</strong></p>
<p>Com o Plone instalado, você deve instalar o SSL (pyopenssl<strong>)</strong> no Python que o seu Plone está utilizando:</p>
<p><strong>1</strong><em><strong>.</strong></em> No terminal linux, acesse a pasta bin onde o Python-2.4, do seu Plone U.I. 3, foi instalado. Na instalação padrão a pasta Python-2.4/bin se encontra no diretório em que o próprio Plone U.I. foi instalado:</p>
<blockquote><p><em>exemplo: cd /home/fernandojr/meus_programas/plone-ui-3.3.5/Python-2.4/bin</em></p></blockquote>
<p><em><br />
</em></p>
<p><strong>2</strong><em><strong>.</strong></em> Agora iremos utilizar o gerenciador de pacotes Easy Install (easy_install) do Python-2.4 para instalar a biblioteca SSL. No seu prompt de comando Debian-like realize o seguinte:</p>
<blockquote><p><em>sudo ./python2.4 easy_install pyopenssl</em></p></blockquote>
<p><em><br />
</em></p>
<p>Pronto. O seu Plone agora já tem suporte ao SSL. A próxima etapa é fazer a configuração correta.</p>
<h3>II- Configurando o Servidor de e-mails (mail host)</h3>
<p>Dados necessários:</p>
<ul>
<li>SMTP 	do servidor de e-mails que será utilizado.</li>
<li>Porta 	do servidor de e-mails que será utilizado.</li>
<li>Um 	e-mail válido dentro do servidor.</li>
<li>Um 	usuário cadastrado na instância Plone/Zope com privilégios de 	administrador.</li>
</ul>
<p><strong>Primeira etapa.</strong></p>
<p>O primeiro passo é configurar no próprio plone, para isso, faça o log-in (Acessar) como administrador no seu site Plone, onde pretende configurar o e-mail, e clique em Configuração do Site (Site Setup), localizado no canto superior direito do site Plone.</p>
<p><a href="http://fernandojrifcg.files.wordpress.com/2010/07/site-setup.jpg"><img class="aligncenter size-full wp-image-315" title="site setup" src="http://fernandojrifcg.files.wordpress.com/2010/07/site-setup.jpg?w=497" alt=""   /></a></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } -->Após esse procedimento clique em E-Mail , para começar a configurar o servidor  de e-mails.</p>
<p><strong>Segunda etapa.</strong></p>
<p>A seguir iremos preencher os campos com os dados do servidor.</p>
<p><a href="http://fernandojrifcg.files.wordpress.com/2010/07/e-mail.jpg"><img class="alignleft size-full wp-image-316" title="e-mail" src="http://fernandojrifcg.files.wordpress.com/2010/07/e-mail.jpg?w=497" alt=""   /></a></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --><em>Servidor SMTP. </em>Coloca-se o endereço do servidor de e-mails. Ex: Hotmail Servidor SMTP → smtp.live.com</p>
<p><em>Porta SMTP. </em>Aqui coloca-se a porta do servidor, por padrão essa porta tem  valor 25 já pré-definido (este é o valor mais usado) . Ex:  Hotmail Porta SMTP (com conexão SSL)  → 25</p>
<p><em>Usuário ESMTP</em>. Ex: joaoxicojose123@hotmail.com</p>
<p><em>Senha ESMTP.</em> Ex: 123456789</p>
<p><em>Nome do &#8216;Remetente&#8217; do site. </em>Fica a critério de cada aplicação o preenchimento  desse campo. O resultado é que o nome no campo Remente será aquele para quem será enviado o  e-mail, por padrão. O nome padrão no plone é Site Administrator.</p>
<p>Endereço de &#8216;Remetente&#8217; do site. Aqui deve-se colocar um e-mail válido de  algum usuário cadastrado na instância plone (Administradores de preferência). Ex: joaoxicojose123@hotmail.com</p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } -->Finalizado todo o processo, seu servidor de e-mail do Plone está configurado e pronto para uso.</p>
<p>Aconselho que teste o procedimento, por exemplo, preenchendo o formulário de contato, disponível  no canto superior direito do site Plone. Exemplo:</p>
<p><a href="http://fernandojrifcg.files.wordpress.com/2010/07/contato.jpg"><img class="aligncenter size-full wp-image-317" title="contato" src="http://fernandojrifcg.files.wordpress.com/2010/07/contato.jpg?w=497" alt=""   /></a></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } -->Caso ocorra algum erro, será necessário configurar o  MAILHOST no ZOPE.</p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		H3 { margin-bottom: 0.08in } 		H3.western { font-family: "Nimbus Sans L", sans-serif } --></p>
<h3>III – MailHost</h3>
<p><span style="color:#ff0000;"><strong>ATENÇÃO: SOMENTE ALTERE AS CONFIGURAÇÕES DO ZOPE APÓS TESTAR SE   SOMENTE COM OS PASSOS ANTERIORES O E-MAIL AINDA NÃO ESTIVEREM                          FUNCIONANDO) </strong></span></p>
<p><span style="color:#000000;"> Agora então iremos acessar Configuração do Site como feito anteriormente, depois Interface </span></p>
<p><span style="color:#000000;">de Gerência Zope e finalmente MAILHOST</span></p>
<p><span style="color:#000000;"><a href="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost.jpg"><img class="aligncenter size-full wp-image-318" title="mailhost" src="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost.jpg?w=497" alt=""   /></a></span></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --><span style="color:#000000;">Os campos são bem parecidos com os anteriores:</span></p>
<p><span style="color:#000000;"><a href="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost2.jpg"><img class="aligncenter size-full wp-image-319" title="mailhost2" src="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost2.jpg?w=497" alt=""   /></a></span></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		TD P { margin-bottom: 0in } 		P { margin-bottom: 0.08in } --></p>
<table border="1" cellspacing="0" cellpadding="4" width="100%">
<col width="128*"></col>
<col width="128*"></col>
<tbody>
<tr valign="TOP">
<td width="50%"><strong>Title (Título)</strong></td>
<td width="50%">Coloque um título de sua preferência</td>
</tr>
<tr valign="TOP">
<td width="50%"><strong>SMTP Host(Servidor SMTP) </strong></td>
<td width="50%">Insira o mesmo servidor que você escolheu na II 			seção;</td>
</tr>
<tr valign="TOP">
<td width="50%"><strong>Port(Porta SMTP)</strong></td>
<td width="50%">Insira as mesmas informações anteriores da 			seção II.</td>
</tr>
<tr valign="TOP">
<td width="50%"><strong>SMTP Userid (Login do Usuário):</strong></td>
<td width="50%">Insira seu login do e-mail que escolheu usar. Obs 			(Sem utilizar &#8230;@hotmail.com depois do nome de login )</td>
</tr>
<tr valign="TOP">
<td width="50%"><strong>SMTP Password(Senha): </strong></td>
<td width="50%">Preencha sua senha de acesso do e-mail</td>
</tr>
<tr valign="TOP">
<td width="50%"><strong>Disable TLS(Desabilitar TLS)</strong></td>
<td width="50%">Esta parte é muito importante, o significado de 			TLS é  Disable TLS(Desabilit                      Transport Layer 			Security &#8211; TLS (Protocolo de Camada de  Sockets Segura), antes de 			marcar a caixinha na frente desta  opção desabilitando a mesma, 			faça o teste com ele ainda                        ativo o TLS é 			uma chave de criptografia que serve para dar  uma maior proteção 			as informações enviadas através dos e- mails.</td>
</tr>
</tbody>
</table>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<blockquote><p><span style="color:#000000;"> “Se eu desativar o TLS meu site corre perigo?”. </span></p></blockquote>
<p><span style="color:#000000;">Não, não é bem assim que funciona, ele serve como prevenção, não é necessariamente  porque você irá desativá-lo que seu site ficará desprotegido. A função do TLS é criptografar as  informações que serão enviadas no e-mail, assim se algum usuário mal intencionado com um  conhecimento avançado em computação e protocolos de Internet tentar acessar essas informações  não irá conseguir entender de maneira automática as informações contidas nesse e-mail. Nesse caso  os e-mails serão utilizados SOMENTE para cadastro de usuários a desativação do TLS não irá  trazer maiores riscos. Porém fique atento, segurança nunca é demais. Desative esta função somente  se mesmo depois de todos os passos feitos anteriormente, ainda tiver problemas com os e-mails.</span></p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		H3 { margin-bottom: 0.08in } 		H3.western { font-family: "Nimbus Sans L", sans-serif } --></p>
<h3>IV- Referencias</h3>
<ul>
<li>Gallani, Erick. <strong>Como configurar o servidor de e-mails do 	Plone 3</strong>. 2009.</li>
<li><a name="art_title"></a>Endereços 	dos servidores POP e SMTP dos principais FAI. Disponível em 	&lt;<a href="http://pt.kioskea.net/faq/844-enderecos-dos-servidores-pop-e-smtp-dos-principais-fai">http://pt.kioskea.net/faq/844-enderecos-dos-servidores-pop-e-smtp-dos-principais-fai</a>&gt; 	Acesso em 2010.</li>
<li>Wikipedia</li>
</ul>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } --></p>
<ul>
<li>Plone.org</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/314/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/314/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/314/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=314&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/28/configurando-o-servidor-de-e-mails-do-plone-3-3-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/07/site-setup.jpg" medium="image">
			<media:title type="html">site setup</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/07/e-mail.jpg" medium="image">
			<media:title type="html">e-mail</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/07/contato.jpg" medium="image">
			<media:title type="html">contato</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost.jpg" medium="image">
			<media:title type="html">mailhost</media:title>
		</media:content>

		<media:content url="http://fernandojrifcg.files.wordpress.com/2010/07/mailhost2.jpg" medium="image">
			<media:title type="html">mailhost2</media:title>
		</media:content>
	</item>
		<item>
		<title>1.8. tal:repeat: Executando Looping</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/27/1-8-talrepeat-executando-looping/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/27/1-8-talrepeat-executando-looping/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 11:33:02 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[Zope Page Templates]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=291</guid>
		<description><![CDATA[O tal:repeat permite fazer o looping através dos objetos e é uma das declarações mais complicadas. Uma declaração contém o valor para ser atribuído para cada iteração dos resultados, separada por um espaço dos resultados que estão sendo iterados.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=291&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p><a href="../2010/07/23/2010/07/23/tema-plone-referencia-indice/">Tema   Plone – Referencia – Índice</a></p>
</div>
</div>
<p><a title="Link Permanente para Índice – Zope  Page Templates" rel="bookmark" href="../2010/07/25/indice-zpt/">Zope Page Template &#8211; índice</a></p>
<p>O tal:repeat permite fazer o looping através dos objetos e é uma das  declarações mais complicadas. Uma declaração contém o valor para ser  atribuído  para cada iteração dos resultados, separada por um espaço dos  resultados que  estão sendo iterados.</p>
<h3><strong>Exemplo 1:</strong></h3>
<blockquote><p><em>&lt;table&gt; </em></p>
<p><em> &lt;tr tal:repeat=&#8221;loop_name_row context/portal_catalog&#8221;&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;loop_name_row/Title&#8221;&gt;Title&lt;/td&gt; </em></p>
<p><em> &lt;/tr&gt; </em></p>
<p><em> &lt;/table&gt;</em></p>
<p><em><br />
</em></p></blockquote>
<p>Neste exemplo, a expressão here/portal_catalog retorna a lista de  resultados. O  repeat começa na tag da tabela <em>loop_name_row</em>, para  cada <em>loop_name_row</em> na lista de resultados, uma  nova linha na  tabela será criada. Assim como tal:define, cada iteração dos  resultados  são atribuídos para uma variável local (neste caso, <em>loop_name_row</em>).</p>
<h3><strong>Exemplo 2:</strong></h3>
<p>Você pode acessar algumas variáveis úteis da declaração repeat, tal  como o  número da iteração atual. Você pode acessa-las pela variável  repeat, que é  acrescentada ao namespace. Por exemplo, para acessar o  número atual, você usa o  seguinte:</p>
<blockquote><p><em> &lt;table&gt; </em></p>
<p><em> &lt;tr tal:repeat=&#8221;row context/portal_catalog&#8221;&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;repeat/row/number&#8221;&gt;1&lt;/td&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;row/Title&#8221;&gt;Title&lt;/td&gt; </em></p>
<p><em> &lt;/tr&gt; </em></p>
<p><em> &lt;/table&gt; </em></p></blockquote>
<h3><strong>Exemplo 3:</strong></h3>
<p>Agora vamos acrescentar à nossa página uma lista de objetos que se  encontram no mesmo  diretório. Vamos criar uma tabela cujas linhas serão  numeradas em uma coluna, além das  colunas para id, metatype e title.</p>
<p>Acrescente esta linha na sua pagina ZPT:</p>
<blockquote><p><em> &lt;table border=&#8221;1&#8243; width=&#8221;100%&#8221;&gt; </em></p>
<p><em> &lt;tr&gt; </em></p>
<p><em> &lt;th&gt;#&lt;/th&gt;&lt;th&gt;Id&lt;/th&gt;&lt;th&gt;Meta-Type&lt;/th&gt;&lt;th&gt;Title&lt;/th&gt; </em></p>
<p><em> &lt;/tr&gt; </em></p>
<p><em> &lt;tr tal:repeat=&#8221;item container/objectValues&#8221;&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;repeat/item/number&#8221;&gt;#&lt;/td&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;item/id&#8221;&gt;Id&lt;/td&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;item/meta_type&#8221;&gt;Meta-Type&lt;/td&gt; </em></p>
<p><em> &lt;td tal:content=&#8221;item/title&#8221;&gt;Title&lt;/td&gt; </em></p>
<p><em> &lt;/tr&gt; </em></p>
<p><em> &lt;/table&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>O atributo tal:repeat aplicada sobre as linhas significa: repita esta  linha para cada  objeto do container. O atributo repeat atribui os  objetos da lista, um à um, à variável item, e  criada uma cópia da linha  para cada objeto utilizando esta variável. O valor item/id em cada   linha é o atributo id do objeto para a linha corrente.</p>
<p>O nome item da variável não é especial; poder-se-ia utilizar qualquer  nome desde  começasse por uma letra e que contenha apenas letras,  números ou &#8220;_&#8221;. A variável existe  apenas no tag no qual encontra-se o  atributo tal:repeat, no caso acima o tag &lt;tr&gt;; Se  deseja  utiliza-la o fora do tag, obterá um erro.</p>
<p>Cada linha no exemplo é numerada, o que implica o conhecimento do  número corrente.  Poderia também querer identificar se uma linha  específica é a primeira ou a última ou  outras informações similares. Em  cada cópia da linha, a variável item representa um  objeto da lista.  Este objeto não está consciente do laço, sabe nada a respeito do loop,  por  conseguinte não existe atributo específico do objeto que permita  extrair informações sobre  o laço. A variável interna repeat foi criada  exatamente para isso. Se põe o nome da variável  de conteúdo (item no  caso), após a variável repeat, pode aceder à contagem do laço a partir   de zero (index), partir de 1 (number), partir de &#8220;A&#8221; (Letter), e de  diferentes outras maneiras.</p>
<p>Por conseguinte, a expressão repeat/item/number é igual à 1 na  primeira linha, 2 na  segunda, etc. Dado que se pode inserir a expressão  tal:repeat no interior de outra  expressão tal:repeat, vários laços  podem estar ativos por vez. Por essa razão deve-se usar  repeat/item/number ao invés de repeat/number, ou seja, simplesmente   para obter informações do tal:repeat correto, aquele que criou a  variável item.</p>
<h3><strong>Segue uma relação das variáveis disponíveis no repeat: </strong></h3>
<ul>
<li>index: 	Número de iterações, a partir de zero.</li>
<li>number: 	Número de iterações, a partir de um.</li>
<li>even: 	É true (verdadeiro) para iteração de números pares (por  exemplo, 	0, 2, 4,  &#8230;).</li>
<li>odd: 	é true para uma iteração de números ímpares (por exemplo, 1,  3, 	5,  &#8230;).</li>
<li>start: 	É true para a primeira iteração.</li>
<li>end: 	É true para a última iteração.</li>
<li>length: 	É o total do números de iterações.</li>
<li>letter: 	Número de iteração com escrita em minúscula (por  exemplo,  a–z, 	aa–az, ba–bz, &#8230;, za–zz, aaa–aaz, e assim por  diante), a 	partir  de um.</li>
<li>Letter: 	É a versão maiúscula de letter.</li>
<li>roman: 	Número numeral Romano em minúscula (i, ii, iii, iv,  v, e  assim 	por diante), a partir de um.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/291/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/291/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/291/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=291&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/27/1-8-talrepeat-executando-looping/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
		<item>
		<title>1.4. 1. TAL – Declaracões</title>
		<link>http://fernandojrifcg.wordpress.com/2010/07/27/1-4-1-tal-%e2%80%93-declaracoes/</link>
		<comments>http://fernandojrifcg.wordpress.com/2010/07/27/1-4-1-tal-%e2%80%93-declaracoes/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 08:17:55 +0000</pubDate>
		<dc:creator>Fernando Felix do N. Junior</dc:creator>
				<category><![CDATA[I. Plone]]></category>
		<category><![CDATA[Zope Page Templates]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[plone]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[zope]]></category>
		<category><![CDATA[zpt]]></category>

		<guid isPermaLink="false">http://fernandojrifcg.wordpress.com/?p=279</guid>
		<description><![CDATA[Estas são as declaracões TAL..<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=279&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p><a href="../2010/07/23/2010/07/23/tema-plone-referencia-indice/">Tema   Plone – Referencia – Índice</a></p>
</div>
</div>
<p><a title="Link Permanente para Índice – Zope  Page Templates" rel="bookmark" href="../2010/07/25/indice-zpt/">Zope Page Template &#8211; índice</a></p>
<h3><strong>Estas são as declaracões TAL:</strong></h3>
<ul>
<li>tal:attributes → muda atributos do elemento 	(tag) dinamicamente.</li>
<li>tal:define → define variáveis.</li>
<li>tal:condition → testa condições</li>
<li>tal:content → substitui o conteúdo de um 	elemento (tag).</li>
<li>tal:omit-tag → remove um elemento, deixando o 	conteúdo do elemento</li>
<li>tal:on-error → trata os erros.</li>
<li>tal:repeat → repete um elemento.</li>
<li>tal:replace → substitui o conteúdo da tag e 	remove a tag.</li>
</ul>
<p>Expressões usadas nas declaracões podem retornar valores de algum tipo, embora a maioria das declaracões aceitarem apenas strings, ou converter-los para uma representação string.</p>
<h3><strong>Ordem dos elementos (tags)</strong></h3>
<p>Quando existe apenas uma declaração TAL por tag, a ordem na qual eles são executadas é simples. Começando com a tag principal, cada declaração das tags filhas é executada, em ordem.</p>
<p>Algumas combinações de declaracões podem aparecer na mesma tag, exceto as declaracões <strong>content</strong> e <strong>replace </strong>que não podem aparecer juntos.</p>
<p>Devido ao fato de que TAL olha as declaracões como atributos XML, mesmo em documentos HTML, ele não pode usar a ordem em que as declaracões são escritas na tag para determinar a ordem em que elas são executadas. O TAL deve também proibir múltiplas declaracões do mesmo tipo em um único elemento, então isto e&#8217; o suficiente para organizar os tipos de declaracões em uma lista de prioridade.</p>
<p>Quando um elemento tem múltiplas declaracões, eles são executadas na seguinte ordem:</p>
<ol>
<li>define</li>
<li>condition</li>
<li>repeat</li>
<li>content or replace</li>
<li>attributes</li>
<li>omit-tag</li>
</ol>
<p>Como a declaração on-error é apenas invocada quando um erro ocorre, ele não aparece na lista.</p>
<p>Pode não ser aparente que existe necessidades para se ter uma ordem. A razão de dever existir um é que a linguagem de atributos TAL é baseado no XML.</p>
<p><!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		H3 { margin-bottom: 0.08in } 		H3.western { font-family: "Nimbus Sans L", sans-serif } -->Introdução a sintaxe de comandos TAL</p>
<h3>1.1. tal:define: Definindo Variáveis</h3>
<p>A declaração<strong> tal:define permite a criação e a e reutilização de variáveis</strong> dentro dos templates.</p>
<p>Por exemplo:</p>
<blockquote><p><em>&lt;p tal:define=&#8221;container_title here/title_or_id&#8221;&gt; </em></p>
<p><em>&#8230; </em></p>
<p><em>&lt;i tal:content=&#8221;container_title&#8221;&gt;The title&lt;/i&gt;</em></p>
<p><em>&#8230; </em></p>
<p><em>&lt;/p&gt;</em><em> </em></p></blockquote>
<p>Neste exemplo, o título da variável é criado e determinado pelo resultado de <em><strong> here/title_or_id</strong></em>; depois a variável <em><strong>container_title</strong></em> é usada na declaração <strong>tal:content</strong>.</p>
<p>Por padrão a variável é criada localmente dentro do namespace do elemento  atual. Assim, no exemplo anterior, só elementos dentro da tag parágrafo  &lt;p&gt; podem usar a variável <em>container_title</em>. Você pode redefinir a variável em qualquer lugar  dentro da declaração ou reutilizá-la em outros elementos quantas vezes forem  necessárias.</p>
<p>Para criar uma variável para ser usada globalmente, você pode usar o prefixo  global. Isto permitirá acesso para a variável de qualquer lugar dentro do  template, não apenas definindo dentro do elemento.</p>
<p>Por exemplo:</p>
<blockquote><p><em>&lt;p tal:define=&#8221;global title_exemple string:Foo bar&#8221;&gt; </em></p>
<p><em>&#8230; &lt;i tal:content=&#8221;title_exemple&#8221;&gt; The titl e&lt;/i&gt; &#8230; </em></p>
<p><em>&lt;/p&gt; </em></p>
<p><em>&lt;i tal:content=&#8221;title&#8221;&gt;We still have a title&lt;/i</em>&gt;</p></blockquote>
<h3>1.2. tal:condition: Avaliando Condições</h3>
<p>A declaração <strong>tal:condition permite que a condição seja testada antes de exibir o elemento</strong>. Por exemplo:</p>
<blockquote><p><em>&lt;p tal:condition=&#8221;request/message&#8221;&gt; </em></p>
<p><em>Minha menssagem </em></p>
<p><em>&lt;/p&gt; </em></p>
<p><em>&lt;p tal:condition=&#8221;not: request/message&#8221;&gt; </em></p>
<p><em>Nenhuma menssagem </em></p>
<p><em>&lt;/p&gt;</em></p></blockquote>
<p><em><br />
</em></p>
<p>O parágrafo com o texto para mensagem será mostrado somente se a variável  <strong>request</strong> conter um atributo (solucionado como <strong>true</strong>). <strong>O prefixo not:</strong> inverte a declaração, assim not: request/message  resulta em true se a mensagem da variável pedida resulta false.</p>
<p>Em TAL, os seguintes resultados resultam em false:</p>
<ul>
<li>O 	número zero</li>
<li>Qualquer 	float ou complex que resultam em zero (por exemplo, 0.0)</li>
<li>Strings 	com zero caracteres de tamanho (por exemplo, &#8220;&#8221;)</li>
<li>Uma 	lista ou tupla vazia</li>
<li>Um 	dicionário Python vazio</li>
<li>Valor 	Python None</li>
<li>Valor 	TALES nothing</li>
</ul>
<p>Os seguinte resultados resultam em true:</p>
<ul>
<li>O 	valor padrão</li>
<li>Qualquer 	número diferente de zero</li>
<li>Strings 	que não estão vazias</li>
<li>Strings 	que são apenas espaços (por exemplo, &#8221; &#8220;)</li>
<li>Qualquer 	outra coisa</li>
</ul>
<h3>1.3. tal:content: Substituindo Texto</h3>
<p>A declaração <strong>tal:content é geralmente a declaração mais usada em um page  template. Esta declaração é também uma das mais simples, substituindo o  conteúdo de um elemento com o valor especificado.</strong></p>
<p>Exemplo:</p>
<blockquote><p><em> &lt;i tal:content=&#8221;context/title_or_id&#8221;&gt;Some title&lt;/i&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>A saída:</p>
<blockquote><p><em> &lt;i&gt;The title&lt;/i&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>Isto substituirá o texto Some title com o valor da expressão context/title_or_id. Se o texto a ser colocado possuir elementos HTML, aqueles  elementos serão retirados.</p>
<p>Por padrão, o texto a ser substituído é não HTML  (ou seja, escaped); o prefixo structure permitirá o HTML ser incorporado sem os elementos que estão sendo suprimidos. Por exemplo:</p>
<blockquote><p><em> &lt;i tal:content=&#8221;structure here/title_or_id&#8221;&gt;Do not escape HTML&lt;/i&gt;</em></p></blockquote>
<p><em><br />
</em></p>
<p>Saída:</p>
<blockquote><p><em> &lt;i&gt;&lt;b&gt;The title&lt;b&gt;&lt;/i&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<h3>1.4. tal:replace: Adicionando Texto</h3>
<p>A declaração <strong>tal:replace é similar para tal:content com uma diferença, esta  remove a tag inteira.</strong></p>
<p>Exemplo:</p>
<blockquote><p><em> &lt;p tal:replace=&#8221;context/title_or_id&#8221;&gt;Some title&lt;/p&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>Isto fará o resultado da expressão context/title_or_id mas removerá do resultado as tags do parágrafo. Isto é o equivalente a:</p>
<blockquote><p>&lt;p</p>
<p>tal:content=&#8221;here/title_or_id&#8221;</p>
<p>tal:omit-tag=&#8221;"&gt;Some title</p>
<p>&lt;/p&gt;</p></blockquote>
<p>Se a declaração tal:replace contém outros elemento, então todos os elementos  serão substituídos. Você não pode usar a declaração tal:replace com  tal:attributes ou tal:content; eles são mutuamente exclusivos, e um erro será  mostrado se você coloca-los no mesmo elemento.</p>
<h3>1.5. tal:omit-tag: Removendo elementos</h3>
<p>O tal:omit-tag é bastante incomum, ele permite a remoção de uma tag. O sistema  Zope Page Templates requer o uso de tags HTML, páginas complexas podem precisar  freqüentemente de muitos elementos e podem resultar em tags extras. Para está  declaração, a tag é removida, deixando apenas o conteúdo das tags.</p>
<p>Por exemplo:</p>
<blockquote><p><em> &lt;p tal:omit-tag=&#8221;"&gt;This is some text&lt;/p&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>A saída é como a seguinte:</p>
<blockquote><p><em> This is some text</em></p></blockquote>
<p><em><br />
</em></p>
<p>Neste exemplo, o texto This is some text será passado; porém, a tag não será  passada. Opcionalmente, a declaração tal:omit-tag pode receber uma expressão  como um argumento. Se a expressão for avaliada false, então a tal:omit-tag não  ocorre.</p>
<p>Exemplo:</p>
<blockquote><p><em> &lt;p tal:omit-tag=&#8221;nothing&#8221;&gt;This is some text&lt;/p&gt;</em></p></blockquote>
<p><em><br />
</em></p>
<h3>1.6. tal:attributes: Mudando os Atributos de um Elemento</h3>
<p>O tal:attributes permite que você substitua um ou mais atributos de um  elemento. Uma declaração contém o atributo para ser mudado, separado por um espaço da declaração.</p>
<p>Exemplo:</p>
<blockquote><p><em> &lt;a href=&#8221;#&#8221; </em></p>
<p><em> tal:attributes=&#8221;href context/absolute_url&#8221;&gt; </em></p>
<p><em> Clique aqui </em></p>
<p><em> &lt;/a&gt; </em></p>
<p><em><br />
</em></p></blockquote>
<p>Isto mudará o atributo href do link para o resultado da expressão  here/absolute_url. O atributo href já foi definido neste elemento, então se um  designer abrir a página, o designer irá ver um elemento válido (embora o link  não faça sentido até que a página seja processada pelo servidor). Segue exemplo de uma saída depois de processada:</p>
<blockquote><p><em> &lt;a href=&#8221;http://plone.org/&#8221;&gt;Clique aqui&lt;/a&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>Sabendo que cada elemento possa ter múltiplos atributos, tal:attributes permite  que você altere um ou mais atributos simultaneamente tendo declarações múltiplas. Para mudar múltiplos atributos de uma vez, separe as declarações com  ponto-e-vírgula (;). Se o atributo ou a declaração conter ponto-e-vírgula, você  pode deverá digitar outro ponto-e-vírgula (;;).</p>
<p>Por exemplo, para mudar ambos  os elementos href e title, faça o seguinte:</p>
<blockquote><p><em> &lt;a href=&#8221;#&#8221; </em></p>
<p><em> tal:attributes=&#8221;href context/absolute_url;  title context/title_or_id&#8221;&gt;</em></p>
<p><em> Link</em></p>
<p><em> &lt;/a&gt;</em></p>
<p><em><br />
</em></p></blockquote>
<p>A saída será:</p>
<blockquote><p><em> &lt;a href=&#8221;http://plone.org/&#8221;&gt;Plone Org&lt;/a&gt;</em></p></blockquote>
<p><em><br />
</em></p>
<h3>1.7. tal:on-error: Executando a Manipulação de Erro</h3>
<p>A declaração tal:on-error fornece um método para manipular erros. Funciona com  o comando tal:content que promove a substituição do conteúdo da tag, mas  somente quando ocorre um erro.</p>
<blockquote><p><em> &lt;p  tal:content=&#8221;request/message&#8221; </em></p>
<p><em> tal:on-error=&#8221;string: No message&#8221;&gt;</em></p>
<p><em> Message</em></p>
<p><em> &lt;/p&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>Se houver um erro na avaliação da expressão request/message, então o atributo  on-error será ativado. Isto faz com que o conteúdo da tag seja substituído com  o texto No message.</p>
<p>Infelizmente, a declaração on-error é bastante limitada. A tag não consegue distinguir entre os diferentes tipo de erro e permite apenas que uma expressão  seja avaliada e usada. Está limitação é de projeto assim a tag não pode ter um  uso excessivo. A manipulação de erro deve realmente ser segurada na lógica de  sua aplicação.</p>
<p>Felizmente, para todas as expressões, você pode fornecer alternativas na declaração se a primeira parte da declaração resultar algo diferente de true ou  false (em outras palavras, se um erro é mostrado). Cada alternativa é separada  por um caractere pipe (|), e múltiplas alternativas podem aparecer em uma  declaração. Se você está apoiado nas variáveis da requisição que chega, então sempre adicione um |nothing no final para assegurar que o erro atribuído não  seja mostrado.</p>
<p>Por exemplo:</p>
<blockquote><p><em> &lt;p tal:content=&#8221;request/message&#8221; </em></p>
<p><em> tal:condition=&#8221;request/message | nothing&#8221;&gt; </em></p>
<p><em> There&#8217;s a message </em></p>
<p><em> &lt;/p&gt; </em></p>
<p><em> &lt;p tal:condition=&#8221;not: request/message | nothing&#8221;&gt; </em></p>
<p><em> No message </em></p>
<p><em> &lt;/p&gt; </em></p></blockquote>
<p><em><br />
</em></p>
<p>Este segundo exemplo é mais trabalhoso, porém mais desejável por um par de  razões:</p>
<ul>
<li>O 	programador pode ver a condição positiva e negativa.</li>
<li>Você 	pode controlar uma condição de erro mais complicada do que apenas 	através da impressão de uma string.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fernandojrifcg.wordpress.com/279/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fernandojrifcg.wordpress.com/279/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fernandojrifcg.wordpress.com/279/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fernandojrifcg.wordpress.com&amp;blog=12014455&amp;post=279&amp;subd=fernandojrifcg&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fernandojrifcg.wordpress.com/2010/07/27/1-4-1-tal-%e2%80%93-declaracoes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/41521434a4df9b0202f9b925146453e7?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fernandojnr</media:title>
		</media:content>
	</item>
	</channel>
</rss>
