Notifications in Dovetail Agent
When a business rule fires, most of the time the result is a notification to one or more users. There’s a few common ways a user can get notified – email, pager, sms/text messages, and the “notifier”.
Notifier means that the user gets a notification within the application itself.
In the Clarify Classic Client, there is a Notifier form (Desktop – Notifier) where messages are displayed.
On the back end, Clarify uses a Notifier service/daemon, commonly referred to as the Notify Server. The Clarify Client communicates with the Notifier service using a Windows socket connection.
This is notoriously buggy. It wouldn’t always connect, the connection would drop, messages would get lost, etc. Often, the Notifier service would think it delivered a message to the client, and then delete the message from the database. If it didn’t actually get delivered, then that message would be lost. Or if the user wasn’t logged on at the moment, the message would just get deleted.
Here’s part of a Notifier log showing this scenario:
1/27/2015 08:29:10.752 Info Verbose 133c 2 Polling database for messages…
1/27/2015 08:29:10.752 Info Verbose 133c 2 done. Message count: 1
1/27/2015 08:29:10.752 Info Verbose 133c 2 Deleting message 268436020, annie is not logged on.
The user annie isn’t logged on at this exact moment, so the message just gets deleted. That’s pretty craptastic.
In Dovetail Agent, we’ve kept the Notifier functionality, but without the Notifier service and all its bugginess.
If you’re using Dovetail Agent rather than the Clarify Client, then you don’t need the Notify Server process at all.
Dovetail Agent simply polls for new messages from table_message, and displays them to the user.
Like most consumer applications – the notification indicator is up in the upper right of the page header – in a familiar location where users would expect it to be.
The number shown is the number of unread messages.
Clicking the the Notification Count indicator opens the Notification drawer:
This works like notifications in other common applications that we use on a daily basis – including our consumer applications, such as facebook, LinkedIn, Pinterest, etc.
It works as users would naturally expect it to.
We don’t delete the message until the user says to delete it.
We allow the user to mark a message as read, but not delete it.
For convenience, we have a Mark all as read, and Delete all messages options.
Notice that in the message shown in the image above, we include a link to the case itself. This allows a user to simply click a link in the message and be taken directly to that case.
This hyperlink is part of the business rule message itself, and is very useful regardless of your notification preference – notifier, email, or text message – from anywhere you can simply click that link and be taken to the relevant workflow object (case, subcase, solution, etc.).
We’ve kept the same notification preference options as Classic Clarify, as this provides some nice granular preferences, and allows things to continue to work with your existing business rules and whatever Rulemanager you’re using – Clarify Rulemanager or Dovetail Rulemanager.
For example, during work hours, I may want notifications to be delivered within the app (Notifier). But after hours urgent messages should be delivered to my phone via SMS.
We’ve kept the core Notifier-style functionality, changed up the architecture, and enhanced it so that it works like users would expect it to.