Estaba intentando parchear, por enésima vez, mi instalación de b2/cafelog. Ya sabéis cómo es esto: Michel Valdrighi, el creador, lleva meses desaparecido del mapa, el código empieza a tener más agujeros que un colador, y cada vez que intento meterle mano a las plantillas acabo rompiendo algo en PHP.
Pero hace como un mes, leyendo foros y listas de correo, vi que un tal Matt Mullenweg y un inglés llamado Mike Little habían montado un fork de b2. Lo han bautizado como "WordPress". Hoy me he bajado el archivo .tar.gz, he abierto FileZilla para subirlo por FTP a mi hosting compartido (cruzando los dedos para que no se corte la conexión a medias) y he decidido cacharrear un rato.
Instalación y Configuración
El proceso de instalación me ha sorprendido bastante, y para bien. Los que venimos de lidiar con scripts infernales en CGI/Perl, de pelearnos con los permisos chmod 777 por consola y de configurar rutas absolutas en tres archivos diferentes, sabemos que instalar un gestor para un weblog suele ser un dolor. Aquí la cosa pinta diferente. WordPress hereda la estructura base de b2, pero se nota que han metido mano para limpiar la casa. Sigue tirando de PHP 4 y MySQL (yo lo he montado sobre la versión 3.23 en mi servidor y va como la seda).
El meollo del asunto está en el archivo wp-config.php. Básicamente, coges el archivo de muestra wp-config-sample.php, lo renombras, le metes los datos de tu base de datos y a correr. Os dejo la configuración que he usado, que es sota, caballo y rey:
<?php
// ** Ajustes de MySQL ** //
define('DB_NAME', 'mi_base_de_datos'); // El nombre de la base de datos
define('DB_USER', 'mi_usuario'); // Tu usuario de MySQL
define('DB_PASSWORD', 'password123'); // ...y tu contraseña
define('DB_HOST', 'localhost'); // Normalmente no hay que cambiar esto
// Prefijo para las tablas
$table_prefix = 'wp_';
?>
Una vez subes todo por FTP, entras a wp-admin/install.php desde el navegador y en un par de clics tienes el chiringuito montado. Lo que más me ha gustado es cómo han limpiado la interfaz de administración. Sigue siendo bastante espartana (tampoco le vamos a pedir peras al olmo al HTML básico que manejamos en los paneles de control de hoy en día), pero al menos no te pierdes. Han puesto especial énfasis en el código que genera: presumen de ser "XHTML 1.1 compliant". Últimamente se habla mucho de separar el contenido de la presentación usando CSS, huyendo de las maquetaciones basadas en tablas HTML kilométricas, y parece que esta gente va por el buen camino.
El famoso "Loop" en las Plantillas
También he estado trasteando con la estructura de las plantillas en el archivo index.php. Sigue siendo un poco rudimentario porque tienes que escupir código PHP entre el HTML puro para montar el famoso "Loop" de los posts, pero es tremendamente intuitivo si has picado algo de código web antes.
<?php if ($posts) : foreach ($posts as $post) : start_wp(); ?>
<h2><?php the_title(); ?></h2>
<div class="meta">Publicado el <?php the_time('j F, Y'); ?></div>
<div class="storycontent">
<?php the_content(); ?>
</div>
<?php endforeach; else: ?>
<p>Lo siento, pero no se han encontrado entradas.</p>
<?php endif; ?>
Reflexiones Finales
¿Tiene futuro esto del WordPress? Es muy pronto para decirlo. Ahora mismo Movable Type es el rey indiscutible para gestionar weblogs, pero el hecho de que WordPress sea 100% libre bajo licencia GPL es un punto enorme a su favor. Muchos recelamos de plataformas cerradas porque cualquier día pueden cerrar el grifo o empezar a pedirnos dinero por licencias comerciales, y con GPL te aseguras de que el código es tuyo para trastear.
Por ahora, me parece un juguete estupendo. Es rápido, no satura la RAM del servidor, y si dominas un poco de PHP puedes hacer virguerías sin demasiados dolores de cabeza. A ver cómo evoluciona la comunidad, pero de momento se queda instalado en mi servidor.