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

<channel>
	<title>Pretty Code Blog &#187; tutorial</title>
	<atom:link href="http://www.prettycode.com.br/blog/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.prettycode.com.br/blog</link>
	<description>Just another weblog about development</description>
	<lastBuildDate>Mon, 23 Aug 2010 22:46:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Desenvolvendo um plugin para o Wordpress: o ambiente</title>
		<link>http://www.prettycode.com.br/blog/2009/06/desenvolvendo-um-plugin-para-o-wordpress-o-ambiente/</link>
		<comments>http://www.prettycode.com.br/blog/2009/06/desenvolvendo-um-plugin-para-o-wordpress-o-ambiente/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 16:01:05 +0000</pubDate>
		<dc:creator>gi</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[desenvolvimento]]></category>
		<category><![CDATA[Dica]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[pugin]]></category>

		<guid isPermaLink="false">http://www.prettycode.com.br/blog/?p=354</guid>
		<description><![CDATA[Tenho utilizado o wordpress e seus plugins há algum tempo e estou bastante satisfeita. Uma coisa que gosto muito quando visito blogs são as tags. Com elas podemos saber os assuntos gerais do blog e ler conteúdo relacionado. Também é mais fácil encontrar o post pelos mecanismos de busca.
Mas não é fácil taguear, decidir quais [...]]]></description>
			<content:encoded><![CDATA[<div class='series_toc'><h3>Table of contents for UltimateTagSuggestor</h3><ol><li>Desenvolvendo um plugin para o Wordpress: o ambiente</li></ol></div> <p>Tenho utilizado o wordpress e seus plugins há algum tempo e estou bastante satisfeita. Uma coisa que gosto muito quando visito blogs são as tags. Com elas podemos saber os assuntos gerais do blog e ler conteúdo relacionado. Também é mais fácil encontrar o post pelos mecanismos de busca.</p>
<p>Mas não é fácil taguear, decidir quais termos definem o texto que estamos postando&#8230; Existem plugins que sugerem tags, mas ainda não encontrei nenhum eficiente, especialmente porque a maioria é feita paraa língua Inglesa.</p>
<p>Então decidi tentar fazer o meu&#8230; Vamos ver no que dá&#8230;</p>
<p>Vou colocar as etapas de desenvolvimento por aqui.</p>
<p>Bom a primeira coisa a fazer é montar o ambiente de desenvolvimento. Vou utilizar:</p>
<ul>
<li><a title="Eclipse com PHP" href="http://www.eclipse.org/pdt/" target="_blank">Eclipse Galileo com PDT</a> para PHP</li>
<li><a title="Apache" href="http://httpd.apache.org/" target="_blank">Apache 2.2</a></li>
<li><a title="PHP 5" href="http://www.php.net/downloads.php" target="_blank">PHP 5</a>.2.10</li>
<li><a title="Mysql" href="http://dev.mysql.com/downloads/mysql/5.4.html" target="_blank">MySQL 5.4</a></li>
<li><a title="Wordpress 2.8" href="http://wordpress.org/" target="_blank">Wordpress 2.8</a></li>
</ul>
<p>Mas vale lembrar que você pode utilizar qualquer editor de textos para programar em PHP, qualquer servidor de páginas para PHP 5 e outras versões do Wordpress. Mas oq ue vou descrever a partir daqui é levando em consideração o ambiente acima.</p>
<p>Bom, instalar e configurar Apache + PHP em Windows foi um parto. Em casa não costumo utilizar Linux, não estava a fim de configurar um só para desenvolver PHP&#8230; Então me aventurei a fazer isso no Windows XP mesmo. Acho que a experiência até vale outro tutorial!  <img src='http://www.prettycode.com.br/blog/wp-includes/images/smilies/icon_wink.gif' alt='[;)]' class='wp-smiley' /> </p>
<p>Depois de Apache, PHP e MySQL devidamente configurados, <a href="http://codex.wordpress.org/Getting_Started_with_WordPress#Installation" target="_blank">instalei o wordpress</a> localmente, em C:/renoir/wordpress</p>
<p>Pronto, posso partir para o desenvolvimento do plugin.</p>
<p>Vou utilizar um tutorial da IBM como referência:</p>
<ul>
<li><a href="http://www.ibm.com/developerworks/br/library/os-eclipse-wordpress/index.html" target="_blank"> <img src='http://www.prettycode.com.br/blog/wp-includes/images/smilies/book2.gif' alt=':helpbook' class='wp-smiley' />  Desenvolva um Plug-in WordPress com o Eclipse PDT</a></li>
</ul>
<p>Criei um novo projeto PHP no eclipse e escolhi &#8220;Criar projeto a partir de origem existente&#8221;, setando para C:/renoir/wordpress/wp-content/plugins/ultimateTagSugestor</p>
<p>Pronto, agora já posso começar a criar os arquivos.</p>
<p>O primeiro deve ter o nome do plugin e deve começar com um bloco de comentário padrão do wordpress. Então temos ultimateTagSuggestor.php:</p>
<p><code>
<pre class="brush: php">/*
Plugin Name: ultimateTagSuggester
Plugin URI: http://www.prettycode.com.br/plugin/ultimateTagSuggester
Description: This is new plugin to suggest tags to WordPress.
Version: 1.0.0
Author: Giselle Cantador
Author URI: http://www.prettycode.com.br/
*/</pre>
<p></code></p>
<p>E voilá!! É só salvar, acessar o wordpress instalado localmente, logar como administrador e já posso ver o plugin na administração do blog!</p>
<p><img class="aligncenter size-full wp-image-362" title="plugin_wordpress_1" src="http://www.prettycode.com.br/blog/wp-content/uploads/2009/06/plugin_wordpress_1.gif" alt="Primeira imagem do novo plugin para wordpress" /></p>
 <div class='series_links'> </div>]]></content:encoded>
			<wfw:commentRss>http://www.prettycode.com.br/blog/2009/06/desenvolvendo-um-plugin-para-o-wordpress-o-ambiente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando QUERIES em BUNDLES</title>
		<link>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/</link>
		<comments>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 12:18:07 +0000</pubDate>
		<dc:creator>gi</dc:creator>
				<category><![CDATA[JPA]]></category>
		<category><![CDATA[properties]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.prettycode.com.br/blog/?p=123</guid>
		<description><![CDATA[Classe que usará a query &#8220;Exemplo.QUERY_buscaTodos&#8221;

package br.com.prettycode.treinamento.model.dao.impl;

public class FuncionarioDAOOracleImpl implements FuncionarioDAO {
(...)

public List&#60;Funcionario&#62; findAllExclusionLogical() {
(...)

conn = getConnectionPool().getConnection();

// query a ser executada
String query = Buscas.getString(&#34;Exemplo.QUERY_buscaTodos&#34;); //$NON-NLS-1$

stmt = conn.prepareStatement(query);
(...)

}

Classe que manipula os bundles

package br.com.prettycode.treinamento.util;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Buscas {
private static final String BUNDLE_NAME = &#34;br.com.prettycode.treinamento.properties.buscasSQL&#34;; //$NON-NLS-1$

private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

private Buscas() {
}

public static String getString(String [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Classe que usará a query &#8220;Exemplo.QUERY_buscaTodos&#8221;</strong></p>
<pre class="brush: java">
package br.com.prettycode.treinamento.model.dao.impl;

public class FuncionarioDAOOracleImpl implements FuncionarioDAO {
(...)

public List&lt;Funcionario&gt; findAllExclusionLogical() {
(...)

conn = getConnectionPool().getConnection();

// query a ser executada
String query = Buscas.getString(&quot;Exemplo.QUERY_buscaTodos&quot;); //$NON-NLS-1$

stmt = conn.prepareStatement(query);
(...)

}
</pre>
<p><strong>Classe que manipula os bundles</strong></p>
<pre class="brush: java">
package br.com.prettycode.treinamento.util;

import java.util.MissingResourceException;
import java.util.ResourceBundle;

public class Buscas {
private static final String BUNDLE_NAME = &quot;br.com.prettycode.treinamento.properties.buscasSQL&quot;; //$NON-NLS-1$

private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

private Buscas() {
}

public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return &#039;!&#039; + key + &#039;!&#039;;
}
}
}</pre>
<p><strong>Arquivo properties (caminho completo: src/br/com/prettycode/treinamento/properties/buscasSQL.properties)</strong></p>
<pre class="brush: java">Exemplo.QUERY_buscaTodos=SELECT  FUNC.CODIGO,  FUNC.NOME,  FUNC.CARGO,  FUNC.SALARIO,  FUNC.RESUMO,  FUNC.STATUS,  FUNC.EXCLUIDO,  FUNC.COD_DEPTO,  DEPTO.NOME,  DEPTO.DESCRICAO  FROM  T_FUNCIONARIO FUNC,  T_DEPARTAMENTO DEPTO  WHERE  ((FUNC.EXCLUIDO is null) OR (FUNC.EXCLUIDO = ?))
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.prettycode.com.br/blog/2009/01/usando-queries-em-bundles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
