Files
Lizandro GuarnizoandClaude Opus 5 fe96e5b60d Documentación en usted, y panel de LIA con el mismo diseño del dashboard
Toda la documentación pasa de voseo a tratamiento de usted, incluidos los
diagramas y los textos de la interfaz. Los prompts de ambos asistentes lo
piden explícitamente, para que las respuestas generadas también lo respeten.

El panel de LIA en la página de documentación adopta el diseño del dashboard
del turnero: mismo botón circular, mismo panel deslizante con encabezado en
degradado y logo LIA, mismos chips de atajo, burbujas y campo de entrada.
Los atajos se arman con los documentos que ese usuario puede ver.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 10:57:28 -05:00

2.6 KiB

Despliegue y mantenimiento

Cómo se despliega

No hay build ni compilación. El código PHP se sirve directo:

git pull

Con eso los cambios están en producción. Es la contrapartida de no usar framework de frontend.

Si el cambio incluye esquema de base de datos, hay que correr la migración además del git pull.

Repositorio

Remoto gitea
Rama main

Se trabaja directo sobre main.

Migraciones

Van en migrations/, con nombre AAAAMMDD_descripcion.sql.

Deben ser idempotentes — poder correrse más de una vez sin causar daño:

ALTER TABLE admin_users
  ADD COLUMN IF NOT EXISTS cedula VARCHAR(30) NULL AFTER cargo;

UPDATE admin_users SET cedula = username
 WHERE cedula IS NULL AND username REGEXP '^[0-9]{5,15}$';

MariaDB 11.8 admite IF NOT EXISTS en ALTER TABLE. Para UPDATE e INSERT, la guarda va en el WHERE.

Antes de dar por buena una migración, córrala dos veces y verifique que la segunda no cambie nada.

Aplicar un cambio directo en producción sin dejar la migración hace que un entorno nuevo no lo tenga, y nadie se entera hasta que algo falla. Si toca el esquema, deje el archivo.

Archivos subidos

Carpeta Contenido
uploads/turnero/tv_media/ Videos e imágenes de la pantalla de TV
uploads/terms/ Documentos de términos y condiciones

Se crean solas al primer uso. No están en el repositorio: al mover el sistema de servidor hay que copiarlas aparte, o los enlaces quedan rotos.

Verificaciones después de desplegar

# Sintaxis de los archivos tocados
php -l archivo.php

# ¿Responde un enlace público?
curl -s -o /dev/null -w "%{http_code}\n" "https://<dominio>/<ruta>"

Si el cambio afectó permisos, recuerde que las sesiones abiertas conservan los permisos viejos hasta que el usuario vuelva a entrar.

Configuración por entorno

Las credenciales se leen de variables de entorno (.env, vía phpdotenv) y de system_config. El dominio no se configura: se deduce del HTTP_HOST de cada petición.

Mantenimiento periódico

Cada Revisar
Semana Consumo de LIA (lab_config.lia_tokens_usados) contra el tope de 1.000.000
Mes Que los enlaces enviados por WhatsApp respondan — sobre todo el de términos
Mes Consentimientos que quedaron sin firmar
Trimestre Plantillas de Meta: que sigan aprobadas
Trimestre Muestras pendientes acumuladas por paciente

Las consultas para varias de estas revisiones están en el runbook.