Acceso · S-PLAN
Roles
Un usuario puede tener varios roles a la vez, de varias aplicaciones de la suite. S-PLAN mira solo los que le competen y con ellos decide qué mostrar y qué habilitar.
Dónde viven
usuarios/{correoSaneado} = {
correo: "planeacion@unitropico.edu.co",
nombre: "…",
rol: "admin", // campo heredado, informativo
roles_map: { // ← el que manda
"admin-s-plan": true,
"responsable-datalab": true
}
}
La aplicación construye la lista de roles activos tomando las claves de roles_map cuyo valor es
verdadero. Si no existe roles_map, cae a un arreglo roles heredado.
Catálogo de roles de S-PLAN
| Rol | Perfil típico | Qué habilita |
|---|---|---|
admin-s-plan | Oficina Asesora de Planeación | Administración completa: ciclo de carga, validación de evidencias, edición de cronograma y avance, cortes y snapshots, carga masiva. |
responsable-s-plan | Dependencias con metas asignadas | Reporte de avance y carga de evidencias en sus metas; tablero por responsable. |
admin | Administración transversal de la suite | Se considera administrador en toda la aplicación. Cualquier rol que contenga la palabra “admin” activa el modo administrador general. |
evaluador-s-plan | — | Provisionado Existe en el directorio de usuarios, pero hoy la interfaz de S-PLAN no lo consulta: no habilita nada por sí solo. Se documenta para evitar que se asigne esperando un efecto. |
| Sin rol de S-PLAN | Comunidad universitaria | Consulta. Ve el plan completo en modo lectura. |
Cuidado con la regla “contiene admin”. El modo administrador general se
activa con cualquier rol cuyo nombre incluya la cadena
admin —incluidos los de otras aplicaciones, como
admin-datalab—. Es un atajo heredado: si necesitas que alguien administre S-PLAN, asígnale
admin-s-plan explícitamente; y ten presente que un administrador de otra app verá más de lo esperado.Matriz de capacidades
| Acción | Consulta | responsable-s-plan | admin-s-plan |
|---|---|---|---|
| Ver dashboard, ejes, programas, proyectos y metas | ✔ | ✔ | ✔ |
| Generar y exportar informes | ✔ | ✔ | ✔ |
| Ver evidencias cargadas | ✔ | ✔ | ✔ |
| Cargar evidencias en el ciclo abierto | ✘ | ✔ | ✔ |
| Participar en la conversación de una evidencia | ✘ | ✔ | ✔ |
| Tablero por responsable y su análisis | ✘ | ✔ | ✔ |
| Evaluar una acción (aprobar / rechazar) | ✘ | ✘ | ✔ |
| Editar el cronograma de las acciones | ✘ | ✘ | ✔ |
| Administrar el ciclo de carga | ✘ | ✘ | ✔ |
| Cerrar cortes y generar snapshots | ✘ | ✘ | ✔ |
| Carga masiva por Excel | ✘ | ✘ | ✔ |
| Publicar alertas globales | ✘ | ✘ | ✔ |
Cómo se aplica en la interfaz
La visibilidad se implementa con clases CSS en el marcado. Al cargar los roles, la página oculta todo lo controlado por rol y luego revela lo que corresponde:
| Clase | Se muestra a |
|---|---|
.admin-only | Cualquier administrador (rol que contenga “admin”). |
.admin-s-plan · .admin-s-plan-only | Solo admin-s-plan. |
.admin-responsable-only · .responsable-s-plan-only | admin-s-plan o responsable-s-plan. |
Esto es visibilidad, no seguridad. Ocultar un botón con CSS no impide que
alguien escriba en la base de datos por otro camino. El control real está en las reglas de seguridad de Firebase.
Ver Permisos.
Solicitar o cambiar un rol
- Escribe a la Oficina Asesora de Planeación indicando el correo institucional, el rol solicitado y el motivo.
- Si es
responsable-s-plan, indica además las metas que deberías tener asignadas: el rol habilita reportar, pero la asignación concreta vive enS-PLAN/metas_responsables. - Tras la asignación, cierra sesión y vuelve a entrar: el perfil se cachea unos minutos en el navegador.