Our T6 notification system allows us to view executed actions in great detail, such as data loads, cube publications, and workflow processes. It enables viewing the execution status, detailed start and end times, total execution time, and, in case of errors during execution, a list of errors will be displayed, allowing the user to select a specific error and view its details.
Among the new features added to the notification system are:
To use the notification system, we need to perform an action that generates a notification, such as a data load, a cube publication, or executing a workflow process.
By clicking on in the upper corner of the T6 screen, a panel will be displayed on the side with a list of notifications generated by the system and a status bar showing the execution percentage. Among them, we will have the following possibilities:
: Displayed when the triggered action is being executed with no errors so far;
: Displayed when the triggered action is executed and completed successfully;
: Displayed when the triggered action is being executed with errors;
: Displayed when the triggered action has been executed and completed, but with errors;
: Displayed when the triggered action has one or more errors that prevent its execution and completion.
By clicking on a notification, a new tab will open in T6, displaying the full details of the triggered action.
In the case of an error that prevents execution, the opened tab will display the title of the triggered action; a brief explanation informing that the execution was not completed due to an error; which user triggered the action; the error status; the detailed date and time of the start of execution; and a panel with the error details.
When we publish the cube after creating one or more formulas, the system will display a notification. By clicking on the notification, a new tab will open, where we can view the details of the actions performed by the system when publishing the cube.
On this screen we have:
In the case of formulas, we also have the following informational cards:
As shown in the example above, each card contains:
In the upper left corner, a number showing the previous value before the publication that generated the notification;
In the center of the card, we have the current value at the time of publication, and next to this value we have 3 possibilities:
For more information about formulas in T6, visit: Formulas and Functions
Just below, we have a list of all the steps performed by the system when publishing the cube, and next to each step, we have the duration of each action, represented in milliseconds.
When executing a data load, the system displays a notification. By clicking on the notification, a new tab will open, where we can view the details of the actions performed by the system during the data load execution.
In case of success, the screen will display only:
In case of execution completed with failure due to a mapping error, in addition to the items mentioned above, we will also have:
A card showing the name of the mapping performed, the generated error code, and a Correct mapping button:
By clicking on Correct mapping, we will be directed to a new tab in T6, containing the data form used for the data load, allowing us to make the necessary corrections in the form.
We can also make the changes through the CSV file used for the data load, correcting the rows that caused errors and executing the load again.
Just below the card, there is a list of the errors found during the data load execution and their details.
It allows a user to send a message to a group of users or to a specific user while performing an activity. With this, we can create a notification where we can include any information, not just application-related details.
Our notifications are stored in database tables that start with REP_NOTIFICATION
. The information stored in the REP_NOTIFICATION
table represents the general details of a notification.
In the REP_NOTIFICATION
table, we have the following columns:
codNotification
: Incremental identifier, automatically generated when a notification is created;
codNotificationType
: Notification type identifier that comes from the REP_NOTIFICATION_TYPE
table. Among the available notification types, we have:
flgState
: Represents the notification status. Possible states for a notification are:
codUser
: Identifier of the user who created the notification;
dscObjectID
: Identifier of the object associated with the notification;
dscObjectName
: Name of the object associated with the notification;
dscTitle
: Title of the message displayed in the notification;
dscMessage
: Body of the message displayed in the notification;
dscDetails
: Details of the message displayed in the notification;
datStart
: Start date of the notification;
datEnd
: End date of the notification;
We also have the REP_NOTIFICATION_USER
table, where we can specify which user(s) should be notified for the created notification.
In a custom notification, we will populate one record in the REP_NOTIFICATION
table and one or more records in the REP_NOTIFICATION_USER
table.
To insert a custom notification, we need to access our database and insert a record into the REP_NOTIFICATION
table, for example:
INSERT INTO REP_NOTIFICATION (codNotificationType, flgState, codUser, dscObjectID, dscObjectName, dscTitle, dscMessage, dscDetails, datStart, datEnd)
VALUES
(8, 2, 1, NULL, NULL, 'Example Title', 'Example message body in the notification', 'Example of details', GETUTCDATE(), GETUTCDATE())
We will also need to insert a record into the REP_NOTIFICATION_USER
table, for example:
INSERT INTO REP_NOTIFICATION_USER (codNotification, codUser)
SELECT TOP 1 codNotification AS codNotification, 1 AS codUser FROM REP_NOTIFICATION ORDER BY codNotification DESC
Whenever we create a custom notification, we must first perform the INSERT into the
REP_NOTIFICATION
table to obtain the notification code that will be used in the INSERT of theREP_NOTIFICATION_USER
table.
The user will be notified only once; once the notification is read by the user, it will not be shown again.
To trigger the notification, we use the following API: .../API/Notification/Notify?notificationCode=****, where **** should be replaced with the notification code previously created.
The notification will only be triggered for the users defined in the REP_NOTIFICATION_USER
INSERT who are logged in at the moment the API is called. If no defined user is logged in at that moment, the notification will not be delivered until one of the specified users logs in to T6.
The custom notification will be displayed as follows:
By clicking on the notification, more detailed information will be displayed, showing the user who triggered the notification, the start date, and the end date: