Actualizar a nuevas versiones
El framework se actualiza con relativa frecuencia: correcciones de bugs, mejoras de seguridad, nuevas funcionalidades. Mantener tu instalación al día es importante — sobre todo por los parches de seguridad.
Cómo saber si hay actualización
Ve a Configuración → Actualizaciones. Verás:
- Versión actual que tienes instalada.
- Última versión disponible.
- Notas de cambios (changelog) desde tu versión actual.
Si hay una versión nueva, aparece un botón "Actualizar ahora".
Antes de actualizar
Siempre, sin excepción:
- Respalda todo. Genera un paquete o respaldo manual completo. Ver Respaldos.
- Lee el changelog. Especialmente cambios "breaking" que puedan afectar tus tablas o plugins.
- Prueba en staging primero si tienes un ambiente separado.
Cada actualización guarda una copia de la base de datos y de tus archivos de configuración antes de copiar un solo archivo. Si esa copia no se puede hacer, la actualización se detiene y no cambia nada.
Antes esa copia dependía de un programa del servidor (mysqldump) que muchos
hospedajes compartidos no dejan usar, y entonces la actualización se negaba
siempre, con un número por toda explicación. Ahora la copia la hace el propio
sistema.
El paquete dice qué versión de PHP y de MySQL necesita, y eso se comprueba antes de copiar nada. Si tu hospedaje tiene una versión más antigua, verás un mensaje diciendo qué falta y tu instalación queda intacta. Pídele a tu proveedor de hospedaje que actualice PHP y vuelve a intentarlo.
Métodos de actualización
Método 1: Botón "Actualizar" en el CMS (más simple)
- En Configuración → Actualizaciones, click "Actualizar ahora".
- El sistema descarga el paquete, extrae el código nuevo, ejecuta las migraciones de base de datos.
- Al terminar, verás la versión nueva.
- Ventaja: un solo clic.
- Desventaja: si algo falla a mitad, puedes quedar en un estado intermedio. Por eso el respaldo previo es obligatorio.
Método 2: Descargar paquete y aplicar manualmente
- Desde el CMS, descarga el paquete update (o pídelo si es un cliente).
- En Configuración → Empaquetado → Importar paquete, sube el ZIP.
- Marca modo "actualización" (solo código, preserva datos).
Método 3: Git pull + migraciones (para técnicos)
Si tu instalación viene de un clon de git:
cd /ruta/al/framework
git pull origin main
php run_migration.php
sudo ./setup.sh
Actualizaciones mayores vs menores
Menores (1.10.0 → 1.10.1): correcciones y mejoras. Suelen ser seguras de aplicar sin cambios en la config.
Mayores (1.10.0 → 2.0.0): pueden traer cambios "breaking" que requieran ajustes. Lee el changelog con atención y prueba en staging antes.
Actualizaciones desde el servidor de licencias
Si tu instalación está bajo el sistema de License Server, las actualizaciones se distribuyen desde el servidor del proveedor:
- Solo licencias activas pueden descargar actualizaciones.
- El paquete viene firmado — el cliente verifica autenticidad antes de aplicar.
- No necesitas token de GitHub ni acceso al repositorio.
Después de actualizar
- Verifica que el CMS abre normalmente.
- Prueba las funcionalidades críticas que usas más.
- Revisa el log de errores por si aparecen nuevos.
- Actualiza plugins propios si tienes desarrollos custom que dependan del framework.
- Mira si el panel avisa de secciones nuevas (aviso celeste al entrar) y agrégalas.
- Mira si el panel avisa de cambios pendientes en la base de datos (aviso amarillo) y aplícalos.
Si el panel avisa que hay cambios pendientes en la base de datos
Una actualización trae dos cosas: los archivos del programa y los cambios que necesita la base de datos. Si los archivos llegaron pero los cambios de la base no se aplicaron, el sistema funciona a medias, y de una forma difícil de reconocer: una pantalla aparece vacía, o un formulario guarda sólo una parte. No sale ningún mensaje de error.
Por eso el panel muestra un aviso amarillo en todas las pantallas mientras queden cambios pendientes, con un enlace que los aplica. Al aplicarlos, el aviso desaparece solo.
Sólo cuenta los cambios que le sirven a tu instalación. Un módulo que nunca encendiste no genera aviso, aunque su código venga incluido.
Si el panel avisa que hay secciones nuevas
Al entrar al panel puede aparecer un aviso celeste: "Hay N secciones nuevas que tus módulos todavía no tienen en el menú", con el módulo y el nombre de cada una.
Pasa cuando una versión le agrega pantallas a un módulo que ya tenías instalado. Las pantallas de un módulo se crean cuando lo agregas por primera vez, así que las que llegan después no aparecen solas — y sin este aviso te enterarías leyendo el changelog y buscándolas en un menú donde no están.
Pulsa Agregarlas al menú. Se crean bajo el módulo al que pertenecen y se conceden a los roles de Administrador; el resto de los roles los marcas tú en Roles y Permisos. Si prefieres no tenerlas, ignora el aviso: no se crea nada hasta que lo pulses, y puedes agregarlas después desde Páginas.
El aviso nunca ofrece pantallas de un módulo que no tengas instalado. Un módulo se enciende desde Agregar Sección → Tipo: Plugin o Configuración → Módulos, y eso no cambió.
Tampoco ofrece pantallas que hoy no podrían trabajar en tu instalación: Compras y Traspasos son del inventario por sucursal, así que no aparecen mientras no tengas ese modo encendido; y las secciones de las conexiones de Mantención las crea su propio interruptor, en Mantención → Configuración → Integraciones. Antes se ofrecían igual, y agregarlas dejaba en el menú ítems que sólo sabían decir «esta sección no está disponible».
Si el panel avisa que el sitio público quedó atrás
Al abrir Páginas Web puede aparecer un aviso amarillo: "El sitio público quedó en una versión anterior a la del panel", con el nombre de los archivos.
Pasa cuando una actualización antigua no alcanzó a copiar la parte pública del
sistema. El panel repone solo lo que puede —por ejemplo, el lienzo del editor
visual, que antes se veía como un 404 dentro del editor— y te nombra lo que
no: normalmente web/views/template.php, la plantilla con la que se dibuja
cada página. Mientras esté vieja, un header o un footer hecho con el editor
visual se guarda bien pero no se publica.
Se resuelve volviendo a instalar la versión actual desde Configuración → Actualizaciones, o pidiéndole a tu proveedor que suba esos archivos. El aviso desaparece solo cuando el archivo ya está al día.
Volver atrás si algo salió mal
En Actualizaciones hay una tarjeta «Volver a como estaba». Cada actualización guarda los archivos que va a reemplazar y una copia de la base de datos, así que puedes dejar la instalación exactamente como estaba justo antes, sin buscar nada a mano.
Volver atrás repone los archivos y la base de datos de esa fecha. Los registros, ventas o documentos cargados después de la actualización desaparecen. Úsalo solo si la actualización dejó el sistema inutilizable.
Por eso el sistema te pide escribir la palabra volver para confirmar: no
alcanza con apretar «sí».
Si necesitas recuperar algo más antiguo, o el problema apareció días después, usa un respaldo completo. Ver Respaldos.
Automatizar actualizaciones
No lo recomendamos para el framework — mejor tener a alguien atento a los cambios y aplicándolos con criterio. Las actualizaciones automáticas silenciosas son la causa #1 de "de repente algo dejó de funcionar".
Actualizaciones de seguridad urgentes
Cuando el equipo del framework publica una actualización de seguridad:
- Se marca como urgente en Configuración → Actualizaciones.
- Aplícala ese mismo día si es posible.
- Si vas a demorar, al menos revisa qué se corrige — puede ser algo que afecte a tu instalación.
Preguntas frecuentes
¿Perderé mis datos al actualizar? No, salvo que algo salga muy mal. Los datos y configuraciones se preservan. Por eso el respaldo previo es la red de seguridad.
¿Perderé mis páginas y módulos custom? No — los módulos, páginas y plugins que creaste no se tocan. Solo cambia el código del framework.
¿Mis plugins custom pueden dejar de funcionar? Si el framework cambió una función que tu plugin usaba, sí. Por eso hay que probar en staging.
¿Cuánto tiempo tarda una actualización? Menor: 30 segundos a 2 minutos. Mayor: 2-10 minutos.
¿Hay downtime? Sí, unos segundos mientras se aplican migraciones. Para sitios de alto tráfico, planifica en horario de baja actividad.
¿Qué sigue?
Con esto tu instalación queda mantenible y sostenible en el tiempo. Si aparecen problemas, ve a Resolver problemas.