<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic " 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?"]]></title>
		<link>http://forum.mentaframework.org/posts/list/19.page</link>
		<description><![CDATA[Latest messages posted in the topic " 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title> 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <font color='blue'><b> 11 ) Como suportar de forma simples CoC (<i>Convention over Configuration</i>) para a camada view, de forma que você não precise configurar as páginas de destino da sua action? </b></font>

Apesar de acreditarmos que CoC para a camada view só é viável em projetos pequenos e muitos simples, o Mentawai oferece essa funcionalidade de maneira bastante fácil.

Se você esquecer ou propositalmente não especificar uma consequência para uma action, o Mentawai criará uma consequência do tipo Forward automaticamente seguindo a convenção abaixo:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>

Action sendo executada = HelloMentawai.mtw

- Action retornou SUCCESS: new Forward&#40;"/HelloMentawai/ok.jsp"&#41;;

- Action retornou ERROR: new Forward&#40;"/HelloMentawai/error.jsp"&#41;;

- Action retornou qualquer resultado X: new Forward&#40;"/HelloMentawai/X.jsp"&#41;;


InnerAction sendo executada = HelloMentawai.sayhello.mtw

- Action retornou SUCCESS: new Forward&#40;"/HelloMentawai/sayhello.ok.jsp"&#41;;

- Action retornou ERROR: new Forward&#40;"/HelloMentawai/sayhello.error.jsp"&#41;;

- Action retornou qualquer restulado X: new Forward&#40;"/HelloMentawai/sayhello.X.jsp"&#41;;

</pre>
		</div>

Caso vc queira alterar essa convenção do Mentawai para algo que melhor atenda o seu gosto ou necessidade, você pode usar a implementação de <a href="http://www.mentaframework.org/api/org/mentawai/coc/CoCActionConfig.html" target="_new" rel="nofollow">CoCActionConfig </a> e criar o seu próprio <a href="http://www.mentaframework.org/api/org/mentawai/coc/CoCConsequenceProvider.html" target="_new" rel="nofollow">CoCConsequenceProvider</a>, ou seja, até as convenções do Mentawai podem ser configuradas, se assim vc desejar.

<font color='red'><b>Observação:</b></font> Essa funcionalidade está ativada por default. Entretanto se você preferir que o controlador jogue uma exception ao invés de tentar usar o esquema acima, você pode desativar esse CoC através do método do ApplicationManager <i>setAutoView(false);</i>
]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#6048</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#6048</link>
				<pubDate><![CDATA[Mon, 18 Dec 2006 21:08:37]]> GMT</pubDate>
				<author><![CDATA[ boaglio]]></author>
			</item>
			<item>
				<title> 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Notei um detalhe ao usar o CoC. No artigo é dito que o encaminhamento ocorre na URL do seguinte formato (por padrão):

${contextPath}/${actionName}/${innerActionName}.${consequenceResult}.jsp

Mas ocorre que tive erro de URL não encontrada aqui porque o encaminhamento ocorreu para um ${actionName}.toLowerCase()

Ou seja, eu tenho a action Clients, mas o encaminhamento foi feito para: myContext/clients/${page}.jsp

Essa característica de estar colocando o nome em lower case está incorreta ou é assim mesmo e houve um pequeno equívoco no artigo?]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11804</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11804</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 12:38:29]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ 
Equivoco no artigo....

Nada te impede de implementar o seu próprio ConsequenceProvider para fazer isso do jeito que vc quiser...

(CoCConsequenceProvider mudou para ConsequenceProvider)]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11808</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11808</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 13:06:11]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>saoj wrote:</cite><br>
		<blockquote>...&nbsp;
		</blockquote>

Sim, sim, foi o que pensei.

E, como eu estou usando template, tive que implementar mesmo, já que por padrão vai extensão JSP, não é?

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
//package ...;

import org.mentawai.core.Consequence;
import org.mentawai.core.Forward;

public class CoCConsequenceProvider implements org.mentawai.coc.CoCConsequenceProvider
  {
   public Consequence getConsequence&#40;String actionName, String result, String innerActionName&#41;
     {
      String url = "/view/" + actionName + "/";

      if &#40;innerActionName != null && !innerActionName.trim&#40;&#41;.equals&#40;""&#41;&#41;
        { url += innerActionName + "."; }

      url += result + ".page";

      return &#40;new Forward&#40;url&#41;&#41;;
     }
  }
</pre>
		</div>

Então tentei redefinir o ConsequenceProvider no método init do ApplicationManager, fazendo assim:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
CoCActionConfig.setConsequenceProvider&#40;new CoCConsequenceProvider&#40;&#41;&#41;;
</pre>
		</div>

Mas não funcionou. Tentei então colocar no loadActions(), mas não adiantou. Não acusa erro, mas a URL continua sendo redirecionada para a URL padrão montada pelo ForwardCoCConsequenceProvider Default.

Cara, quando que mudou para <i>ConsequenceProvider</i>? Estou acessando a API aqui e só há a <i>CoCConsequenceProvider</i>.]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11813</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11813</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 13:28:09]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ 
Tem que botar JSP sim...

Jar beta mudou... 1.10.1 ainda está com CoC....]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11819</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11819</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:08:05]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>saoj wrote:</cite><br>
		<blockquote>
Tem que botar JSP sim...

Jar beta mudou... 1.10.1 ainda está com CoC....&nbsp;
		</blockquote>

Mas com essa implementação que fiz não deveria funcionar?

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
//package ...;
 
 import org.mentawai.core.Consequence;
 import org.mentawai.core.Forward;
 
 public class CoCConsequenceProvider implements org.mentawai.coc.CoCConsequenceProvider
   {
    public Consequence getConsequence&#40;String actionName, String result, String innerActionName&#41;
      {
       String url = "/view/" + actionName + "/";
 
       if &#40;innerActionName != null && !innerActionName.trim&#40;&#41;.equals&#40;""&#41;&#41;
         { url += innerActionName + "."; }
 
       url += result + ".page";
 
       return &#40;new Forward&#40;url&#41;&#41;;
      }
   }
</pre>
		</div>]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11821</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11821</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:11:40]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ 
Parece que sim.... Manjo pouco de templates... Liga o debug mode e veja qual a consequencia que ele está retornando...]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11823</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11823</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:12:57]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>saoj wrote:</cite><br>
		<blockquote>
Parece que sim.... Manjo pouco de templates... Liga o debug mode e veja qual a consequencia que ele está retornando...&nbsp;
		</blockquote>

Fiz o seguinte:
adicionei a seguinte linha ao meu Applicationmanager:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
public void init&#40;Context app&#41;
  {
   ...
   CoCActionConfig.setConsequenceProvider&#40;new CoCConsequenceProvider&#40;&#41;&#41;; // onde CoCConsequenceProvider é a Minha implementação
   ...
  }
</pre>
		</div>

Resultado: continuou tudo na mesma, quando eu acesso /Clients.list.mtw ele redireciona para /clients/list.ok.jsp

Então eu alterei meu ApplicationManager fazendo-o extender CoCApplicationManager ao invés de ApplicationManager padrão.

Tentei colocar o código <i>setConsequenceProvider(new CoCConsequenceProvider()); </i> tanto no init quanto no loadActions(), mas em ambos os lugares que eu coloquei sempre que eu acessava Clients.list.mtw era lançada uma excessão no ActionConfig.getDirFromClass()]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11826</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11826</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:23:38]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Tem um FAQ sobre CoC... Dá uma olhada aí... Eu realmente não sei o que acontece aí...

Se não estiver funcionando vc vai ter que debugar o código do menta para entender o que vc está fazendo de errado... :-(

Pra mim sempre funcionou sem problemas...]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11828</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11828</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:33:50]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>saoj wrote:</cite><br>
		<blockquote>Tem um FAQ sobre CoC... Dá uma olhada aí... Eu realmente não sei o que acontece aí...

Se não estiver funcionando vc vai ter que debugar o código do menta para entender o que vc está fazendo de errado... :-(

Pra mim sempre funcionou sem problemas...&nbsp;
		</blockquote>

Eu já li o FAQ, tudo o que havia sobre CoC eu jpa li, hehehe.

Mas cara, alguma vez tu jpa precisastes implementar teu próprio CoCConsequenceProvider?

Quando será que o Boaglio vai acessar o fórum? Espero que seja logo, pq foi ele que redigiu a FAQ neh. oO

No final das contas ou vou ter que criar todos os Forward's manualmente ou deixar de usar template, hehe.]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11829</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11829</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 14:37:36]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ 
Cara, te sugiro o seguinte:

- Baixa o jar beta e usa ele...

- Implementa ConsequenceProvider e faz os seus testes...

- Veja que eu uso direto InnerActionConsequenceProvider no MentaNews no FAQ....

- Implementar o seu próprio ConsequenceProvider é ridículo e funciona perfeitamente. O seu problema é outro, provavelmente relacionado com templetes...

- Faz a coisa devagar para assumir o controle da sua aplicação... Muita mágica tem vantagens e desvantagens: vantagem = produtividade / objetividade / pragramatismo ; desvantagem = vc pode querer que as coisas funcionem sem entende-la...

- Não foi o Boaglio que fez o CoC... 

]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11833</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11833</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 15:19:44]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>saoj wrote:</cite><br>
		<blockquote>
Cara, te sugiro o seguinte:

- Baixa o jar beta e usa ele...

- Implementa ConsequenceProvider e faz os seus testes...

- Veja que eu uso direto InnerActionConsequenceProvider no MentaNews no FAQ....

- Implementar o seu próprio ConsequenceProvider é ridículo e funciona perfeitamente. O seu problema é outro, provavelmente relacionado com templetes...

- Faz a coisa devagar para assumir o controle da sua aplicação... Muita mágica tem vantagens e desvantagens: vantagem = produtividade / objetividade / pragramatismo ; desvantagem = vc pode querer que as coisas funcionem sem entende-la...

- Não foi o Boaglio que fez o CoC... 

&nbsp;
		</blockquote>

Beleza cara, vou dar uma olhada em InnerActionConsequenceProvider. Só vou discordar com você no que diz respeito a querer que as coisas funcionem sem entedê-las, pois eu procuro sempre tentar entender as classes que estou trabalhando, tanto que tenho salvas todas as páginas da FAQ e os artigos, além de estar com todo o source do Menta à mão, cujo acesso freqüentemente, pois gosto de saber como algumas coisas estão sendo implementadas.

Vou testar mais algumas possibilidades e alternativas e assim que tiver algum resultado posto novamente.

Mais uma vez obrigado pela atenção.]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11835</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11835</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 15:29:58]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ <p></p>

		<cite>YkyMatt wrote:</cite><br>
		<blockquote>
Beleza cara, vou dar uma olhada em InnerActionConsequenceProvider. Só vou discordar com você no que diz respeito a querer que as coisas funcionem sem entedê-las, pois eu procuro sempre tentar entender as classes que estou trabalhando, tanto que tenho salvas todas as páginas da FAQ e os artigos, além de estar com todo o source do Menta à mão, cujo acesso freqüentemente, pois gosto de saber como algumas coisas estão sendo implementadas.
&nbsp;
		</blockquote>

Eu entendo o seu lado, pois tem coisas que vc quer simplesmente que funcione. Essa é a filosofia do menta que nesse caso aqui falhou.

O que eu posso te garantir é que o ConsequenceProvider funciona perfeitamente. Agora quando vc mistura ele com templates (algo com o que eu não trabalho, não gosto e não entendo), aí eu já não sei o que pode acontecer...
]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11837</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11837</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 15:39:32]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
			<item>
				<title> 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Cara, já estou utilizando o jar beta, já notei que foi passado o CoCAplicationManager de org.mentawai.core para org.mentawai.coc

Mas agora o ConsequenceProvider não tem mais o métiodo com assinatura:

<i>getConsequence(String action, String result, String innerAction)</i>

Agora é:
<i>getConsequence(String, Class<? extends Object>, String, String)</i>

Poderia me explicar o que são os parâmetros, por favor?]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11845</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11845</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 15:56:55]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Eu to usando CoC e template. Se eu não estou enganado acho q vc tá querendo o mesmo , pra mim tá funcionando legal, dá uma sacada no codigo.....

coloca <b>Controller.setConsequenceProvider(new ConsequenceProvider()</b>

<b>ApplicationManager</b>
<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
 public void init&#40;Context application&#41; {
         
       Controller.setConsequenceProvider&#40;new ConsequenceProvider&#40;&#41; {

            public Consequence getConsequence&#40;String action, Class&lt;? extends Object&gt; actionClass, String result, String innerAction&#41; {
                 
               StringBuffer sb = new StringBuffer&#40;128&#41;;
        
               sb.append&#40;&quot;/&quot;&#41;.append&#40;&quot;WEB-INF/jsp/&quot;&#41;.append&#40;&quot;/&quot;&#41;;
        
               sb.append&#40;result&#41;.append&#40;&quot;.page&quot;&#41;;
        
               return new Forward&#40;sb.toString&#40;&#41;&#41;;
                
            }
        } &#41;;

       /////// etc ....
   }

 public void loadActions&#40;&#41; {
    ActionConfig ac = new ActionConfig&#40;"/MenuAction",MenuAction.class&#41;;
    ac.addConsequence&#40;SUCCESS,fwd&#40;"WEB-INF/jsp/template/body.page"&#41;&#41;;
    ac.addConsequence&#40;ERROR,fwd&#40;"WEB-INF/jsp/template/sempag.page"&#41;&#41;;
    ac.addFilter&#40;common&#41;;
    addActionConfig&#40;ac&#41;;
 }



</pre>
		</div>



  Sergio senão substitui jsp por page o template não funciona.  :D , essa mistura ficou muito flexível, agora q entendo não vejo complicação alguma. tá muito simples. como é de praxe no menta  :wink: 

  

valeu.
]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11846</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11846</link>
				<pubDate><![CDATA[Fri, 24 Aug 2007 17:47:26]]> GMT</pubDate>
				<author><![CDATA[ Lupos]]></author>
			</item>
			<item>
				<title> 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Ae <b>saoj</b> e <b>Lupos</b>, com as dicas/recomendações de vocês finalmente consegui implementar meu <i>ConsequenceProvider</i>, hehehehe.

Baixei o JAR Beta e o estou utilizando agora.

Implementei o meu ConsequenceProvider como estava antes, mas agora me utilizando também do StringBuffer que acho uma boa idéia que percebi no código de <b>Lupos</b>.

Ficou assim:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
package ...;

import org.mentawai.core.Consequence;
import org.mentawai.core.Forward;

import org.mentawai.coc.ConsequenceProvider;

public class CoCConsequenceProvider implements ConsequenceProvider
  {
   public Consequence getConsequence&#40;String actionName, Class&lt;? extends Object&gt; actionClass, String result, String innerActionName&#41;
     {
      StringBuffer url = new StringBuffer&#40;15&#41;;
      url.append&#40;"/view/"&#41;;
      url.append&#40;actionName + "/"&#41;;

      if &#40;innerActionName != null && innerActionName.length&#40;&#41; &gt; 0&#41;
        { url.append&#40;innerActionName + "."&#41;; }

      url.append&#40;result&#41;;
      url.append&#40;".page"&#41;;

      return &#40;new Forward&#40;url.toString&#40;&#41;&#41;&#41;;
     }
  }
</pre>
		</div>

Agora está funcionando certinho. Ah! Importante!

Pra ativar esse provedor de conseqüências consegui fazer de duas maneiras:

Como o <b>Lupos</b> falou que faz:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
Controller.setConsequenceProvider&#40;new CoCConsequenceProvider&#40;&#41;&#41;;
</pre>
		</div>

Ou diretamente como um método (disponível no JAR beta) diretamente no ApplicationManager:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
setConsequenceProvider&#40;new CoCConsequenceProvider&#40;&#41;&#41;;
</pre>
		</div>

Obrigado!]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11853</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11853</link>
				<pubDate><![CDATA[Sat, 25 Aug 2007 16:24:49]]> GMT</pubDate>
				<author><![CDATA[ YkyMatt]]></author>
			</item>
			<item>
				<title>Re: 11 ) Como suportar de forma simples CoC (Convention over Configuration) para a camada view?</title>
				<description><![CDATA[ Que bom, é realmente simples.

<b><span style="font-size: 9px; line-height: normal">
YkyMatt wrote:</b>
</span>
<blockquote>
Pra ativar esse provedor de conseqüências consegui fazer de duas maneiras: 

Como o Lupos falou que faz: 
&nbsp;
		</blockquote>

 mas justiça seja feita, foi Sergio "saoj" que me ajudou a fazer assim.O merito é dele.]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/765.page#11854</guid>
				<link>http://forum.mentaframework.org/posts/list/765.page#11854</link>
				<pubDate><![CDATA[Sat, 25 Aug 2007 18:42:51]]> GMT</pubDate>
				<author><![CDATA[ Lupos]]></author>
			</item>
	</channel>
</rss>
