Y la migración terminó

Me gusta WordPress, lo sencillo que es modificar su funcionamiento sin tener que tocar ningún fichero del core pero…odio lo resistente que es frente a migraciones. Aceptando el hecho de que les encanta propagar la ruta absoluta de los blogs por toda la base de datos, simplifiqué la migración a dos sencillos pasos, instalar un WordPress nuevo en un directorio nuevo e importar en él los pocos blogs que tenía en el antiguo. Una simple tarea que me ha llevado un día entero porque en el blog de un proyecto Comenius había una página en la que la mitad del contenido desaparecía por arte de magia. Sí, por arte de magia porque no hay otra explicación, la página se guardaba correctamente, se mostraba bien, en la base de datos se almacenaba correctamente, no existe ningún proceso en background que haga revisiones de posts/páginas ya guardados ni nada, y aún así volvías a mirar la página y la mitad del final había desaparecido. Después de muchas pruebas conseguí arreglarlo metiendo a pelo el contenido en la base de datos. Funciona. La causa no di con ella y hoy prefiero aceptar que fue magia, no tengo tiempo para indagar más. La migración está hecha.

WordPress 3.0

Terminada la primera fase de documentación, tras hartarme de realizar diagramas y documentar decisiones, he decidido dedicar la siguiente fase de desarrollo al gestor de blogs. Lo primero que tenía que hacer, antes de ponerme a documentar y desarrollar, era decidir si al final iba a migrar de WPMU a WordPress 3.0 con soporte para multisite. Así que me he pasado el fin de semana leyendo experiencias de otros usuarios, documentándome de los posibles problemas que podrían surgirme y, sobre todo, asegurándome de que los plugins que tengo ya seleccionados para que formen parte del core del gestor fueran compatibles con esta nueva versión. Quiero hacer incapié en que esto último no sería un problema si dispusiera del tiempo necesario para arreglar los bugs de aquellos que no funcionaran.

Al final después de tanto leer he pasado a la fase de experimentación, me he instalado un WordPress 3.0 en un servidor y me he puesto a hacer pruebas como loca. Ahora puedo decir que me encantan muchos de los cambios que han hecho, no son grandes cambios pero han mejorado la parte de administración muchísimo. Ya era hora de que la decisión de tener multisite o un único blog no estuviera sujeta a instalar herramientas diferentes y sobre todo, se terminó el buscar plugins compatibles con WPMU. Al código todavía no le he metido mano pero de momento he visto que da soporte para menús de una forma similar al manejo de los widgets. El único cambio que podría no ser muy acertado es permitir a los administradores que todo el código de los plugins y del tema se edite desde la interfaz web. Es cierto que dicho cambio es muy cómodo para evitar tener que trabajar en el servidor directamente pero me parece algo inseguro dejar tan al alcance ficheros en los que se puede escribir código PHP y desde los cuáles se pueden obtener toda la información contenida en la base de datos.

A pesar de este último comentario, tengo claro que voy a montar Agorá en un WordPress 3.0 porque los problemas que me podía causar ya están superados. Además, después de sopesar pros y contras, he decidido que voy a hacer una instalación desde cero y los pocos blogs que hay en el actual gestor los importo dentro del nuevo, así me evito problemas de migración entre sistemas y que me quede por ahí basura. Como voy a importar los blogs, el directorio donde se encuentre el nuevo WordPress no será un problema (parece una tontería pero WordPress es muy toca narices con las rutas porque no son relativas y las propaga por toda la base de datos).

Mañana más.

Todo gira en torno a Drupal

El centro de todo el portal 2.0 girará en torno a un CMS o gestor de contenidos que se conectará con diferentes herramientas web tales como un LMS o el gestor de blogs en el nos encuentramos ahora . Siguiendo la política de uso de software libre que se intenta promover en la Universidad de Salamanca, y manteniendo la línea que el director del grupo trazó para el portal institucional de la USAL cuando fue Vicerrector, el CMS elegido ha sido Drupal.

La elección del LMS tampoco ha supuesto ningún problema ya que, tanto desde el grupo como por mi parte, no había nada que discutir,  nuestros cursos se desarrollarán en Moodle entre otras razones porque tenemos mucha experiencia en el uso de dicha plataforma y con vistas a desarrollos futuros para la misma.

El gestor de blogs fue mi decisión, al igual que lo fue cuando se montó Diarium. En aquel momento contemplé diferentes formas de crear una estructura estable para albergar un gran número de blogs y la mejor solución fue WPMU ya que dicha herramienta surgió a partir de la experiencia que los desarrolladores de WordPress tuvieron con su propio gestor de blogs, WordPress.com, además de que existe una gran comunidad de desarrolladores que dan soporte a la misma. Por desgracia, o tal vez por suerte, desde hace unos días está disponible la versión 3.0 de WordPress, la cual ha incluido en su core aquella funcionalidad de WPMU que permitía tener múltiples blogs. De esta forma pretenden evitar que el mantenimiento de WPMU quedara desatendido, ya que ahora sólo tienen que mejorar un único producto. La elección de WordPress como gestor de blogs no ha cambiado, pero seguramente [crucemoslosdedos]migre todo este sistema a esa versión 3.0. [/crucemoslosdedos]

Pero no sólo WordPress tiene este verano una nueva versión, los desarrolladores de Drupal y Moodle también se han confabulado para que tenga que tomar la difícil decisión de migrar los sistemas a mitad de proyecto. Grial está ahora en un Drupal 6 y resulta que hace un par de semanas han puesto a disposición de los usuarios la versión 7, la cual ya maneja OO (Orientación a Objetos). Y no hablemos de Moodle, años sin soporte para servicios web y este verano…versión 2.0 orientada a servicios, toma ya. Es cierto que actualizar me permitirá disfrutar de las ventajas y las mejoras de las nuevas versiones, pero también me traerá dolores de cabeza lidiando con toda clase de bugs que suelen encontrarse cuando un producto lleva poco tiempo en explotación. [broma]Al final lanzaré una moneda y que decida la suerte.[/broma]

Al menos me queda el consuelo de que todas estas maravillosas herramientas están hechas en PHP así que me voy a sentir como pez en el agua trasteando con sus tripas.