Gestión documental
Gestión documental con permisos y trazabilidad
Trabajé en el gestor documental de una plataforma de ensayos clínicos, donde cada archivo debe tener claro quién puede verlo y cada acción queda registrada.
- El problema
- Carpetas anidadas y documentos compartidos con usuarios internos y externos, con trazabilidad de cada acción.
- La decisión
- Permisos por carpeta y documento resueltos en el servidor, y un registro de actividad separado de la operación principal.
- En qué terminó
- Un gestor documental que el equipo sigue ampliando sobre esa base.
El problema
La plataforma necesitaba su propio gestor documental: carpetas de la organización y personales, versiones, papelera, descargas y documentos compartidos con usuarios internos y externos. En un entorno regulado, cada acción sobre un documento tiene que quedar registrada.
Lo construimos en equipo. Yo trabajé sobre todo en la API, la carga de archivos y el frontend.
Lo difícil era el acceso: un documento compartido dentro de una estructura de carpetas debe ser visible para quien lo recibe sin mostrarle el resto, y quien tiene acceso a una carpeta debe ver también lo que se agregue después.
Decisiones
Permisos por carpeta y documento, calculados de antemano. Guardamos el acceso efectivo de cada usuario sobre cada elemento, en lugar de calcularlo en cada lectura. Así las consultas son simples y rápidas. Costo: compartir, mover o versionar obliga a recalcular, y esos casos piden cuidado.
Trazabilidad fuera del camino crítico. El registro de actividad se procesa aparte de la operación del usuario, para no alargar cada respuesta. Costo: hay más piezas que vigilar para que ningún registro se pierda.
Resultado
- El gestor documental quedó como una pieza central de la plataforma, con permisos por carpeta y documento y trazabilidad de cada acción.
Qué haría distinto
Documentaría el modelo de permisos desde el principio, con ejemplos, para que el equipo y los usuarios entiendan por qué alguien ve o no un documento.