Appearance
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:
- Iniciar procesos largos sin que el navegador se bloquee
- Continuar trabajando en cualquier modulo del sistema mientras el proceso se ejecuta en segundo plano
- Recibir una notificacion visual cuando el proceso finaliza, mediante un icono de campana con indicador de cantidad de notificaciones no leidas
- Consultar el resultado del proceso desde un panel desplegable, con detalle de exitos y errores
- 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
- El usuario inicia un proceso largo desde el modulo correspondiente (ejemplo: facturacion masiva de 500 socios desde el modulo de membresias)
- El sistema confirma que el proceso fue iniciado y responde inmediatamente sin bloquear el navegador
- El usuario puede continuar trabajando en cualquier otro modulo del sistema
- 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")
- El usuario hace clic en el icono de campana
- El sistema muestra un panel desplegable con la lista de notificaciones recientes
- El usuario ve el detalle del proceso completado (ejemplo: "Facturacion masiva completada - 490 exitosas, 10 errores")
- 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
| Estado | Descripcion | Elementos visuales |
|---|---|---|
| Sin notificaciones | No hay procesos completados pendientes de lectura | Icono de campana sin badge numerico |
| Con notificaciones no leidas | Uno o mas procesos completados sin revisar | Icono de campana con badge mostrando la cantidad |
| Panel abierto | El usuario abrio el desplegable de notificaciones | Lista de notificaciones visibles con sus detalles |
| Notificacion leida | El usuario marco una notificacion como leida | La notificacion se descarta del panel y el badge se actualiza |
Modulos donde aplica
Procesos actuales que generan notificaciones
| Modulo | Proceso | Descripcion de la notificacion |
|---|---|---|
| Membresias | Facturacion 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:
- El usuario accede al modulo de membresias y solicita facturacion masiva para un rango de 500 socios
- El sistema confirma que el proceso fue iniciado y responde inmediatamente
- El usuario navega al modulo de ventas para realizar otras tareas
- El proceso de facturacion se ejecuta en segundo plano durante varios minutos
- Al completarse, el icono de campana en la barra de navegacion muestra "1" en el badge
- El usuario hace clic en la campana y ve: "Facturacion masiva completada - 490 exitosas, 10 errores"
- El usuario toma nota de los errores para revisarlos posteriormente
- 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:
- El usuario inicia un primer proceso de facturacion masiva para un rango de socios
- El sistema confirma el inicio del primer proceso
- El usuario inicia un segundo proceso de facturacion masiva para otro rango de socios
- El sistema confirma el inicio del segundo proceso
- El usuario continua trabajando en otro modulo
- El primer proceso finaliza; el badge de la campana muestra "1"
- El segundo proceso finaliza; el badge de la campana se actualiza a "2"
- El usuario hace clic en la campana y ve ambas notificaciones con sus respectivos resultados
- 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):
- El usuario hace clic en el icono de campana
- El sistema muestra la lista de notificaciones
- El usuario hace clic en una notificacion especifica
- 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
- 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:
| Accion | Descripcion | Ejemplo |
|---|---|---|
| Descargar PDF | Obtener un documento generado por el proceso | Descargar el PDF de facturacion masiva |
| Navegar a resultados | Redirigir al usuario a una pagina con el detalle del resultado | Ir a la pantalla de resultados del proceso de facturacion |
| Ver detalle de errores | Mostrar informacion especifica de los registros que fallaron | Ver 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
| Fecha | Version | Autor | Descripcion |
|---|---|---|---|
| 2026-02-19 | 1.0 | Sistema | Creacion del documento - Documentacion de funcionalidad implementada |