Casos de Éxito / Deputación de Pontevedra

Módulo de gestión documental para archivos administrativos públicos

Desarrollo de módulo a medida sobre plataforma archivística estándar, integrado con el modelo de datos existente y conforme a los estándares internacionales ISAD(G) e ISAAR(CPF).

Cliente
Deputación de Pontevedra
Sector
Administración Pública
Período
Segunda mitad de 2025
Resumen ejecutivo

Desarrollo de un módulo a medida sobre AtoM — la plataforma archivística estándar del sector — para cubrir flujos documentales específicos de una entidad pública gallega. Trabajo sobre stack legacy (Symfony 1 + Propel ORM + MySQL) manteniendo la conformidad con los estándares internacionales ISAD(G) e ISAAR(CPF), sin alterar el core de la plataforma y sin afectar la operación del sistema ya en producción.

Conformidad normativa mantenida
Stack legacy dominado
Entrega sin impacto en producción
Contexto del cliente

Entidad pública gallega con archivo administrativo activo

Las administraciones públicas gestionan un volumen significativo de documentación con valor archivístico, histórico y legal. Mantener ese archivo ordenado y accesible no es un trámite administrativo: es una obligación normativa y un servicio al ciudadano. El sector exige conformidad con estándares internacionales como ISAD(G) (descripción archivística) e ISAAR(CPF) (registros de autoridad).

En este contexto, AtoM (Access to Memory) es la plataforma consolidada. Está desarrollada por y para la comunidad archivística, y cualquier extensión sobre ella tiene que respetar sus convenciones internas y su modelo de datos. Salirse de ese marco implica romper la conformidad, perder alineamiento con la comunidad upstream o ambas cosas.

Diagnóstico

Un desafío técnico con tres capas superpuestas

  • Stack legacy activo y crítico. AtoM corre sobre Symfony 1 + Propel ORM, una combinación descontinuada fuera del mundo archivístico pero plenamente viva dentro de él. Cualquier intervención exige dominio técnico del entorno, no solo familiaridad general con PHP.
  • Conformidad normativa no negociable. El módulo debe integrarse con el modelo archivístico de AtoM sin romper la conformidad con ISAD(G) e ISAAR(CPF). Un atajo técnico aquí significa perder validez documental, no solo un bug.
  • Sistema en producción con usuarios reales. El archivo está en uso. Cualquier despliegue tiene que minimizar el riesgo operativo y respetar las ventanas acordadas con la entidad.
  • Integración profunda con el modelo de datos existente. El módulo tiene que coexistir con las tablas del core de AtoM, sin duplicar estructuras ni romper la coherencia del modelo archivístico.
Decisión arquitectónica

Cuatro decisiones para intervenir un sistema crítico sin romperlo

En un sistema archivístico público, las decisiones técnicas tienen implicaciones normativas. No se trata de elegir el stack más nuevo, sino el que preserve la conformidad y la continuidad operativa. Cada elección se documentó para que la entidad pueda auditarla hoy y dentro de varios años.

01

Extender AtoM en lugar de reemplazarlo

AtoM es la plataforma consolidada en el mundo archivístico institucional. Reemplazarla habría implicado perder el alineamiento con el estándar del sector y replicar años de trabajo de la comunidad archivística. Se optó por extender la plataforma existente con un módulo a medida, preservando la compatibilidad y la conformidad normativa.

02

Convivir con el stack legacy, no migrarlo

AtoM corre sobre Symfony 1 + Propel ORM — un stack descontinuado. Migrar el core a un framework moderno excedía completamente el alcance del proyecto y habría roto la relación con la comunidad upstream. La decisión fue dominar el entorno legacy y trabajar dentro de sus convenciones, no alrededor.

03

Propel ORM sobre el modelo existente

Integrar el módulo mediante Propel sobre el mismo modelo de datos que usa AtoM garantiza coherencia, evita duplicación de lógica de persistencia y permite que futuras actualizaciones de la plataforma no rompan la extensión. Introducir un segundo ORM habría sumado complejidad sin beneficio.

04

Despliegue en ventana, con entorno espejo previo

Para un sistema archivístico en producción, la estabilidad es innegociable. Toda la validación se realizó en un entorno equivalente al productivo antes del despliegue, y la puesta en marcha se coordinó en ventana acordada para minimizar cualquier impacto operativo.

Solución implementada

Módulo a medida integrado al modelo archivístico

  • Módulo a medida sobre AtoM. Desarrollo extendiendo la plataforma existente, siguiendo sus convenciones de módulo y respetando el ciclo de vida de Symfony 1.
  • Conformidad con ISAD(G) e ISAAR(CPF). Todo el modelo de descripción archivística se mantiene conforme a los estándares internacionales del sector, sin shortcuts que comprometan la validez documental.
  • Integración mediante Propel ORM. La persistencia del módulo se apoya en el mismo ORM que usa el core de AtoM sobre MySQL, preservando la coherencia del modelo y facilitando el mantenimiento futuro.
  • Flujos de trabajo adaptados. Los procesos internos de la entidad quedan reflejados en el módulo sin forzar al usuario archivista a adaptarse a una herramienta genérica.
  • Despliegue no intrusivo. La puesta en producción se coordinó sin afectar la operativa cotidiana del sistema archivístico ya en uso.
Arquitectura

Cómo encaja el módulo dentro de AtoM

  1. 1
    Base: AtoM sobre Symfony 1. La plataforma archivística corre en su entorno estándar, con su modelo de datos, sus convenciones y sus reglas de conformidad ISAD(G)/ISAAR(CPF).
  2. 2
    Módulo a medida como extensión. Se añade un módulo nuevo siguiendo el esquema de módulos de Symfony 1, sin modificar ficheros del core de AtoM.
  3. 3
    Persistencia vía Propel ORM. El módulo lee y escribe sobre el mismo motor de persistencia que usa el core, respetando el modelo de datos archivístico.
  4. 4
    Flujos adaptados a la entidad. El comportamiento del módulo refleja los procesos internos de la entidad, encapsulados como lógica propia del módulo.
  5. 5
    Base de datos MySQL compartida. Todo el almacenamiento se apoya en la misma base que AtoM ya utiliza, sin duplicar estructuras ni crear silos de información.
  6. 6
    Despliegue validado en espejo. Antes de producción, toda la integración se valida en un entorno equivalente para minimizar riesgo operativo.
Stack técnico

Tecnologías concretas, sin maquillaje

Plataforma base
AtoM (Access to Memory)Symfony 1Propel ORM
Base de datos
MySQL
Estándares archivísticos
ISAD(G)ISAAR(CPF)
Entorno
PHPServidor dedicado del cliente
Fases de trabajo

Tres fases pensadas para preservar la estabilidad del sistema

01

Análisis del dominio y del sistema

Fase inicial

Estudio del modelo de datos existente en AtoM, revisión de la integración actual con Propel ORM y comprensión de los flujos archivísticos requeridos conforme a los estándares del sector.

02

Diseño del módulo e integración

Fase central

Diseño del módulo a medida con integración no intrusiva sobre el modelo de datos de AtoM, manteniendo conformidad con ISAD(G) e ISAAR(CPF) y sin alterar las tablas del core.

03

Despliegue sin afectar operación

Fase final

Puesta en producción en ventana acordada con la entidad, con validación previa en entorno equivalente para garantizar estabilidad del sistema archivístico ya en uso.

Resultado

Módulo entregado, operativo y conforme

El módulo se entregó dentro del plazo acordado y quedó operativo en el entorno de la entidad. Cubre los flujos archivísticos requeridos y mantiene la conformidad con los estándares internacionales del sector. El sistema AtoM en producción no sufrió interrupciones atribuibles al despliegue.

El trabajo se documentó técnicamente para que la entidad pueda auditarlo, mantenerlo y evolucionarlo con equipos propios o de terceros, sin dependencia operativa con nosotros.

Hallazgos de ingeniería

Lo que confirma un proyecto sobre stack legacy en sector público

  • Un stack descontinuado no es un stack muerto. Symfony 1 + Propel sigue siendo el entorno vivo del mundo archivístico porque AtoM lo usa. Tratarlo como "código viejo a reemplazar" es no entender el dominio. Dominarlo como se domina cualquier otro stack es lo que permite entregar sin romper.
  • La conformidad se diseña, no se añade al final. ISAD(G) e ISAAR(CPF) no son checklists de cierre: son el modelo mental de todo el módulo desde el primer diseño. Intentar "hacer conforme" una implementación que no nació conforme es más caro que hacerlo bien desde el principio.
  • Los despliegues en sector público requieren planificación, no improvisación. Ventanas acordadas, validación en entorno espejo y comunicación previa con los responsables del sistema son parte del alcance del proyecto, no detalles operativos de última hora.

¿Tenés un sistema legacy crítico que necesita extenderse?

Trabajamos sobre stacks heredados sin romper lo que ya funciona. Diagnóstico inicial sin coste.

Solicitar Diagnóstico Ver todos los casos