Energía · Ingeniería y proyectos · Oleoductos del Valle

Lecciones aprendidas que se consultan, no que se archivan

Implementamos sobre Alfresco Community la gestión de Lecciones Aprendidas y Acciones de Oldelval: carga masiva, vocabulario controlado, circuito de aprobación con trazabilidad y un asistente de IA que responde sobre el corpus citando la fuente.

En producción · +150 lecciones y +170 acciones registradas

Módulo de gestión de lecciones aprendidas en Alfresco: importación desde Excel, estado de sincronización con el repositorio y listado de lecciones con su origen, fecha, proyecto y fase del ciclo de vida.
El módulo de Gestión LA dentro de Alfresco.Captura de la aplicación con datos de demostración.

01 El punto de partida

Las lecciones existían. Encontrarlas era el problema.

Cada proyecto dejaba su registro de lecciones aprendidas en una planilla propia. El contenido era bueno —análisis técnicos serios, escritos por gente que había estado en la obra— pero vivía en archivos sueltos, con criterios distintos en cada uno.

Al revisarlas aparecía siempre lo mismo: el mismo sector escrito de tres formas, fases del ciclo de vida con el nombre tipeado a mano, acciones sin identificador, columnas que cambiaban de lugar entre planilla y planilla. Nada de eso es negligencia: es lo que pasa inevitablemente cuando el vocabulario no está definido en ningún lado.

La consecuencia práctica es que el conocimiento no se podía consultar. Para saber qué había pasado antes con permisos ambientales en una estación de bombeo había que acordarse de en qué proyecto fue y abrir la planilla correcta.

02 Qué construimos

Un módulo a medida, dentro de Alfresco

No es un sistema aparte que se integra: es una extensión de la propia interfaz de Alfresco. Los documentos, los permisos y la auditoría son los del repositorio.

  • 01

    Importación masiva desde Excel

    Las lecciones venían en planillas, una por proyecto. El importador las lee, valida cada valor contra el modelo de contenido y rechaza la fila indicando exactamente qué campo no corresponde, en vez de cargar basura en silencio.

  • 02

    Modelo de contenido con vocabulario cerrado

    Sector, proyecto, fase del ciclo de vida, origen y estado dejaron de ser texto libre y pasaron a listas de valores. Es lo que convierte un archivo de documentos en algo sobre lo que se puede filtrar, agrupar y preguntar.

  • 03

    Flujo de aprobación con trazabilidad

    Ninguna lección se publica sola. Recorre responsable técnico, calidad y dirección, y cada paso queda registrado: quién, cuándo y con qué comentario. En una industria regulada eso no es una funcionalidad, es el requisito.

  • 04

    Acciones vinculadas a cada lección

    Una lección sin acción es una anécdota. Cada una lleva sus acciones asociadas, con responsable, sector, estado y avance, para que el aprendizaje termine en algo que alguien tiene que hacer.

03 La decisión que sostiene todo

Vocabulario cerrado donde importa, libre donde no

El trabajo técnico que más rinde en una implementación así no se ve en la pantalla: es decidir qué campos llevan una lista de valores y cuáles no.

Sector, proyecto, fase, origen y estado quedaron con vocabulario controlado. Son los ejes por los que alguien va a querer filtrar o agrupar, y sin una lista cerrada cada variante de escritura parte el conjunto en pedazos. El tema y la descripción quedaron libres, porque ahí forzar un vocabulario sería pelearse con quien escribe.

Las listas viven en el administrador de modelos de Alfresco, no en el código. Agregar un sector nuevo es editar el modelo desde la consola: no hace falta tocar la aplicación ni volver a desplegar nada.

El importador valida contra esas mismas listas. Si una planilla trae un valor que no existe, la fila se rechaza con el campo y el valor señalados. Es más molesto al cargar y es exactamente lo que evita que el repositorio se vuelva, otra vez, un conjunto de archivos sueltos.

04 El asistente

Preguntar en lenguaje natural, con la fuente a la vista

Una vez que el corpus está ordenado y clasificado, se le puede preguntar. El asistente responde sobre las lecciones y los documentos del repositorio, y acompaña cada respuesta con el documento del que salió, la página exacta y el enlace para abrirlo.

Esa última parte es la que importa en una industria regulada. Un asistente que afirma sin mostrar de dónde sacó la afirmación no es utilizable para decidir nada; uno que deja el rastro a la vista se puede auditar igual que cualquier otro documento del sistema.

Respeta los permisos del repositorio: cada persona recibe respuestas construidas únicamente con el contenido que ya tenía derecho a leer.

Asistente de IA dentro de Alfresco respondiendo cuántos documentos de la categoría Proyectos se modificaron en los últimos treinta días, con el desglose por proyecto y un enlace para ver los resultados en la búsqueda.
El asistente citando el contrato y la adenda, con la página de cada uno.Interfaz de demostración.

05 Cómo está hecho

El stack

Alfresco Community 7.1
Repositorio, modelo de contenido y motor de workflow. Sin costo de licencia.
Alfresco Content Application
La interfaz. El módulo se suma como extensión, sin tocar el núcleo: la plataforma sigue actualizable.
Model Manager
El modelo se define desde la consola de administración, así que agregar un sector o un proyecto no necesita un despliegue.
Workflow BPM
El circuito de aprobación, con sus estados y sus responsables.
Réplica relacional
Un espejo consultable para los listados y los reportes, con control de sincronización contra el repositorio.

Todo sobre la edición Community: sin costo de licencia, con el soporte y el mantenimiento a cargo nuestro.

Oleoductos del Valle opera el sistema de transporte de petróleo de la cuenca neuquina. Trabajamos con sus equipos de proyectos, calidad y sistemas.

¿Tenés un proceso parecido?

Contanos cómo funciona hoy el tuyo. Te decimos si conviene resolverlo, cómo y en qué orden — incluso si la respuesta es que todavía no.

Con qué está construido

  • Alfresco Community
  • Alfresco Content Application (ACA)
  • Activiti
  • Angular
  • Python
  • pgvector
  • RAG