Gary Sherman
Gary Sherman

Gary Sherman

Chief Technology Officer, Vice President of Products
About :
Subscribe to Gary Sherman's RSS feed and never miss a post.

Posts by Gary Sherman:

Gary Sherman
March 30, 2015

Our Dovetail Agent and Dovetail SelfService products are both very JavaScript-heavy applications. And we have quite a suite of automated tests we run as part of our development process.

Barrett Sonntag (one of our developers here at Dovetail) has written a nice post that details Unit Testing a JavaScript app using RequireJS with Mocha, PhantomJS, Chai & SinonJS.

Unit testing is something every developer agrees should be done, but often doesn’t do. Setting it up isn’t hard after reading and evaluating what feels like a 7 course meal of modules that need to come together hand in hand to allow you to write some tests. It is fairly easy after you’ve learned more than you ever wanted to know about unit testing. Not easy at all, so I’m going to distill a stack down here

Gary Sherman
March 27, 2015

As part of helping customers move from the Clarify Classic Client to Dovetail Agent, we often assist in porting their customization from Clarify forms and ClearBasic code into Dovetail Agent code (HTML, C#, CSS, JavaScript).

It’s easy to fall into the thinking that we want our customizations within Dovetail Agent to look and behave the same exactly as how they are within the Clarify Client. While there are advantages to this (familiar app, less training, etc.), I think it’s worthwhile to revisit your customizations and take the opportunity to improve them where it makes sense.

Within Clarify, there are some constraints that often cause customizations to have to be done a certain way. Within a web application like Dovetail Agent, we also have some constraints, but they’re not typically the same constraints that we had with the old

Gary Sherman
March 24, 2015

Last year, we released our Dovetail Agent Reporting module. Dovetail Agent Reporting is a full-featured web-based reporting module for Dovetail Agent that allows non-technical end users to create and edit reports and dashboards without IT support.

A set of sample reports and dashboards are included. Because every business is different, it is expected that each customer will create their own reports and dashboards that are specific to their business needs.

Here’s a quick visual walkthrough of the reporting module.

Dovetail Agent

From within Dovetail Agent, click the Reports link to access the reporting module. A user must have the reporting privilege to see this link.




Reporting home page, with links for creating a new report, accessing the admin console, online

Gary Sherman
March 3, 2015

I’ve written recently about how we’re using Markdown for rich text on our solutions.  Under the hood, we’re using the Remarkable library.

Barrett Sonntag, one of our developers here at Dovetail, has written an excellent post on writing custom extensions for the Remarkable JavaScript Markdown parser.

He includes details on extending the parser to add images to a lightbox – which we use in Dovetail Agent and in Dovetail SelfService.

As he says:

There were no clear examples on how to create new plugins or extensions for Remarkable though. So having worked on creating some and having a measure of success it is time to share the knowledge.

I love seeing our knowledge being shared – through blogs, solutions, code samples, etc.

Great stuff Barrett!

Gary Sherman
February 24, 2015

I received an email today from IT Toolbox:

Based on recent member feedback, the following groups will be deactivated:
You are currently a member of one or more of these groups. You can ask or reply to new threads in CRM – General Discussions.

I’m definitely saddened by this – I’ve shared a lot of information there, and learned a lot as well.  We’ll see how the Clarify community takes to the CRM – General Discussions list instead.

I’m guessing that it’s due to the lack of activity on the Clarify list. Looking at the number of messages per month, the decline is pretty obvious.


Quite the decline from its heyday in the early 2000s.

My first

Gary Sherman

Throughout our application, we use “pickers” for selecting items.

For example, we use a picker for queues when dispatching a case:


a picker for contacts when creating a case:


and a picker for the installed part on a case:


For a small list of items (lets say < 100), such as a list of queues, we’ll just show the user all of the available items straight-away. The user can scroll to see them all, or start typing and the list will be filtered in place.

When there are a large number of items, such

Gary Sherman
February 17, 2015

Last spring I posted about some of the enhancements we’ve made to the case history in Dovetail Agent.

Over the last few releases, we’ve also made more improvements that we think make it even better. 


File attachments that are images are now shown inline. They’re constrained to a maximum size, to maintain readability. Clicking on an image opens it in a lightbox, and in a larger format when necessary.




In my previous post, I mentioned that we displayed the case history in reverse chronological order – with the newest entries at the top, similar to many current social apps (facebook, twitter, etc.).

Based on customer feedback, we added an additional option here. Users can now choose the order – either

Gary Sherman
February 12, 2015

One of the common complaints with knowledgebase articles (solutions) in Clarify was the fact that they are plain text – even on the web.

We’ve recently enhanced solutions so that they are much more robust and useful.

Solutions can now contain rich text, images, and videos.


This functionality is supported within Dovetail Agent and in Dovetail SelfService.

Dovetail Agent:


Dovetail SelfService:



Here’s a few examples of solutions from our knowledgebase: Rich Text

Solutions now support rich text, including:

Headers (heading 1 –> heading 6) Italic Bold Superscript Subscript Highlighted text Strikethrough Unordered Lists Ordered Lists HTML

Gary Sherman
February 5, 2015

One of the newer features in Dovetail Agent is broadcasts. A broadcast is used to communicate a message to all users.

Broadcasts appear in the user’s notification drawer – along with Notifier messages (such as from business rules).


Notice the megaphone icon which helps identify it as a broadcast.


What are a few examples of where you might use broadcasts?

The system will be going down tonight at 5:00 PM for maintenance. If a customer calls about the special holiday promotion, here’s what you need to know. This app has been updated to a new version. Outgoing shipments will be delayed because of the snow storm. Or whatever other message you want to send to your users. Properties

Broadcast messages

Gary Sherman
February 2, 2015

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.


Notify Server

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

← Older posts |

International: +1 (512) 610-5400
Toll Free: 1 (800) 684-2055