Migración completa desde K2 a contenidos de Joomla
Tengo el placer de presentar la herramienta para la migración completa de datos y archivos desde el gestor de contenidos de K2 de JoomlaWorks (JW) al nativo de Joomla, que permitirá su actualización a la versión 4 y 5, sin perder ninguna funcionalidad.
He probado todas las opciones que existen (todas de pago) para realizar dicha tarea, pero ninguna lo hace al completo o no se realizan de manera correcta, como no respetar el anidamiento de categorías, no procesar documentos adjuntos, galerías de imágenes, videos, comentarios, campos o etiquetas.
¡ Krakatoa sí lo hace !
PRECEDENTES
Llevo más de 30 años como programador y webmaster. Hace más de 10 meses comencé el desarrollo de esta herramienta para la migración completa de todas los sitios webs que administro y con los que hasta ahora venía utilizando el gestor de contenidos K2 desde 2006.
Pero JW ha icumplido reiteradamente -como nos tienen acostumbrados en cada acualización de Joomla-, con todas y cada una de las estimaciones de tiempo para el lanzamiento de K2 para Joomla 4, y ya tenemos la versión 5 de Joomla, se han saltado la versión LT entera de J4 bloqueándonos con Joomla y otras extensiones, exponiéndonos además a riesgos inaceptables e innecesarios. Se han olvidado incluso de sus recientes y "novedosas" actualizaciones "rolling releases" que podemos considerar ya como un espejismo, como ocurre con la fecha del lanzamiento de K2-J4 que sigue siendo un misterio. Desconozco las razones de este comportamiento, pero para mi ya es inaceptable aunque mañana saliera el tan esperado K2 para ¿J4 o J5?.
Joomla 4 lleva más de dos años (J3, más de 3 meses sin soporte/actualizaciones) y todos los desarrolladores de extensiones han tenido tiempo de sobra para poner al día sus extensiones. En mi caso utilizo muchas otras y absolutamente todas tienen hace tiempo sus versiones para J4, incluso 5.
Además de estos atrasos e incumplimientos por parte de JW (a los cuales estoy muy agradecido por todo este tiempo), hay que añadir la más completa desatención e incomunicación, todo aderezado con un soez y chulesco comportamiento hacia todos los usuarios de K2. Decidí entonces desarrollar una herramienta que me permitiera liberarme y pasar página, sintiéndolo mucho.
Por otro lado, la propia evolución de la plataforma Joomla hace prácticamente innecesario el uso de K2, sobre todo si tenemos en cuenta la -peligrosa dependencia- con JW y la situación actual de bloqueo de la que no tenemos la más mínima noticia ni la esperamos. El comportamiento de JW es inadmisible.
Es cierto que todos nos hemos acostumbrado a la comodidad de un gestor "todo en uno", pero además de la dependencia, el "precio" es elevado aun siendo gratuito: K2 es poco eficiente en general comparado con el gestor nativo de Joomla, duplica innecesariamente el código de las funciones del core de Joomla, mantiene inúltilmente compatibilidad hasta con joomla 1.5!! (con todo su código obsoleto), cuando su utilización es practicamente nula si nos atenemos a las propias métricas de uso de K2 de JW [ver métricas de uso de K2 de JoomlaWorks], la gestión de archivos de imágenes es poco eficiente, totalmente opaca y obsoleta, ya que su 'sistema de caché', que multiplica todo por 6, manteniendo la imagen original que no se usa y fuera del control del gestor multimedia, despilfarrando espacio de almacenamiento de cualquier plan de alojamiento, por no hablar del 'espartano sistema' de documentos adjuntos (attachments)...
A todo esto, a JW se les percibe en redes sociales en un permanente conflicto innecesario y excesivo con los desarrolladores de Joomla (como si fueran parte de dicha organización y podrían haberlo sido, pero no lo son) con cuyos planteamientos y quejas podría estar de acuerdo en parte, pero en mi opinión no tienen ninguna justificación ni en el fondo ni en las formas, ya que acusan al equipo de Joomla -y no al de los desarrolladores de PHP, por ejemplo-, que son los que "¿obligan?" por la propia y necesaria evolución de PHP 7.x a 8.x. y las necesarias correcciones de funciones obsoletas. Esto ha ocurrido en toda la historia de la programación y seguirá ocurriendo, como no podría ser de otra manera. No podemos quedarnos estancados y JW pretende que renunciemos a toda evolución con la simple excusa de la "retrocompatibilidad" a los que queremos seguir con Joomla y evolucionando con toda su comunidad.
No solo es prioritario actualizar a Joomla 4 y luego 5, lo importante es empezar a desplegar PHP 8.1 cuanto antes, teniendo en cuenta que la serie PHP 7 está ya hace tiempo fuera de mantenimiento (como J3) y la red es un entorno completamente expuesto, no existen medidas mágicas de protección ni realmente tranquilizadoras que tener el motor de programación (PHP) lo más al día posible. Lo mismo pasa con el otro pilar de la arquitectura de nuestros sitios web: MySQL o MariaDB. Asi es que no os dejéis adoctrinar por JW ni dependáis más de su "todo en uno", El partido de fútbol se está jugando en otra cancha.
Brief Timeline of PHP Versions
PHP Version | Release Date | Support EOL |
---|---|---|
7.4 |
November 28, 2019 | November 28, 2022 |
8.0 |
November 26, 2020 | November 26, 2023 |
8.1 | November 25, 2021 | November 25, 2024 |
8.2 | November 24, 2022 | November 24, 2025 |
8.3 | November 23, 2023 | November 23, 2026 |
Mi posición, a partir de ahora, es explotar, en la medida de lo posible, todas las nuevas funciones nativas y estupendas de Joomla 4 y las que sin duda vendrán, aunque tengamos que "trabajar" un poco más o realizar un par de clicks de ratón más, si así somos libres en lo que hacemos. Joomla es una buena plataforma en rapida evolución. En mi opinión, éste es el reto. Este es el camino.
Estoy encantado de poder ofreceros mi solución. Durante estos meses de intenso trabajo, muchas veces pensé que no sería posible realizar dicha migración, reconozco que he tenido hondos baches y grandes piedras en el camino, pero todo ha sido superado.
KRAKATOA MIGRATOR TOOL
Aunque ya tengo una extensa base de pruebas realizadas con éxito (con sitios con decenas de miles de items con miles imágenes, campos extra, attachements, galerías de imágenes, videos, etiquetas, cientos de categorías) en servidores con Nginx, Apache y IIS Windows, me quedan algunos pequeños detalles y limpieza final de código, el manual de instrucciones y el sistema de descargas (será bastante asequible), Pero he preferido adelantarme y compartir aquí un vídeo con un ejemplo completo y -real- como avance para los queráis liberaros de K2 para siempre, como en mi caso.
Krakatoa no es una extensión de Joomla, es una aplicación web que lee la configuración de Joomla para obtener los datos de acceso a la base de datos del sitio y se puede configurar según las preferencias de cada uno. Utiliza la extensión mysqli de PHP para realizar el proceso de datos, consiguiendo así el máximo rendimiento y minimizar el tiempo de execución, respetando y manteniendo la extructura y las relaciones de las tablas de la base de datos implicadas en la gestión de contenidos de Joomla. No afecta a los contenidos de Joomla existentes (categorías, etiquetas, campos, etc.).
Para sustituir la funcionalidad de los 'attachments' de K2, he elegido el componente DP-attachments y para los comentarios de K2, el componente CComments que algúnos ya tenemos en uso como sustituto del básico de K2. Ambas extensiones ofrecen una solución muy parecida y práctica, y al ser extensiones independientes, mejoran la funcionalidad de las de K2, y lo mejor de todo es que son gratuitas y preparadas para Joomla 5. Si prefiere migrar a otros componentes de adjuntos o de comentarios, hágamelo saber. Podría agregar opciones de migración para cualquier otro componente de Joomla para estas funciones, bajo demanda. Lo mismo con las opciones para las galerías de imágenes y videos. De momento, mantengo la dependencia para los vídeos, ya que Allvideos de JW dispone de una versión para J4, lo mismo que SIG (versión gratuita), presente como opción en la configuración de Krakatoa para las galerías de imágenes (los archivos cambian de ubicación a la estructura de imágenes de Joomla y su gestor multimedia nativo). (Edito: Se ha añadido la opción para incluir los "attachments" como una lista de elaces editables al final del artículo sin ninguna dependencia, según la sugerencia en vuestros comentarios. Gracias Martin!, buena idea)
Debido a la complejidad y en algunos casos el gran volumen de datos y archivos, se hace importante realizar pruebas con la opción del proceso en tablas clonadas o lanzar Krakatoa en un sitio web de pruebas replicado en un servidor de desarrollo. Para que no existan interferencias y el rendimiento sea el mayor posible, se recomienda que el sitio esté fuera de línea.
Dependiento del tamaño del sitio web (base de datos y archivos) y de las características técnicas y rendimiento de su servidor web, puede que el tiempo máximo de ejecución establecido en su parametrización de PHP sea inferior al necesario para completar el proceso. En algunos casos puede intentar probar sobreescribiendo dicho valor en la configuración de Krakatoa o, si no es efectivo, contactar con su proveedor de hosting para solicitar que temporalmente establezca un límite con más margen, ya que los 300 segundos (por defecto) de tiempo máximo podrían no ser suficientes. Si administra directamente su sistema servidor, conocerá lo fácil que es aumentar el valor de dicho parámetro. Pero ésto no es un error de Krakatoa, es una característica importante de seguridad en cualquier instalación PHP. Si finalmente tiene problemas en este sentido, puede contactar conmigo para tratar sobre la realización de la migración con mi infraestructura bajo demanda, haciéndome llegar una copia de seguridad completa del sitio con con Akeeba Backup, que devolvería migrado y en Joomla4 y preparado para instalarse por un precio razonable que dependería del tamaño del sitio.
Una vez terminado el proceso de Krakatoa migrator tool, todo estaría listo para desintalar K2 y todos sus elementos para lanzar la actualización de Joomla 4.
Antes de lanzar el proceso de migración, se puede configurar Krakatoa para que desactive todos los elementos del componente K2 después de terminar. Es posible que se tengan que desactivar otras extensiones de terceros de K2 o de otros paquetes de Joomla no relacionados con K2, pero esto no está en el ámbito de Krakatoa herramienta de migración.
En la última mejora he incorporado una importante función más de migración para convertir los items de menú de K2 a items de menú de Joomla content para el mantener el SEO.
Después del proceso de migración y una vez actualizado Joomla a la versión 4, sólo queda un poco de trabajo de adaptación con las plantillas con el framework de diseño preferido y también se deben actualizar las versiones de para CComments de CompoJoom y DP-Attachments de Digital Peak, si se han establecido estas opciones, disponbles gratuitamente para J4 y J5 (es posible que el sistema de actualizaciones de J4 lo notifique enseguida), pero a partir de aquí todo lo tendréis bajo control y a la última, preparados para Joomla 5 sin temores, dependencias absurdas, ni retrasos !
Krakatoa ya está disponible
Pueden contactarnos utilizando el formulario de "contacto" para concretar condiciones de descarga, instrucciones y soporte opcional.
Un cordial saludo a todos los de Joomla!
- Visto: 5191
Comentarios potenciados por CComment