Quando me decidi a fazer este espaço, incluíndo um blog, tive um dilema durante para aí dez segundos: faço eu um motor de blog, ou uso um dos disponíveis?

Volta e meia vejo por aí blogs de developers ou programadores que dizem à boca cheia, ah e tal, o blog foi feito por mim, não usei nenhum motor de blog ou CMS… Alguém tem demasiado tempo em mãos. Reparem que, se o blog for  única coisa do site, e se foi feito como proof of concept, até aceito; mas se for como integração num projecto mais vasto…

O bom programador é inerentemente um malandrão: código escreve-se uma vez e é reutilizável, e isto aplica-se não só ao nosso próprio código, mas a código livre de outros programadores, a menos que tudo o que encontremos, não sirva, de todo, os nossos interesses. Não é, claramente, o caso dos motores de blog, onde há motores para aí ao pontapé; as CMS’s são um caso diferente, onde nenhuma das existentes serve os meus interesses: ou tem funcionalidades a menos, ou tem funcionalidades a mais, ou tem mais buracos que um queijo suiço (e não me façam falar do Joomla).

Logo do WordpressDepois de pesquisar (porque, apesar da febre generalizada dalguns anos pelos blogs, sempre me mantive cautelosamente afastado dessa trend), decidi-me pelo motor Wordpress, por várias razões: free open-source, bastante activo em upgrades, uma comunidade de devs alargada, set de funcionalidades interessantes… e , sobretudo, era claro o suficiente para o virar de pernas para o ar num ponto de que hei-de falar noutro post.

Os requisitos são básicos, a instalação é de calcanhar, os updates ainda mais. A costumização (que é a tal coisa que hei-de falar noutro post) ainda está a doer, mas isso é porque eu sou um tipo teimoso com ideias muito próprias sobre a linha que divide a view layer da controller layer.

A integração também foi um bicho estranho. Fartei-me de revolver a ‘Net à procura da solução, mas tinha sempre um handicap contra mim: o meu blog não é a peça central do site, e sempre que tentava alguma coisa, dava-me erros em barda. Eventualmente, podia ter seguido a hard way e aceder directamente à BD do blog a partir da minha CMS, mas isso era trabalho para semanas, a controlar o que era e não era para mostrar, permissões, eu sei lá… O que eu queria mesmo era simplesmente fazer um include do motor e usar as próprias funções do Wordpress na minha controller layer.

Finalmente, percebi o drama da coisa: eu estava a tentar incluír o motor directamente no core, e, vá-se lá perceber porquê, o motor do Wordpress perdia-se completamente… Do que deu para perceber, ele orienta-se pelo ficheiro onde está a ser incluído e, no caso, era fora da root do site; isso abria uma lata de bichos que nem imaginam…

A solução foi incluir em cada script da controller layer a chamada ao motor, com esta duas simples linhas:

define('WP_USE_THEMES', false);
require($_SERVER['DOCUMENT_ROOT'] . "/blog/wp-blog-header.php");

É quanto basta para termos acesso a todo o motor. A partir daqui, é sempre a andar, e a documentação de funções do Wordpress, apesar de já ter visto melhor, é bastante agradável.

Abraços!

Adenda:

O código para inclusão constante desta página tem grande no-no. Ver este post com a solução.

Partilhar no Sapo Links Partilhar no del.icio.us Partilhar no Digg Partilhar no Twitter Partilhar no StumbleUpon Partilhar no MySpace Partilhar no Facebook

Comentários Deixar um comentário

 Categorias
 Arquivo
 Projectos em Destaque
 Últimas Postas no Blog
 Últimos Comentários do Blog