Evidencias
Ningún avance del PDI vale por sí solo: se sustenta con archivos cargados en la acción concreta que ejecutó el trabajo, dentro del ciclo abierto. Esta página documenta cómo se cargan, dónde quedan, cómo se validan y cómo se conversa sobre ellas.
Evidencias por ciclo EN VIVO
| Ciclo | Metas | Acciones | Archivos | Aprobados | Parciales | Rechazados | En validación |
|---|---|---|---|---|---|---|---|
| Cargando… | |||||||
El asistente de carga, paso a paso
La carga vive en /s-plan/cargar
y es un asistente de 5 pasos. Puedes entrar directo a una meta con
/s-plan/cargar?m=E1M7: el asistente arranca en el paso 3.
Bienvenida y verificación del ciclo
El asistente lee S-PLAN/config/ciclo_carga y muestra si el ciclo está abierto. Si está cerrado
o estás fuera de la ventana de fechas, el formulario queda bloqueado desde aquí.
Selección de meta y acción
Eliges la meta y, dentro de ella, la acción concreta. Esta es la decisión que más se equivoca: el archivo queda colgado de la acción, no de la meta.
Archivos y descripción
Arrastras o seleccionas los archivos y escribes la descripción que los identificará en la ficha de meta. El límite es de 80 MB en total por envío.
Confirmación
Resumen de lo que se va a subir: ciclo, meta, acción, archivos y peso. Última oportunidad de corregir antes de escribir.
Carga y notificación
Los archivos suben a Firebase Storage, se indexan en la base de datos con estado
en_validacion y se dispara una notificación global "Nueva evidencia cargada".
Dónde queda cada archivo
Una evidencia vive en dos sitios a la vez: el binario en Storage y su ficha en la base de datos.
// Firebase Storage — el archivo
PlanItOne/S-PLAN/evidencias/{ciclo}/{metaId}/{accionId}/{fileKey}
// Realtime Database — la ficha
S-PLAN/evidencias/{ciclo}/{metaId}/{accionId}/{fileKey} = {
nombre: "Informe de Avance E1M1 --50%.pdf",
url: "https://firebasestorage.googleapis.com/…",
descripcion: "INFORME DE AVANCE DEL SISTEMA DE AUTOEVALUACIÓN",
estado: "en_validacion",
fecha: "2026-07-10T13:55:25.093Z",
correo: "siac@unitropico.edu.co", // quién cargó
responsable: "R79", // código de responsable
formato: "pdf",
peso: 805814
}
fileKey por __.
La clave se deriva del nombre del archivo saneado, y ese saneamiento convierte ". " en __:
una clave legítima puede contener dobles guiones bajos. Partirla por ahí escribe el estado en un nodo sombra
…/{base}/uploads/{x}/estado en lugar del real, lo que genera tarjetas fantasma y pierde la decisión
de validación. Usa siempre el fileId que arma el aplanado de archivos.Claves de ciclo
El ciclo es AAAA_S (2026_1, 2026_2). El "Año 1…4" que muestra la ficha de
meta se infiere del ciclo tomando 2024 como año base: 2026_1 → año 3.
Existen claves heredadas con el formato añoN, que el código sigue leyendo por compatibilidad.
Los cuatro estados
Una evidencia siempre está en uno de estos estados. Los fija Planeación desde la ficha de meta.
En validación en_validacion
Estado inicial de toda carga. También es el destino de normalización de los valores heredados "Sin revisión" o vacío.
Aprobado aprobado
El soporte sustenta el avance reportado. Cuenta como evidencia válida del ciclo.
Parcial parcial
Sirve, pero no cubre todo lo reportado: falta soporte adicional o precisión.
Rechazado rechazado
No sustenta lo reportado —archivo equivocado, ilegible o fuera de alcance—. Debe reemplazarse.
S-PLAN/evidencias/{ciclo}/{meta}/{accion}/{fileKey}/estado.Conversación sobre una evidencia
Cada evidencia tiene su propio hilo de observaciones, pensado para resolver dudas sin salir del sistema ("falta la firma", "este es el anexo correcto"):
S-PLAN/evidencias/{ciclo}/{meta}/{accion}/{fileKey}/observaciones/{msgKey} = {
texto, fromUid, fromNombre, ts, read
}
Al publicar un mensaje se crea además una notificación personal para cada destinatario en
notificaciones/s-plan/personal/{correoSaneado}/{msgKey} con
type: "chat". A diferencia de las notificaciones globales, estas son individuales: marcarlas como
leídas no afecta a nadie más. Detalle en Notificaciones y alertas.
Buenas prácticas
Un soporte, un archivo
Evita los ZIP con todo adentro: la validación es por archivo y un ZIP obliga a aprobar o rechazar en bloque.
Nombra por contenido
“Acta comité curricular 2026-03-15.pdf” se audita; “documento final v3 (1).pdf” no.
Verifica la acción
El error más común es cargar en la meta correcta pero en la acción equivocada. Revísalo en el paso 4.
No esperes al último día
El cierre del ciclo bloquea la carga en el instante configurado, sin prórroga automática.