Nuestro sistema de notificaciones de T6 permite visualizar con un amplio nivel de detalle las ejecuciones realizadas, como cargas de datos, publicaciones del cubo y procesos del workflow. Permite visualizar el estado de la ejecución, la hora detallada de inicio y fin, y el tiempo total de ejecución. En caso de errores durante la ejecución, se mostrará una lista de errores, permitiendo seleccionar un error específico y verificar su detalle.
Entre las nuevas funcionalidades agregadas al sistema de notificaciones, se encuentran:
Para utilizar el sistema de notificaciones, necesitaremos realizar una acción que genere una notificación, a partir de una carga de datos, una publicación del cubo o ejecutar un proceso del workflow.
Al hacer clic en en la esquina superior de la pantalla del T6, se mostrará un panel lateral con la lista de notificaciones generadas por el sistema y una barra de estado con el porcentaje ejecutado. Entre ellas, tendremos algunas posibilidades:
: Se mostrará en caso de que la acción disparada esté siendo ejecutada sin ninguna falla hasta el momento;
: Se mostrará en caso de que la acción disparada haya sido ejecutada y finalizada con éxito;
: Se mostrará en caso de que la acción disparada esté siendo ejecutada con fallas;
: Se mostrará en caso de que la acción disparada haya sido ejecutada y finalizada, pero con fallas;
: Se mostrará en caso de que la acción disparada tenga uno o más errores que impidan su ejecución y finalización.
Al hacer clic en una notificación, se abrirá una nueva pestaña en T6, mostrando el detalle completo de la acción disparada.
En caso de un error que impida la ejecución, la pestaña abierta mostrará el título de la acción disparada; una breve explicación informando que la ejecución no se realizó por error; qué usuario disparó la acción; el estado de error; la fecha y hora detallada de inicio de la ejecución y un cuadro informando el detalle del error.
Al publicar el cubo después de la creación de una o más fórmulas, el sistema mostrará una notificación. Al hacer clic en la notificación, se abrirá una nueva pestaña en la cual podemos visualizar el detalle de las acciones realizadas por el sistema al publicar el cubo.
En esta pantalla tenemos:
En el caso de las fórmulas, también tenemos los siguientes cards informativos:
Según el ejemplo anterior, en cada card tenemos:
en la esquina superior izquierda, una numeración que indica el valor anterior a la publicación que generó la notificación;
En el centro del card tenemos el valor actual en el momento de la publicación y al lado de este valor tendremos 3 posibilidades:
Para más información acerca de las fórmulas en T6, acceda a: Fórmulas y Funciones
Justo debajo, tenemos una lista con todos los pasos realizados por el sistema al publicar el cubo, y al lado de cada paso tenemos el tiempo de duración de cada acción, representados en milisegundos;
Al ejecutar una carga de datos, el sistema muestra una notificación. Al hacer clic en la notificación, se abre una nueva pestaña en la cual podemos visualizar el detalle de las acciones realizadas por el sistema al ejecutar la carga de datos.
En caso de éxito, la pantalla mostrará solamente:
En caso de ejecución concluida con fallas por error en el mapeo, además de los ítems mencionados anteriormente, tendremos también:
Un card donde se informa el nombre del mapeo realizado, el código de error generado y un botón Corregir mapeo:
Al hacer clic en Corregir mapeo seremos dirigidos a una nueva pestaña en T6, que contiene el formulario de datos utilizado para la carga de datos, permitiendo realizar las correcciones necesarias en el formulario.
También podemos hacer las modificaciones a través del archivo CSV utilizado para la carga, corrigiendo las filas que generaron errores y ejecutando la carga nuevamente.
Justo debajo del card, tenemos una lista de las fallas encontradas en la ejecución de la carga de datos y su detalle;
Nos da la posibilidad de que un usuario pueda enviar un mensaje a un grupo de usuarios, o a un usuario específico cuando está realizando una actividad; con esto, podemos crear una notificación donde podemos poner cualquier información y no solo la de la aplicación.
Nuestras notificaciones quedan guardadas en tablas de la base de datos que comienzan con REP_NOTIFICATION
, la información que se almacena en la tabla REP_NOTIFICATION
son los datos generales de una notificación.
En la tabla REP_NOTIFICATION
tenemos las siguientes columnas:
codNotification
: Identificador incremental, que se genera automáticamente al crear una notificación;
codNotificationType
: Identificador de notificación que proviene de la tabla REP_NOTIFICATION_TYPE
, entre los tipos de notificación disponibles tenemos:
flgState
: Tenemos el estado de la notificación, entre los estados posibles de una notificación tenemos:
codUser
: Identificador del usuario que creó la notificación;
dscObjectID
: Identificador del objeto asociado a la notificación;
dscObjectName
: Nombre del objeto asociado a la notificación;
dscTitle
: Título del mensaje mostrado en la notificación;
dscMessage
: Cuerpo del mensaje mostrado en la notificación;
dscDetails
: Detalles del mensaje mostrado en la notificación;
datStart
: Fecha de inicio de la notificación;
datEnd
: Fecha de finalización de la notificación;
También tenemos la tabla REP_NOTIFICATION_USER
, en la cual podemos indicar qué usuario nos gustaría que sea notificado para la notificación creada.
En una notificación personalizada vamos a llenar un registro en la tabla REP_NOTIFICATION
y uno o más registros en la tabla REP_NOTIFICATION_USER
.
Para insertar una notificación personalizada, necesitaremos acceder a nuestra base de datos y realizar una inserción en la tabla REP_NOTIFICATION
, por ejemplo:
INSERT INTO REP_NOTIFICATION (codNotificationType, flgState, codUser, dscObjectID, dscObjectName, dscTitle, dscMessage, dscDetails, datStart, datEnd)
VALUES
(8, 2, 1, NULL, NULL, 'Título de Ejemplo', 'Ejemplo del cuerpo del mensaje en la notificación', 'Ejemplo de detalles', GETUTCDATE(), GETUTCDATE())
Y también necesitaremos realizar una inserción en la tabla REP_NOTIFICATION_USER
, por ejemplo:
INSERT INTO REP_NOTIFICATION_USER (codNotification, codUser)
SELECT TOP 1 codNotification AS codNotification, 1 AS codUser FROM REP_NOTIFICATION ORDER BY codNotification DESC
Siempre que vayamos a crear una notificación personalizada, primero debemos hacer el INSERT en la tabla
REP_NOTIFICATION
para obtener el código de la notificación que utilizaremos en el INSERT de la tablaREP_NOTIFICATION_USER
.
El usuario será notificado solo una vez; tan pronto como la notificación sea leída por el usuario, este no recibirá más la misma notificación.
Para llamar a la notificación, utilizaremos la siguiente API: .../API/Notification/Notify?notificationCode=****, donde los **** serán sustituidos por el código de la notificación que creamos anteriormente.
La notificación solo será generada para los usuarios definidos en el INSERT de la tabla REP_NOTIFICATION_USER
que estén conectados en el momento de la llamada a la API; si no hay ningún usuario conectado en ese momento, la notificación simplemente no será entregada hasta que uno de los usuarios definidos inicie sesión en T6.
La notificación personalizada se mostrará de la siguiente manera:
Al hacer clic sobre la notificación, tendremos un mayor detalle, mostrando el usuario que disparó la notificación, la fecha de inicio y la fecha de finalización: