Skip to content

Notificaciones de Procesos en Segundo Plano

Modulo: General (disponible en todos los modulos) Tipo: Feature Estado: Implementado Fecha Creacion: 2026-02-19


Descripcion

Problema que resuelve

Algunos procesos del sistema requieren tiempos de ejecucion prolongados, como la facturacion masiva de membresias para cientos de socios. Sin un mecanismo de notificacion, el usuario que inicia uno de estos procesos queda sin informacion sobre su finalizacion: no sabe cuando termino, si fue exitoso, cuantos registros se procesaron correctamente ni cuantos presentaron errores.

Esto obliga al usuario a permanecer en la pantalla del proceso esperando el resultado, lo cual genera:

  • Bloqueo de productividad: El usuario no puede continuar trabajando en otros modulos mientras espera
  • Incertidumbre operativa: Si el usuario navega a otra seccion, pierde visibilidad del resultado del proceso
  • Riesgo de acciones duplicadas: Al no saber si el proceso termino, el usuario podria intentar ejecutarlo nuevamente

Solucion implementada

Se implemento un sistema global de notificaciones en la barra de navegacion que permite al usuario:

  1. Iniciar procesos largos sin que el navegador se bloquee
  2. Continuar trabajando en cualquier modulo del sistema mientras el proceso se ejecuta en segundo plano
  3. Recibir una notificacion visual cuando el proceso finaliza, mediante un icono de campana con indicador de cantidad de notificaciones no leidas
  4. Consultar el resultado del proceso desde un panel desplegable, con detalle de exitos y errores
  5. Descartar notificaciones marcandolas como leidas

Valor de negocio

  • Productividad: El usuario puede seguir trabajando en otras tareas mientras se ejecutan procesos largos
  • Visibilidad: El usuario siempre sabe cuando un proceso termino y cual fue su resultado
  • Confianza operativa: Al tener informacion clara del resultado (exitosos vs. errores), el usuario puede tomar decisiones inmediatas sobre acciones correctivas
  • Escalabilidad operativa: Permite ejecutar procesos de alto volumen sin afectar la experiencia del usuario

Contexto en el sistema

Esta funcionalidad es transversal a todos los modulos del sistema. Cualquier proceso que requiera ejecucion prolongada puede generar notificaciones al usuario que lo inicio. Actualmente, el primer proceso que utiliza este mecanismo es la facturacion masiva de membresias.


Flujo del Usuario

Flujo principal: Proceso en segundo plano con notificacion

  1. El usuario inicia un proceso largo desde el modulo correspondiente (ejemplo: facturacion masiva de 500 socios desde el modulo de membresias)
  2. El sistema confirma que el proceso fue iniciado y responde inmediatamente sin bloquear el navegador
  3. El usuario puede continuar trabajando en cualquier otro modulo del sistema
  4. Cuando el proceso finaliza (tras algunos minutos), el icono de campana en la barra de navegacion muestra un indicador numerico con la cantidad de notificaciones no leidas (ejemplo: "1")
  5. El usuario hace clic en el icono de campana
  6. El sistema muestra un panel desplegable con la lista de notificaciones recientes
  7. El usuario ve el detalle del proceso completado (ejemplo: "Facturacion masiva completada - 490 exitosas, 10 errores")
  8. El usuario puede marcar la notificacion como leida para descartarla

Flujo futuro: Accion desde notificacion

En una etapa futura, al hacer clic en una notificacion individual, el usuario podra:

  • Descargar un archivo PDF asociado al proceso
  • Navegar a una pagina con el detalle de resultados o reporte
  • Ver el detalle de errores ocurridos durante el proceso

Frontend (Perspectiva de Usuario)

Elementos visuales

Icono de campana en la barra de navegacion

  • Visible permanentemente en la barra de navegacion global del sistema
  • Disponible desde cualquier modulo o pantalla
  • Cuando hay notificaciones no leidas, se muestra un indicador numerico (badge) con la cantidad pendiente
  • Cuando no hay notificaciones no leidas, el icono se muestra sin indicador

Panel desplegable de notificaciones

  • Se abre al hacer clic en el icono de campana
  • Muestra la lista de notificaciones recientes del usuario
  • Cada notificacion muestra:
    • Descripcion del proceso completado (ejemplo: "Facturacion masiva completada")
    • Resultado resumido (cantidad de exitosos, cantidad de errores)
  • El usuario puede marcar notificaciones como leidas para descartarlas

Interacciones del usuario

  • Ver cantidad de notificaciones pendientes: El usuario observa el badge numerico en el icono de campana
  • Abrir panel de notificaciones: El usuario hace clic en el icono de campana para ver el listado
  • Revisar detalle de una notificacion: El usuario lee la descripcion y resultado del proceso en el panel
  • Marcar como leida: El usuario descarta una notificacion marcandola como leida

Estados de interfaz

EstadoDescripcionElementos visuales
Sin notificacionesNo hay procesos completados pendientes de lecturaIcono de campana sin badge numerico
Con notificaciones no leidasUno o mas procesos completados sin revisarIcono de campana con badge mostrando la cantidad
Panel abiertoEl usuario abrio el desplegable de notificacionesLista de notificaciones visibles con sus detalles
Notificacion leidaEl usuario marco una notificacion como leidaLa notificacion se descarta del panel y el badge se actualiza

Modulos donde aplica

Procesos actuales que generan notificaciones

ModuloProcesoDescripcion de la notificacion
MembresiasFacturacion masiva"Facturacion masiva completada - X exitosas, Y errores"

Procesos futuros planificados

El sistema esta disenado para que cualquier modulo pueda generar notificaciones de procesos en segundo plano. Ejemplos previstos:

  • Generacion masiva de reportes
  • Importaciones masivas de datos
  • Otros procesos de larga duracion que se incorporen al sistema

Casos de Uso

CU-001: Facturacion masiva con notificacion al completar

Actor: Usuario administrador de membresias

Objetivo: Ejecutar una facturacion masiva de socios y recibir notificacion cuando el proceso finalice, sin interrumpir su trabajo

Precondiciones:

  • Usuario autenticado con permisos de facturacion masiva de membresias
  • Socios del rango con datos completos para facturar

Flujo principal:

  1. El usuario accede al modulo de membresias y solicita facturacion masiva para un rango de 500 socios
  2. El sistema confirma que el proceso fue iniciado y responde inmediatamente
  3. El usuario navega al modulo de ventas para realizar otras tareas
  4. El proceso de facturacion se ejecuta en segundo plano durante varios minutos
  5. Al completarse, el icono de campana en la barra de navegacion muestra "1" en el badge
  6. El usuario hace clic en la campana y ve: "Facturacion masiva completada - 490 exitosas, 10 errores"
  7. El usuario toma nota de los errores para revisarlos posteriormente
  8. El usuario marca la notificacion como leida

Postcondiciones:

  • El usuario fue informado del resultado sin interrumpir su flujo de trabajo
  • La notificacion fue descartada tras ser leida
  • El badge numerico se actualizo (se reduce o desaparece si no quedan notificaciones)

Flujos alternativos:

  • 4a. El usuario permanece en el modulo de membresias: El flujo es identico; la notificacion aparece en la campana cuando el proceso finaliza
  • 6a. Todos los registros exitosos: La notificacion indica "Facturacion masiva completada - 500 exitosas, 0 errores"
  • 6b. Todos los registros con error: La notificacion indica "Facturacion masiva completada - 0 exitosas, 500 errores"

CU-002: Multiples procesos con notificaciones acumuladas

Actor: Usuario administrador de membresias

Objetivo: Ejecutar varios procesos largos y recibir notificaciones independientes de cada uno

Precondiciones:

  • Usuario autenticado con permisos correspondientes
  • Capacidad de iniciar multiples procesos

Flujo principal:

  1. El usuario inicia un primer proceso de facturacion masiva para un rango de socios
  2. El sistema confirma el inicio del primer proceso
  3. El usuario inicia un segundo proceso de facturacion masiva para otro rango de socios
  4. El sistema confirma el inicio del segundo proceso
  5. El usuario continua trabajando en otro modulo
  6. El primer proceso finaliza; el badge de la campana muestra "1"
  7. El segundo proceso finaliza; el badge de la campana se actualiza a "2"
  8. El usuario hace clic en la campana y ve ambas notificaciones con sus respectivos resultados
  9. El usuario marca ambas como leidas

Postcondiciones:

  • El usuario recibio notificaciones independientes para cada proceso
  • El badge reflejo correctamente la cantidad acumulada de notificaciones no leidas
  • Ambas notificaciones fueron descartadas tras ser leidas

CU-003: Acciones futuras desde notificacion

Actor: Usuario del sistema

Objetivo: Acceder al resultado detallado de un proceso desde la notificacion (funcionalidad futura)

Precondiciones:

  • Usuario tiene una notificacion no leida de un proceso completado
  • El proceso genero un resultado descargable o una pagina de resultados

Flujo principal (futuro):

  1. El usuario hace clic en el icono de campana
  2. El sistema muestra la lista de notificaciones
  3. El usuario hace clic en una notificacion especifica
  4. Segun el tipo de proceso, el sistema ejecuta una accion:
    • Descarga el PDF asociado al proceso
    • Navega a la pagina de resultados o reporte
    • Muestra el detalle de errores del proceso
  5. La notificacion se marca como leida automaticamente

Postcondiciones:

  • El usuario accedio al resultado detallado del proceso directamente desde la notificacion

Extensibilidad

Acciones futuras desde notificaciones

El sistema de notificaciones esta preparado para incorporar acciones asociadas a cada notificacion en una etapa futura:

AccionDescripcionEjemplo
Descargar PDFObtener un documento generado por el procesoDescargar el PDF de facturacion masiva
Navegar a resultadosRedirigir al usuario a una pagina con el detalle del resultadoIr a la pantalla de resultados del proceso de facturacion
Ver detalle de erroresMostrar informacion especifica de los registros que fallaronVer que socios presentaron errores y por que motivo

Incorporacion de nuevos tipos de proceso

Cualquier modulo del sistema puede generar notificaciones de procesos en segundo plano. Al incorporar un nuevo proceso largo, este automaticamente se integra con el sistema de notificaciones, y el usuario lo ve reflejado en el icono de campana de la barra de navegacion.


Consideraciones

Alcance por sucursal

Las notificaciones son especificas de la sucursal en la que el usuario esta operando. Un proceso iniciado en una sucursal genera notificaciones visibles en el contexto de esa sucursal.

Persistencia de notificaciones

Las notificaciones desaparecen del panel una vez que el usuario las marca como leidas. Actualmente no se dispone de un historial de notificaciones pasadas.

Notificaciones por usuario

Las notificaciones se muestran unicamente al usuario que inicio el proceso. Otros usuarios del sistema no ven las notificaciones de procesos que no iniciaron.

Tipos de proceso actuales

Actualmente el unico tipo de proceso que genera notificaciones es la facturacion masiva de membresias (batch_invoicing). A medida que se incorporen nuevos procesos largos al sistema, estos podran utilizar el mismo mecanismo de notificacion.

Limitaciones actuales

  • No existe historial de notificaciones ya leidas
  • Las notificaciones no incluyen acciones directas (descargar PDF, navegar a resultados); esta funcionalidad esta planificada para una etapa futura
  • El sistema notifica unicamente la finalizacion del proceso, no el progreso parcial

Criterios de Aceptacion

Icono y badge

  • [x] AC-001: El icono de campana es visible en la barra de navegacion desde cualquier modulo del sistema
  • [x] AC-002: Cuando hay notificaciones no leidas, el badge muestra la cantidad correcta
  • [x] AC-003: Cuando no hay notificaciones no leidas, el badge no se muestra

Panel de notificaciones

  • [x] AC-004: Al hacer clic en la campana, se muestra un panel desplegable con la lista de notificaciones recientes
  • [x] AC-005: Cada notificacion muestra la descripcion del proceso y el resumen de resultado (exitosos y errores)
  • [x] AC-006: El usuario puede marcar notificaciones como leidas, y estas se descartan del panel

Proceso en segundo plano

  • [x] AC-007: Al iniciar un proceso largo (facturacion masiva), el sistema responde inmediatamente sin bloquear el navegador
  • [x] AC-008: El usuario puede continuar navegando y trabajando en cualquier modulo mientras el proceso se ejecuta
  • [x] AC-009: Cuando el proceso finaliza, el badge de la campana se actualiza automaticamente con la nueva notificacion

Multiples notificaciones

  • [x] AC-010: Si hay multiples procesos completados, el badge refleja la cantidad acumulada de notificaciones no leidas
  • [x] AC-011: El panel muestra todas las notificaciones pendientes, no solo la mas reciente

Notas Adicionales

Relacion con facturacion masiva de membresias

El primer proceso que utiliza este sistema de notificaciones es la facturacion masiva de membresias. La notificacion generada por este proceso incluye la cantidad de facturas generadas exitosamente y la cantidad de errores, permitiendo al usuario evaluar rapidamente el resultado de la operacion.

Diseno extensible

La funcionalidad fue disenada para ser utilizada por cualquier proceso de larga duracion que se incorpore al sistema en el futuro, sin requerir cambios en el mecanismo de notificaciones. Cada nuevo tipo de proceso simplemente genera sus notificaciones y estas aparecen en la campana del usuario.

Acciones futuras planificadas

Se planifica incorporar en una etapa posterior la posibilidad de ejecutar acciones desde las notificaciones: descargar PDF, navegar a una pagina de resultados, o ver el detalle de errores. Estas acciones dependeran del tipo de proceso que genero la notificacion.


Historial de Cambios

FechaVersionAutorDescripcion
2026-02-191.0SistemaCreacion del documento - Documentacion de funcionalidad implementada