—
Resumen Ejecutivo
Panorama general del estado de las dependencias
10
Crítico
Sin soporte / incompatibles
2
Alto
Requieren atención próxima
7
Moderado
Actualización recomendada
4
Bajo
Estables, bajo riesgo
⚠ Riesgos Principales Identificados
- CentOS 7 en EOL desde junio 2024 — el sistema operativo del servidor no recibe parches de seguridad desde hace casi un año.
- PHP 5.6 sin soporte de seguridad — cualquier versión anterior a PHP 8.1 lleva años sin parches oficiales.
- AngularJS alcanzó fin de vida en diciembre 2021 — el frontend está construido sobre tecnología sin soporte de seguridad activo.
- PHPExcel abandonado — incompatible con PHP 8, puede fallar silenciosamente o producir errores fatales en una actualización.
- Bootstrap 3 + Material Design fork abandonado — toda la interfaz de usuario descansa sobre dos capas de estilos obsoletas.
- Dependencias duplicadas acumuladas — 3 versiones de jQuery y 3 de UI-Bootstrap en disco sin uso activo, aumentando el peso y el riesgo de confusión.
1
Backend — PHP y Framework
Servidor, lenguaje e infraestructura de la aplicación
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| CentOS (SO del servidor) | 7 (EOL jun 2024) | Rocky Linux 9 | Crítico | SO sin parches de seguridad desde junio 2024. Sucesor: Rocky Linux 9 con soporte hasta 2032. |
| PHP | 5.6 | 8.4.x | Crítico | PHP 5.x/7.x sin soporte de seguridad. AWS SDK 3.x reciente ya requiere PHP 8.x. |
| CodeIgniter | 3.0.3 | 4.6.x | Crítico | CI3 en fin de vida. CI4 es una reescritura completa con namespaces PHP y PSR-4; sin compatibilidad directa. |
| TCPDF | 6.2.13 (2015) | 6.7.x | Moderado | Mismo repositorio, actualización incremental. Compatible con PHP 8. |
| PHPExcel | 1.8.0 (2014) | PhpSpreadsheet 3.x | Crítico | PHPExcel fue abandonado. Reemplazado oficialmente por PhpSpreadsheet. Incompatible con PHP 8. |
| AWS SDK PHP | 3.198.2 | 3.340+ | Moderado | Mismo major version. Versiones recientes requieren PHP 8.1+. |
| FPDF | Sin versión | 1.86 | Bajo | Librería estable con cambios mínimos. Verificar compatibilidad con PHP 8. |
2
Frontend — JavaScript Core
Librerías fundamentales del lado del cliente
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| jQuery | 3.4.1 | 3.7.x | Moderado | Mismo major version. La 3.7+ incluye fixes de seguridad importantes. |
| jQuery UI | 1.10.3 (2013) | 1.14.x | Moderado | Muy desactualizado. Muchos widgets reemplazados por componentes Bootstrap nativos. |
| jQuery Mask | Sin versión | 1.14.16 | Bajo | Librería pequeña y estable. |
3
Frontend — AngularJS
Framework JavaScript del frontend — EN FIN DE VIDA
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| AngularJS | 1.5.9 (2016) | 1.8.3 (EOL) | Crítico | EOL desde diciembre 2021. Sin parches de seguridad. El sucesor es Angular 17+ (reescritura total en TypeScript). Reemplazo recomendado: Alpine.js 3.x. |
| UI-Bootstrap | 0.12.1 / 2.5.0 | Abandonado | Crítico | Proyecto archivado. Depende de AngularJS (EOL). Reemplazo: Bootstrap 5 nativo. |
4
Frontend — Bootstrap y UI
Framework de estilos e interfaz visual
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| Bootstrap | 3.4.1 | 5.3.x | Alto | Bootstrap 3 sin soporte oficial. Bootstrap 5 eliminó jQuery como dependencia. |
| Bootstrap Material Design | 0.5.9 | Abandonado | Crítico | Fork específico abandonado. Reemplazo: CSS personalizado sobre Bootstrap 5. |
| Bootstrap Toggle | 2.2.0 | 2.2.x / forks | Moderado | Poco mantenimiento. Alternativa: toggles nativos con Bootstrap 5. |
| Bootstrap DatetimePicker | ~4.x | Abandonado | Crítico | Depende de Bootstrap 3 + Moment.js (ambos obsoletos). Reemplazo: Flatpickr 4.x. |
| Font Awesome | 4.5.0 (2015) | 6.7.x | Moderado | FA 4.x funcional pero sin iconos modernos. FA 6 requiere cambio de prefijo de clase. |
5
Frontend — Tablas de Datos
Componentes de visualización de datos en grillas
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| DataTables | 1.10.18 (2018) | 2.2.x | Moderado | DT 2.x introduce cambios de API. Actualización posible con ajustes de inicialización. |
| Select2 | 4.0.8 | 4.1.0-rc.0 | Bajo | Mismo major version. La RC es estable y ampliamente usada en producción. |
6
Frontend — Fechas y Calendario
Manejo de fechas y componentes de calendario
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| FullCalendar | 2.5.0 (2015) | 6.1.x | Crítico | Las versiones v5/v6 son reescrituras con API incompatible. Eliminan dependencia de jQuery y Moment.js. |
| Moment.js | 2.9.0 | 2.30.x (mantenim.) | Moderado | El equipo oficial recomienda no usarlo en proyectos nuevos. Solo recibe bugs críticos. Alternativa: Day.js (2KB). |
7
Frontend — Gráficos y Visualización
Librerías de charts y visualización de datos
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| Morris.js | 0.5.0 (2014) | Abandonado | Crítico | Sin mantenimiento desde 2014. Depende de Raphael.js y jQuery. Reemplazo: Chart.js 4.x. |
| Raphael.js | 2.1.4 (2013) | 2.3.0 (mín.) | Crítico | Usado exclusivamente como dependencia de Morris.js. Al migrar a Chart.js puede eliminarse. |
8
Frontend — Comunicación y Utilidades
Alertas, modales y herramientas auxiliares
| Dependencia | Versión actual | Última versión | Estado | Notas |
|---|---|---|---|---|
| Socket.IO | 1.4.5 (2015) | Eliminar | Crítico | No está en uso en ningún archivo del proyecto. Archivo huérfano — se puede eliminar directamente. |
| SweetAlert | 1.x | SweetAlert2 v11.x | Alto | Original abandonado. SweetAlert2 es el sucesor con API base compatible. |
| Bootbox.js | Sin versión | 6.0.x | Moderado | Depende de Bootstrap. Al migrar a Bootstrap 5, usar Bootbox 6.x. |
| Underscore.js | 1.8.3 | 1.13.x | Bajo | Actualización directa. Muchas funciones ya disponibles en ES6+ nativo. |
9
Inventario Completo de Archivos
Archivos identificados en el codebase con sus versiones
Backend — application/libraries/
| Archivo | Versión |
|---|---|
| tcpdf/tcpdf.php | 6.2.13 |
| PHPExcel/Classes/PHPExcel.php | 1.8.0 |
| aws/CHANGELOG.md | 3.198.2 |
| fpdf/ | Sin versión |
Frontend CSS — res/css/
| Archivo | Versión |
|---|---|
| bootstrap.min.css | 3.4.1 |
| bootstrap-material-design.css | 0.5.9 |
| bootstrap-toggle.min.css | 2.2.0 |
| jquery-datatables.css | 1.10.18 |
| fullcalendar.css | 2.5.0 |
| select2.min.css | 4.0.8 |
| sweetalert.css | 1.x |
| font-awesome/css/font-awesome.min.css | 4.5.0 |
Frontend JavaScript — res/js/
| Archivo | Versión | Archivo | Versión |
|---|---|---|---|
| angular.min.js | 1.5.9 | jquery-3.4.1.min.js (activa) | 3.4.1 |
| ui-bootstrap-tpls-0.12.1.min.js | 0.12.1 | jquery-1.10.2.min.js (huérfano) | 1.10.2 |
| ui-bootstrap-tpls-2.5.0.min.js | 2.5.0 | jquery-2.1.4.min.js (huérfano) | 2.1.4 |
| bootstrap.min.js | 3.4.1 | jquery-ui-1.10.3.custom.js | 1.10.3 |
| fullcalendar.min.js | 2.5.0 | moment.min.js | 2.9.0 |
| jquery.dataTables.js | 1.10.18 | select2.min.js | 4.0.8 |
| raphael-min.js | 2.1.4 | plugins/morris/morris.min.js | 0.5.0 |
| socket.io-1.4.5.js (huérfano) | 1.4.5 | underscore-min.js | 1.8.3 |
| sweetalert.min.js | 1.x | material.min.js | 0.5.9 |
10
Matriz de Riesgo Consolidada
Impacto en seguridad vs esfuerzo de migración
Alto
PHP 5.6 (EOL)
CentOS 7 (EOL)
AngularJS (EOL 2021)
PHPExcel (PHP8)
Socket.IO v1
CodeIgniter 3
Moderado
Bootstrap 3
SweetAlert 1.x
Bootstrap DatetimePicker
Bootstrap Material Design
FullCalendar 2.x
Bajo
jQuery 3.4.1
Moment.js
Font Awesome 4
DataTables 1.x
Morris.js / Raphael
Bajo
esfuerzo
esfuerzo
Esfuerzo
moderado
moderado
Alto
esfuerzo
esfuerzo
← ESFUERZO DE MIGRACIÓN →
Las celdas en rojo representan riesgo crítico inmediato. Priorizar las columnas de bajo esfuerzo primero.
Próximo paso: Este documento es la Fase 1 del análisis de modernización tecnológica del sistema Mas Me Dan.
La Fase 2 — Plan de Migración por etapas — está disponible en el documento PLAN_MIGRACION.html.