<?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>Blog do Robson Dantas &#187; Wordpress &#8211; PHP</title>
	<atom:link href="http://blogdodantas.dxs.com.br/category/tecnologia_informatica/desenvolvimento-de-software/wordpress-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogdodantas.dxs.com.br</link>
	<description>Tecnologia, segurança, cotidiano, pesca esportiva e inutilidades</description>
	<lastBuildDate>Sun, 29 Aug 2010 22:04:04 +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>Resumo sobre o CmsBrasil 2009</title>
		<link>http://blogdodantas.dxs.com.br/2009/06/20/resumo-sobre-o-cmsbrasil-2009/</link>
		<comments>http://blogdodantas.dxs.com.br/2009/06/20/resumo-sobre-o-cmsbrasil-2009/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 21:20:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tecnologia e informática]]></category>
		<category><![CDATA[Wordpress - PHP]]></category>
		<category><![CDATA[cmsbrasil]]></category>
		<category><![CDATA[cmsbrasil2009]]></category>
		<category><![CDATA[drupal cms]]></category>
		<category><![CDATA[joomla cms]]></category>
		<category><![CDATA[php cms]]></category>
		<category><![CDATA[wordpress cms]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=299</guid>
		<description><![CDATA[Hoje estivemos em mais um evento e o tema da vez foi CMS (Content Management System), ou em português, sistemas de gestão de conteúdo.
Representando a AgênciaClick, estavam presentes eu (Robson Dantas) @robsondantas &#8211;  gerente de tecnologia, Edson Suey @esuey &#8211; gerente de tecnologia e Leonardo Santos @leonardosouza &#8211; líder célula de interface . Não nos [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje estivemos em mais um evento e o tema da vez foi CMS (Content Management System), ou em português, sistemas de gestão de conteúdo.</p>
<div class="wp-caption alignnone" style="width: 558px"><img title="CMSBrasil2009" src="http://www.dxs.com.br/wordpress/images/cmsbrasil2009.jpg" alt="CMSBrasil2009 - Matt Mulenweg - Wordpress" width="548" height="373" /><p class="wp-caption-text">CMSBrasil2009 - Matt Mulenweg - Wordpress</p></div>
<p>Representando a AgênciaClick, estavam presentes eu (Robson Dantas) @robsondantas &#8211;  gerente de tecnologia, Edson Suey @esuey &#8211; gerente de tecnologia e Leonardo Santos @leonardosouza &#8211; líder célula de interface . Não nos dividimos para poder cobrir todo o conteúdo, cada um foi pro seu canto, postando updates no Twitter.</p>
<p><strong>Assuntos abordados:</strong></p>
<ul>
<li>CMS &#8211; focaram em soluções Opensource (todas baseadas em PHP) &#8211; Wordpress, Drupal e Joomla;</li>
<li>Metodologias ágeis (case da Globo.com);</li>
<li>Hospedagem com servidores linux;</li>
<li>SEO;</li>
</ul>
<p><strong>Organização das palestras:</strong></p>
<ul>
<li>No auditório principal, apresentações genéricas e mesas redondas para discussão;</li>
<li>No auditório secundário, oficinas com foco mais técnico;</li>
</ul>
<p><strong>Sequência do que foi visto:</strong></p>
<p>1) Começamos o evento, assistindo uma apresentação do Guilherme Chapiewski, falando de metodologias ágeis, especificamente aplicadas na Globo.com. Eu gosto muito do tema, mas acredito que para o mundo de agências, fica muito difícil vender um projeto para o cliente e adotar o processo da forma que foi colocado (contrato de escopo negociável). Imagine você falando para o cliente: &#8220;Olha, vou te vender 10 sprints, e você vai receber o conteúdo desses sprints&#8221; &#8211; complicado, não ? ; para utilizar internamente, entre as áreas, acho que é válido.</p>
<p>2) Logo após, entrou o Matt Mulenweg, o cara que criou o Wordpress. A palestra foi muito fraca na minha concepção, sinceramente esperava mais. Foi contada a história de como nasceu a Wordpress, mas não foi falado nada do futuro da ferramenta e qual linha vão atacar. Rolaram alguns defeitos técnicos na palestra, principalmente com falha dos microfones, que pararam de funcionar algumas vezes.</p>
<p>3) Assistimos uma palestra sobre hospedagem na web com Linux e essa foi hilária. Alguns participantes deram uma aula de linux para o palestrante, que deveria falar sobre Linux <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . No fim, o cara conseguiu apresentar algo interessante sobre performance e proxy reverso. Saí no meio da palestra e fui conferir o fim da mesa redonda com o Matt Mulenweg respondendo questões dos participantes.</p>
<p>Pausamos para o almoço, comemos uma feijoada, mas sem o joelho de porco, né Leozão <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>4) Voltando para o evento, fui conferir a palestra da Addison Berry, líder do time de documentação do Drupal. Ela falou um pouco sobre o projeto e deu foco na versão 7.0, onde ela disse que o produto será um &#8220;cutting edge&#8221;, ou seja, inovando drasticamente.</p>
<p>Achei um pouco melhor que a palestra do Matt, e deu pra entender um pouco da linha de atuação do Drupal, até o funcionamento do processo de entrada de desenvolvedores no projeto.</p>
<p>5) Nas oficinas ficaram o Leo e o Edson, se divertindo com os palestrantes e as gafes de pronúncia da língua inglesa. Rolaram eventos técnicos sobre desenvolvimento de plugins com wordpress, plugin de e-commerce, além de hands-on com Drupal e depois Joomla.</p>
<p><strong>Para finalizar, vão aqui minhas considerações finais:</strong></p>
<ul>
<li>Minha nota para o evento: 6,5;</li>
<li>Faltou organização e espaço; muitas pessoas sentadas no chão e várias vezes os equipamentos de áudio e vídeo falharam;</li>
<li>Não havia controle de entrada e saída de participantes. Pagamos pela inscrição gold, que dava acesso as oficinas e palestras, mas dava pra ver claramente que não havia diferença, dava pra ir nos 2 sem controle algum;</li>
<li>O tempo de perguntas foi muito curto, acho que esse era o ponto principal;</li>
<li>O tema de CMS é bem difundido e tem muita gente antenada;</li>
</ul>
<p>Acho que valeu o dia, deu pra ver que muita gente tem interesse no assunto. Caso tenha alguma consideração, não deixe de comentar.</p>
<p>Deixo aqui, também, o post da <a href="http://blogpagseguro.com.br/2009/06/ganhe-uma-mochila-do-pagseguro/"  target="_blank">PagSeguro oferecendo uma mochila para os trackbacks.</a></p>
<p>um abraço,</p>
<p>-Robson</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F&amp;title=Resumo+sobre+o+CmsBrasil+2009" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F&amp;title=Resumo+sobre+o+CmsBrasil+2009" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F&amp;t=Resumo+sobre+o+CmsBrasil+2009" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F06%2F20%2Fresumo-sobre-o-cmsbrasil-2009%2F&amp;title=Resumo+sobre+o+CmsBrasil+2009" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p><p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-3076033770669884";
/* 468x60, criado 11/08/08 */
google_ad_slot = "4702962714";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2009/06/20/resumo-sobre-o-cmsbrasil-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Patching Wordpress xmlrpc to filter post using categories</title>
		<link>http://blogdodantas.dxs.com.br/2009/03/18/patching-wordpress-xmlrpc-to-filter-post-using-categories/</link>
		<comments>http://blogdodantas.dxs.com.br/2009/03/18/patching-wordpress-xmlrpc-to-filter-post-using-categories/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 15:34:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento de software]]></category>
		<category><![CDATA[Google AppEngine]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Wordpress - PHP]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress filter post by category]]></category>
		<category><![CDATA[wordpress hack]]></category>
		<category><![CDATA[xmlrpc wordpress]]></category>

		<guid isPermaLink="false">http://blogdodantas.dxs.com.br/?p=238</guid>
		<description><![CDATA[I´m building an application to integrate data between some blog apps (Wordpress and Blogger for example) and then faced a problem when I was trying to filter some posts using a specific category.
My app is AppEngine based and I´m algo using xmlrpclib and wordpress-library to make web calls. After playing a while with wordpress-library, I [...]]]></description>
			<content:encoded><![CDATA[<p>I´m building an application to integrate data between some blog apps (Wordpress and Blogger for example) and then faced a problem when I was trying to filter some posts using a specific category.</p>
<p>My app is AppEngine based and I´m algo using xmlrpclib and wordpress-library to make web calls. After playing a while with wordpress-library, I got some things missing and started to patch to make it work for me.</p>
<p>Basically I´ve added some stuff like post status, custom fields and filter posts by categories. I dont know why Wordpress don´t give a simple wrapper function inside xmlrpc.php to make things generic, allowing other users to extend functionalities. Anyway, I did it and will suggest to add support for it, because makes easier to give some maitenance.</p>
<p>To make the patch, you must understand the <em>get_post</em> function, exposed on <em>wp-includes/post.php</em>. Looking inside, the function body is:</p>
<pre>function get_posts($args = null) {
    $defaults = array(
                             'numberposts' =&gt; 5, 'offset' =&gt; 0,
                             'category' =&gt; 0, 'orderby' =&gt; 'post_date',
                             'order' =&gt; 'DESC', 'include' =&gt; '',
                             'exclude' =&gt; '', 'meta_key' =&gt; '',
                             'meta_value' =&gt;'', 'post_type' =&gt; 'post',
                             'suppress_filters' =&gt; true
                             );</pre>
<p><em>&#8230;. continue</em></p>
<p>Based on that function, it becomes easier to make your on function on xmlrpc.php:</p>
<p><span style="text-decoration: underline;">First</span>:  Include your function entrypoint on $this-&gt;methods array. My implementation is <em>&#8216;wp.getPostsByCategory&#8217;   =&gt; &#8216;this:wp_getPostsByCategory&#8217;</em>. I decided to use this name, because it´s a specific function for wordpress, not a MetaWebLog structure.</p>
<p><span style="text-decoration: underline;">Second</span>: Change <em>mw_wp_get_recent_posts</em> to receive other args and change the call <em>wp_get_recent_posts($num_posts)</em> to use <em>get_posts</em> . You´ll also need to change the ways that arrays are accessed, because get_posts function returns an Object, instead of array. Example: <em>$entry['ID']</em> becomes <em>$entry-&gt;ID</em>.</p>
<p>After that, just make your call to <em>wp.getPostsByCategory</em>, passing username, password and categoryId. Like magic <img src='http://www.dxs.com.br/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Just to finish, a simple python example using xmlrpclib to call a server method:</p>
<pre>import xmlrpclib

server = xmlrpclib.ServerProxy("http://www.mywebsite.com/xmlrpc.php")
posts = server.wp.getPostsByCategory(categoryId, 'user', 'password')

for post in posts:
   print post['post_title']</pre>
<p>.<br />
Piece of cake ! If you have any doubt, leave a comment here.</p>
<p class="bookmark-me">Bookmarks<a title="technorati.com" href="http://www.technorati.com/faves?add=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F" onclick="javascript:pageTracker._trackPageview('out/www.technorati.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/technorati.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="del.icio.us" href="http://del.icio.us/post?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F&amp;title=Patching+Wordpress+xmlrpc+to+filter+post+using+categories" onclick="javascript:pageTracker._trackPageview('out/del.icio.us');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/delicious.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="digg.com" href="http://digg.com/submit?url=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F&amp;title=Patching+Wordpress+xmlrpc+to+filter+post+using+categories" onclick="javascript:pageTracker._trackPageview('out/digg.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/digg.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.facebook.com" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F&amp;t=Patching+Wordpress+xmlrpc+to+filter+post+using+categories" onclick="javascript:pageTracker._trackPageview('out/www.facebook.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/facebook.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="bookmarks.yahoo.com" href="http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F" onclick="javascript:pageTracker._trackPageview('out/bookmarks.yahoo.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/yahoo.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> <a title="www.google.com" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fblogdodantas.dxs.com.br%2F2009%2F03%2F18%2Fpatching-wordpress-xmlrpc-to-filter-post-using-categories%2F&amp;title=Patching+Wordpress+xmlrpc+to+filter+post+using+categories" onclick="javascript:pageTracker._trackPageview('out/www.google.com');" target="_blank" rel="nofollow"><img src="http://www.dxs.com.br/wordpress/wp-content/plugins/bookmark-me/images/google.png" style="margin:0;border:0;padding:0" alt="bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://blogdodantas.dxs.com.br/2009/03/18/patching-wordpress-xmlrpc-to-filter-post-using-categories/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
