REQUEST A DEMO

Author: Gary Sherman

Chief Technology Officer, Vice President of Products

Posts by Gary Sherman:

Encode URLs with ClearBasic

June 23, 2008 At Dovetail one of the things we sell is Clarify Helpdesk support. This means that customers having problems with Clarify Client can get support when they run into issues. We had an interesting case recently that I thought would be good to share with the community.   Under the hood Clarify Client uses a variant of Visual Basic called ClearBasic which makes the behavior of their windows application customizable via scriptability. Using ClearBasic, Clarify developers can modify the script used behind any of the forms in the Clarify Client application. We have a customer that is integrating one of their Clarify Client forms with another enterprise application using HTTP GET Requests. They ran into a problem with GET requests getting truncated when special characters were present in the request URL. When constructing HTTP GET requests parameters you should UrlEncode the value of each parameter.…

Support by Group Chat

June 9, 2008 One of the more interesting ideas I've seen kicking around the blogosphere is support by group chat. We use Campfire here at Dovetail as a group chat application, and we love it. It allows all of us to share information, even when we may be in different cities, and working different schedules. The chat history is saved, so its easy to catch up on past conversations. Campfire also allows us to easily upload and share files and screen shots. Overall, its been a great addition to our team's communication. (On a related note - we've shown examples in the past about sending Rulemanager notifications to Campfire here and here.) I like the idea of allowing customers to jump in and join the Campfire conversation. Probably have a room specific for this purpose. Not only would it allow interactions between agents…

Subscribe by email

May 28, 2008 Those that know me are well aware that I'm a big fan of RSS feeds. But, I do realize that not everyone has yet jumped onto the RSS bandwagon. So if you'd like to subscribe to my blog by email, you now can. Simply click the Subscribe by Email link, and you'll get updates delivered right to your Inbox.   How about giving RSS a try? Confused about RSS? No worries. The folks over at Common Craft have put together a simple video explaining RSS in plain English. Check it out:   If the embedded video doesn't load, this is the direct link to the video.   Let your Feed Reader bring updates to you I use Google Reader for reading feeds. It's easy to use, web-based, and free! And when I find interesting articles in Google Reader, I share…

Austin Code Camp Recap

May 19, 2008 I spent Saturday with friends, co-workers, Twitter peeps, and assorted geeks at the third annual Austin Code Camp. I've been all three years, and I enjoyed this one the most. There was over 200 attendees, which was a great turnout. There was a lot of great sessions. It was also cool that a bunch of people made the drive in from Fort Worth, San Antonio, and Houston. The sessions I attended: Agile in the Enterprise Coding for Stupid Users (which was really a session on User Experience Design) Taming the Legacy Code Beast Introduction to jQuery Fishbowl talk on TDD & BDD Advanced CSS & JavaScript Of course, not only was it great to attend the sessions, but getting a chance to meet and converse with lots of cool, smart people in-between sessions and after the camp tends to be…

Web Developers: Make sure you're displaying script errors

May 14, 2008 By default, Internet Explorer doesn't display script errors. Most of the time this is fine, but when developing web applications, you want to be aware of any script errors. For example, lets say you have this line of JavaScript: var foo = document.getElementByid('bar').value; Notice that the "i" in getElementByid is lowercase, which isn't valid. By default, IE won't display an error. The only indication that an error occurred will be an icon in the status bar (if you even have the status bar displayed, which you may not): Double-clicking the icon will give you more details: When I'm developing web apps, I want to know when there's an error, so I configure IE to always display errors. IE - Tools - Internet Options - Advanced Tab Make sure the Display a notification about every script error option is checked. In…

Fun, fun, fun with ADO and Unicode characters

May 9, 2008 We recently ran into an issue with ADO rendering Unicode characters. To be honest, we're doing some pretty weird stuff inside the fcSDK. We're performing database queries using ADO.NET, and then we take the DataRow and convert it into an ADO Recordset, which we return to our COM based applications. We're using ADO recordsets to maintain compatibility with previous objects that were written in VB6 that returned ADO recordsets. When we were populating the ADO recordset, if the data was basic, standard English characters, then all works perfect. ADO recordsets with Unicode data But if the data contained Unicode characters (such as じゃらん), then we would get the ever-so-helpful error: Multiple-step operation generated errors. Check each status value. Basically, this is ADO throwing up its hands in failure. The issue came down to the fact that when we were building…

Notify the case owner when someone else logs a note to their case

May 7, 2008 In a previous post, we learned how to use a variable on either side of a business rule condition. Now, we'll create a business rule that uses this type of condition.User StoryWe'll start with a story:As a case owner, I want to be notified when someone else logs a note to my case, so that I can be kept informed of any activity on my cases.The business ruleHere's the business rule which satisfies the user story.Object Type: Case Rule Name/Description: Notify the owner when someone else logs a note to their case Start Events: Log Note Cancel Events: None Conditions: Logger != [Current Owner] Action Title: Notify  Owner Who to Notify: [Current Owner] Start Action: 0 minutes From: Event Creation Using: Elapsed Time Repeat : Never Message:RE: A note was logged to [Object Type] [Object ID] by [Logger]A note was…

Using variables on both sides of a business rule condition

Most people know that you can use a variable on the left side of a business rule condition, such as:Case Type = New EmployeeThe left side of the condition, "Case Type", is actually a business rule property that gets evaluated at runtime.The right side of the condition, "New Employee", is a string constant.Here's what it looks like in DovetailAdmin:and similarly in the Clarify Classic Client:Using variables on both sidesWe can also use a business property on the right side of the condition as well. Simply type in the exact business rule property, and surround it in square brackets.For example:Logger != [Current Owner]Here's what it looks like in DovetailAdmin: and similarly in the Clarify Classic Client:Next up - an example of a rule that uses this type of condition....

Pretty Dates in JavaScript

May 5, 2008 A common way of expressing dates nowadays is to represent them as an approximate age.For example, rather than saying something happened at 5/5/2008 4:21:01 PM, we can say it happened one minute ago.I wanted to use this in DovetailAgent to show the age of the Search indexes. A little Googling brought me to John Resig's implementation of prettyDate() in JavaScript.I tried it out, it was OK.Looking through the comments on John's post, I saw that Dean Landolt posted an updated function that I liked better.I tried it, but it still had a few issues.Finally, Zach Letterman commented that he updated Dean's script, and posted a newer version.Success! Exactly what I was looking for.Now when I see my search results, I can also see how current my search data is, in an easy to consume format, without having to do any…

Having Rulemanager send SMS notifications via Twitter

Kevin had an earlier post discussing how Rulemanager could fire a script that would notify all queue members via Twitter when a case is dispatched to a queue. The script took the queue name as an input, queried the database for the queue members, and then sent a direct Twitter message to each queue member.I liked what he did, and wanted to see if we could take it a step further, and make it more in line with Rulemanager notifications.Making Twitter a first class Notification methodRuleManager already knows how to resolve queue members into individual users, and it knows how to resolve a notification preference of each user, depending on whether the user is on or off work hours, and also based on the urgency of the message.Years ago, many people carried digital pagers, which allowed text messages to be…