11 Sep

Pasos y extensiones utilizadas para la migración en Joomla! a joomla 2.5

Para cualquier pregunta, no dudes dejar tus comentarios y si necesitas que lo realice de forma profesional, ponte en contacto conmigo en diseñowebensevilla.org

Tras las recientes noticias sobre una vulnerabilidad grave en la versión 1.5 de Joomla!, solucionada a través de un parche creado por Eling Waring, ha llegado ya el momento de dar el paso y migrar tu portal a las versiones más recientes del CMS, la 2.5.x o la 3.x . En este artículo vamos a dar algunos pasos para la migración de un portal Joomla! de la versión 1.5 a estas nuevas versiones (2.5.x y/o 3.x) y ver algunas extensiones que se utilizan para realizar el proceso.

Pasos y extensiones utilizadas para la migración en Joomla!

Lo primero de todo es realizar una copia de seguridad de todo el portal (tanto de ficheros como de base de datos). Para esto la mejor extensión que podemos utilizar es Akeeba Backup. Tras instalar, configurar y ejecutar esta extensión, obtendremos fichero JPA con el que podremos realizar una replica completa en nuestro entorno de desarrollo.
akeeba-backup
Una vez tenemos el fichero JPA, haremos la extracción con la extensión Akeeba Kickstart.
akeeba-kickstarter
Seguiremos todos los pasos y, una vez tenemos creado nuestro entorno de desarrollo, instalaremos la extensión jUpgrade, configuraremos sus parámetros y nos dispondremos a migrar todo el contenido y extensiones nativas de Joomla! a la versión 2.5 (la versión que instala jUpgrade es la 2.5.6).
jupgrade-configuracion-inicial
Por defecto, en nuestro entorno de desarrollo, se creará una carpeta llamada jupgrade (a no ser que hayamos modificado esto en sus parámetros de configuración) en donde tendremos la nueva versión de Joomla! con el contenido migrado (que podremos actualizar a la última versión estable de forma rápida y sencilla, mediante la nueva funcionalidad de actualización en 1 clic):
  • Artículos.
  • Categorías (las secciones pasan a ser categorías padre).
  • Módulos.
  • Usuarios.
Un posible problema que se puede plantear es que las tablas de content (donde se almacenan los artículos) hayan sido modificadas, o que el número de artículos sea elevado, o cualquier otro problema que nos muestre en el proceso de migración a través de la extensión jUpgrade el error de “Migrating Undefined”.
jupgrade-undefined
Para solucionar este problema podemos plantear lo siguiente:

1/ Revisión

  • Revisar la tabla para ver qué campos hay modificados o añadidos.
  • Utilizar alguna extensión de mantenimiento, como AdminTools, para comprobar la integridad de la base de datos y repararla.
  • Realizar de nuevo el proceso de migración con esta configuración
    jupgrade-configuracion

2/ Alternativa

  • Realizar la migración mediante jUpgrade pero saltándonos el paso de la migración de contenidos (esto se hace desde los parámetros de configuración poniendo a Sí el campo de Skip content).
  • Realizar la migración de contenidos haciendo uso de la extensión J2XML.

Migración de contenidos con extensión J2XML

j2xml-panel-de-control
  • La extensión está formada por un componente + plugin para la versión 1.5.
    • Al instalarla nos creará varios bloques de descarga de artículos.
    • Estos bloques son ficheros XML.
    • Los ficheros XML los almacenaremos en local.
  • La extensión también está formada por un componente + plugin para la versión 2.5 (o 3).
    • La instalamos y procedemos a importar los ficheros XML generados anteriormente.
Un posible problema que se puede plantear es que nos de error en la importación por exceder el tiempo límite (esto depende del número de artículos que posea el XML y del servidor que estemos utilizando).
Para solucionar este problema podemos plantear lo siguiente:

1/ Número de artículos

  • Podemos configurar el número de artículos que se descarga en el XML a un número inferior.

2/ Tiempo límite

  • Modificar el fichero (del CORE) mysqli.php que se encuentra en la directorio libraries/joomla/database/database/
  • Añadimos la función set_time_limit(0); al inicio el método execute() (más o menos por la línea 349).
  • De esta forma anulamos el tiempo marcado por infinito y se podrá ejecutar correctamente la importación.
  • Importante: una vez finalizada la importación, quitar esta función del fichero.
Con estos pasos tendremos migrado nuestro portal a las nuevas versiones de Joomla!, ganando con ello estabilidad, seguridad y mayor funcionalidad.
NOTA: las extensiones a medida o de terceros que tengamos instaladas, tendremos que ver la forma de migrarlas. Lo mejor es ir a la página web oficial de cada una de las extensiones y ver las alternativas que dan para este proceso.
AVISO: algunas extensiones de terceros conocidas tienen un plugin para jUpgrade que realiza también esa migración de la extensión. Ver en cada caso como proceder con ello.

Extensiones utilizadas

Share this

Leave a reply