En las últimas semanas he estado realizando varias instalaciones de Joomla! 1.6, con el objetivo de comprobar el funcionamiento de esta nueva versión de la aplicación, y también para adquirir la necesaria experiencia en su configuración y uso. Me alegra poder señalar que he encontrado muchas innovaciones que me han gustado (por ejemplo, las categorías anidadas, à la WordPress, el nuevo y potentísimo sistema de permisos, las actualizaciones automáticas, las mejoras en el sistema de plantillas), y que apenas me he topado con dificultades dignas de mención.
Salvo una, que me ha traído de cabeza durante bastantes días, y que tiene que ver con la publicación remota mediante clientes para blogs o clientes XMLRPC. Como éste es uno de los temas recurrentes y casi emblemáticos de La Bitácora del Tigre, y habida cuenta que hace casi año y medio dediqué un artículo a la publicación remota en Joomla! 1.5, he decidido actualizar lo que entonces escribí, aplicando mis descubrimientos a una batería de clientes para blogs en los tres sistemas operativos que utilizo habitualmente: Windows (XP y 7), Linux (Ubuntu 11.04) y Mac OS X (10.6.7).
Resumiendo lo esencial de las pruebas y experimentos que he realizado, he aquí los pasos que deben seguirse para utilizar un cliente XMLRPC en un sitio web creado con Joomla! 1.6:
1. Instalar y activar en el gestor de contenidos una extensión que permita la interacción del cliente con la aplicación a través del protocolo XMLRPC. Aunque existen varias posibilidades, recomiendo instalar la extensión denominada Blogging XMLRPC for Joomla! 1.6, derivada del plugin MovableType XML-RPC (éste último, actualmente en su versión 2.3.4, está diseñado para Joomla! 1.5; es posible que también funcione en Joomla! 1.6, pero yo no lo he probado, porque preferí llevar a cabo mis investigaciones sobre una extensión nativa para la nueva versión del CMS).
2. Configurar adecuadamente el componente XMLRPC. El procedimiento está muy bien descrito en el tutorial Installing the Movable Type API Plugin for Joomla! 1.6 (aunque el texto está en inglés, es fácil de seguir, pues está ilustrado por unas cuantas capturas de pantalla).
3. Configurar el cliente XMLRPC. Aquí es donde me estrellé repetidamente, pues a pesar de lo que señala el tutorial que acabo de citar y a pesar también de las indicaciones del autor del plugin, fracasé una y otra vez en el parámetro clave, el de la URL de publicación remota. Tras probar una infinidad de combinaciones, encontré finalmente una solución que no sé si es ortodoxa, pero que funciona con varios Joomla! 1.6 alojados en dos servidores diferentes.
El truco es el siguiente: si la dirección del sitio web realizado con Joomla! es, por ejemplo, http://www.misitio.com/joomla, la URL de publicación remota debe ser http://www.misitio.com/joomla/index.php/component/xmlrpc. Resulta sorprendente que, de todos los clientes para blogs que he conseguido configurar para publicar en Joomla! (BlogDesk, Blogilo, el navegador Flock, MacJournal, MarsEdit, Post2Blog, Qumana, la extensión ScribeFire para Firefox, Windows Live Writer para Windows XP y 2011, Zoundry Blog Writer y Zoundry Raven), sólo MarsEdit haya sido capaz de encontrar dicha dirección automáticamente. No obstante, si se siguen los asistentes que cualquiera de estos programas proporcionan, es posible definir la URL de forma manual sin mayores dificultades.
A continuación figuran varias capturas de pantalla que ilustran el proceso de conexión a un Joomla! de prueba, alojado en el dominio elarequi.com, desde Windows Live Writer bajo Windows XP.
Adenda del 16 de mayo de 2011
Una vez publicado el artículo, y coincidiendo prácticamente en el tiempo con el oportunísimo comentario de Richard que figura bajo estas líneas (thank you very much for paying attention to this humble blog), he llevado a cabo unas cuantas comprobaciones adicionales sobre el funcionamiento de los clientes XMLRPC en Joomla! 1.6, que paso a detallar:
- La URL de publicación remota se puede simplificar si se activan las reglas de reescritura de URLs, mediante el fichero .htaccess (esta operación se realiza desde el menú Sitio > Configuración Global > Configuración SEO > Usar la reescritura URL. En tal caso, la URl sería algo más corta: http://www.misitio.com/joomla/component/xmlrpc.
- En contraste con lo que escribí ayer, he observado que, bajo ciertas circunstancias, Windows Live Writer 2011 en Windows 7 sí es capaz de encontrar la URL de publicación remota de un Joomla! 1.6. Todavía no estoy muy seguro de que este comportamiento sea generalizado, y tengo que hacer más comprobaciones, pero en todo caso resulta una buena noticia, pues no hay duda de que simplifica la tarea de configuración de la aplicación.
richard dice
Gracias por referirse a mi artículo sobre la instalación del tipo movible API para Joomla! 1.6.
He actualizado el artículo para resolver los problemas que usted describió (aunque, en su caso, es demasiado tarde puesto que usted ya ha resuelto su problema).
Eduardo Larequi dice
Muchas gracias, Richard, por leer La Bitácora del Tigre y por la actualización de su artículo. Esta tarde voy a actualizar el mío, pues he descubierto algunos detalles en relación con Windows Live Writer 2011 y la reescritura de URLs mediante directivas de .htaccess que merece la pena aclarar.
Ricardo Manzano dice
Buenos dias, si bien tengo una web en Joomla 1.5.6 de un directorio de hoteles, y ahora tengo la posibilidad de implementar un sistemas de reservas con tecnologia xml rpc, (tecnologia con la cual nunca he trabajado antes), en tu experiencia, crees que seria posible indagar por este lado?… ellos tienen los hoteles y las disponibilidades y precios, pero debo enlazarlo desde mi sitio…
muchas gracias por tu guia, voy comprendiendo como trabaja….
Eduardo Larequi dice
Teóricamente el protocolo XMLRPC permite hacer lo que deseas, Ricardo, pero todo depende de cómo se programe la relación entre Joomla y la aplicación que contiene los datos necesarios para hacer las reservas. A este respecto, sé que el protocolo XMLRPC se utiliza para conectar Joomla con otros sistemas, como Moodle (puedes leer los detalles en el wiki de la extensión Joomdle, http://www.joomdle.com/wiki/Prerequisites)
No obstante, yo no soy programador, así que no sé cómo se podría llevar a cabo la integración de aplicaciones que a ti te interesa. Si quieres saber algo más de la integración de Joomla con otras aplicaciones mediante XMLRPC y otros protocolos, échale un vistazo a esta presentación: http://www.slideshare.net/HermanPeeren/webservices-connecting-joomla-with-other-programs-4399412.