En este artículo explicamos cómo actualizamos nuestro sitio a Joomla! 3.0 y los pasos que recomendamos seguir si también quieres actualizar tu Joomla! 2.5. Si estás pensando en migrar te recomendamos leerlo detalladamente.

1¿Necesito actualizar a Joomla! 3.0?

NO. Recientemente Joomla! a adoptado el sistema de versiones de Ubuntu. ¿Qué significa esto?

The new Joomla! release cycle

Como puedes ver en la imagen ahora hay dos ciclos de versiones distintos (azul y naranja) basados en cuándo deja de haber soporte oficial.

  • Soporte a Largo Plazo (LTS).  Estas versiones tienen soporte oficial durante aproximadamente 24 meses. Este es el ciclo por defecto de Joomla!
  • Soporte a Corto Plazo (STS). Realmente se traduciría como Soporte de Plazo Estándar pero he preferido traducirlo como a corto plazo porque el estándar de Joomla! es el Largo plazo. Estas versiones tienen soporte oficial durante 6 meses. También podemos llamarlo como ciclo de actualización rápida ya que nos obliga a actualizar nuestra web cada poco tiempo.

Práticamente todo las páginas debería usar el ciclo de Soporte a Largo Plazo (LTS) ya que nos asegura dos años de soporte y estabilidad de nuestro sitio. El ciclo STS update es para sitios que prefieren tener las últimas características a pesar de perder tiempo de soporte oficial. Para saber si el ciclo STS es para ti hazte a ti mismo esta pregunta:

¿Quiero basar mi página web en algo que tiene 6 meses de soporte?

Las  Preguntas Frecuentes para Joomla! 3.0 pueden ayudarte a decidir pero el 90% de las veces la respuesta debería ser NO. Nuestro consejo: Si no sabes arreglarlo no lo rompas

¿Por qué cambiamos nosotros a Joomla! 3.0?

Nosotros somos una empresa de desarrollo web y estamos obligados a trabajar con las últimas tecnologías. Si algo se hubiera roto (como pasó) podríamos arreglarlo sin depender de terceros.

Además nuestras extensiones para Joomla! tienen que funcionar tanto en las versiones 2.5.x como en las 3.0.x y la mejor forma de conseguirlo es trabajando con ellas diariamente en los entornos en los que van a funcionar.

2Requerimientos de hosting

Así que has decidido que estás listo para cambiar a Joomla! Eso no significa que Joomla! 3.0 sea para ti. Primero tienes que comprobar que tu proveedor de hosting cumple los requisitos.

Joomla! 3.0 requiere:

  1. PHP 5.3.1.
  2. Bases de datos soportadas:
    1. MySQL 5.1 + (con soporte InnoDB)
    2. Microsoft SQL Server 10.50.1600.1+
    3. PostgreSQL 8.3.18 +
  3. Servidores Web:
    1. Apache 2.x + (con los módulos mod_mysql, mod_xml y mod_zlib)
    2. Nginx 1.0+
    3. Microsoft IIS 7

Personalmente yo no usaría PostgreSQL o MSSQL como servidores de bases de datos. Están teniendo algunas incidencias y esta es la primera versión que los soporta oficialmente.

3Actualizar al último Joomla! 2.5.x y comprobación global

Es una buena práctica actualizar y comprobar nuestro sitio con las últimas revisiones disponibles para Joomla! 2.5.x. Puedes actualizar a la última versión 2.5.x disponible (en el momento de escribir este artículo la 2.5.7) desde el Actualizador de Joomla!:

Joomla! updater

Tras actualizar nos aseguraremos de que nuestra base de datos esté Ok con la indispnesable herramienta de comprobación global integrada en Joomla! 2.5. Ve a Sitio > Mantenimiento > Comprobación Global, selecciona todas las tablas y haz click en Comprobar.

Database checkin

4Haz una copia copia de seguridad!

No hace falta mencionar que antes de intentar actualizar a Joomla! 3.0 necesitas hacer una copia completa de tu sitio. Ahora que la hemos actualizado y comprobado es el mejor momento. Puedes usar Akeeba Backup. Una gran extensión que ya es compatible con Joomla! 3.0.

Si usas un sistema de control de versiones puedes crear una nueva rama. De esta forma siempre puedes volver a tu rama anterior en caso de que algo falle durante la actualización.

5Dependencias

Ahora tenemos que comprobar que todo lo que necesitamos para nuestra web está disponible para Joomla! 3.0.

5.1. Plantilla

La primera cosa en la que pensar es obvia: la plantilla. Si no es compatible con Joomla! 3.0 quizá tengas que cambiarla. Si lo haces ¿por qué no aprovechar el momento para hacer tu web responsiva? Actualmente prácticamente todos los clubs y páginas de plantillas ofrecen exclusivamente plantillas responsivas.

En relación con la plantilla hay aotra comprobación importante: los overrides de las vistas. Pueden estar desactualizados o usar funciones obsoletas. Como ejemplo, en nuestro caso, los overrides de categorías que teníamos usaban la función "JHtml::core();" que tuimos que reemplazar con "JHtml::_('behavior.framework');". 

5.2. Contenido principal de la web

Otra importante dependencia es el gestor de contenido principal que usemos para nuestro sitio. No debería ser problema ya que tanto el contenido nativo de Joomla! como K2 están disponibles ya para Joomla! 3.0.

5.3. Otras extensiones

El siguiente paso es comprobar el resto de extensiones que necesitaremos estén disponibles para Joomla! 3.0. Puedes usar la búsqueda avanzada en el Directorio de Extensiones de Joomla! (JED).

Joomla! 3.0 compatible search 

Actualmente hay sólo 597 extensiones (de más de 10.000) marcadas como compatibles con Joomla! 3.0. Esto nos da una idea de los límites actuales de Joomla! 3.0.

Si tus extensiones no son compatibles puedes buscar alternativas. Y si no encuentras alternativas puedes preguntar directamente al desarrollador si tiene planificado actualizar sus extensiones en breve. Quizá merezca la pena esperar 1 ó 2 semanas.

5.4. Eliminar extensiones no compatibles

Nuestro consejo es que antes de actualizar a Joomla! 3.0 relimines todas las extensiones instaladas que no sepas seguro que son compatibles con Joomla! 3.0.

Esto es muy importante ya que nuestro sitio dejará de funcionar si no eliminas una extensión que tenga dependencias rotas.

6Instalar el plugin DS Constant

Una de las mayores incompatibilidades con versiones anteriores en Joomla! 3.0 es que se ha eliminado la constante DS. Una gran mayoría de extensiones aún la requieren así que es una buena idea reintroducirla para evitar posibles problemas hasta que estemos seguros de que nuestro sistema realmente no la necesita.

En nuestra primera prueba de actualización a Joomla! 3.0 la agregamos. Brian Teeman nos sugirió que creáramos un plugin de sistema que evitara a los usuarios tener que tocar código. Así que lo hicimos. Por eso el siguiente paso recomendado es descargarlo, instalarlo y activarlo (no olvides activarlo!).

DS Constant enable

7Cambiar al ciclo de actualizaciones STS

Ya estamos preparados para actualizar. Lo siguiente es decirle a nuestro Joomla! que estamos lo suficiente locos para cambiar al ciclo de actualizaciones STS. Ve a Sitio > Panel de Control y haz click en icono "Joomla está actualizado" para abrir el Actualizador de Joomla!

Una vez allí darle a Opcioes y en fuente de actualización seleccionar STS.

Joomla! update configuration

8Hacer la actualización!

Vamos allá. Tras guardar las opciones veremos que Joomla! nos avisa de que hay una actualización disponible:

Available 3.0 update

Cruza los dedos y haz click en el botón "Instalar la actualización".

Si todo ha ido bien estaremos en nuestro nuevo sitio Joomla! 3.0 :)

9Se ha roto!

Es muy proba qye encuentres algún problema al actualizar. Si es un problema importante dejarás de poder entrar en la administración de tu página. Si ese es tu caso puedes intentar desactivar manualmente cualquier extensión que hayas ovidado desinstalar y que no sea compatible con Joomla! 3.0.

Para ello edita la tabla de la base de datos #__extensions y para la fila de la extensión que quieras desactivar cambia el valor de la columan enabled de "1" a "0". Puedes usar phpMyAdmin o cualquier otra herramienta de gestión de MySQL:

Manually disable extensions

Si tu problema está relacionada con la plantilla de tu página puedes intentar asignar la plantilla Protostar mientras intentas arreglarlo.

Si finalmente no puedes arreglarlo sólo te queda restaurar tu copia de seguridad y seguir en el ciclo de actualizaciones LTS :(

Puedes consultar o exponer cualquier duda relacionada con la actualización en los comentarios. De esta forma mantendremos actualizada y corregiremos esta guía.

Más información:

http://www.joomla.org/3/
http://docs.joomla.org/Joomla_3.0_FAQ

http://www.joomla.org/technical-requirements.html

http://savvypanda.com/blog/new-joomla-release-cycle-infographic.html

http://developer.joomla.org/development-status.html
http://docs.joomla.org/Release_and_support_cycle