REQUEST A DEMO

Tag: customization

An RSS feed for Dovetail Recent Knowledgebase Articles, courtesy of Dapper and Yahoo Pipes

December 19, 2007 We publish our knowledgebase articles online: http://www.dovetailsoftware.com/resources/knowledgeBase.aspx. We use the Dovetail SDK to query the solutions in our Clarify/Dovetail database and build the HTML pages.In addition, we have a page that lists the latest 20 articles: http://support.dovetailsoftware.com/selfservice/solutions/recentThis is nice, but it means that one would have to visit the web page to see any new articles.I would like to be notified when new articles are added. Between email spam and Microsoft Outlook, my faith in (and enjoyment of) email is dwindling on a daily basis. But my love of RSS feeds and Google Reader continues to grow. So, how can I get new KB articles pushed to me by RSS?One way would be to go back to our dev team and have them add an RSS feed for that page. Could be done. Not too hard. But that would take…

Hierarchical drop-downs in Dovetail Agent

December 10, 2007 Many customers use hierarchical (multi-level) drop-down lists in their Clarify/Dovetail implementations. So, when one level of a select list changes, the down-level lists change as well. Clarify allows up 5 levels for a list. As an example, in baseline Clarify, there's a list titled CR_DESC that is a three level list for CPU, Operating System, and Memory. When I change the CPU from PC to Sun, the operating system and memory lists need to change as well. Default values show: Changing the CPU to "SUN" changes the O/S and Memory lists: In a client/server app, this is pretty easy to do, as the onchange event of one list can simply update the down-level lists, either by making a call back to the server, or by accessing data that has been cached on the client machine. In a web application, this…

Automatic Subcase Creation

November 14, 2007 While working with a customer this week, they asked about automatic subcase creation, similar to Clarify's Task Manager module.   For example, if a new case of type "New Employee" is created, then I want to automatically create 3 subcases: One subcase for setting up network accounts, dispatched to the network queue One subcase for ordering office furniture, dispatched to the furniture queue One subcase for ordering a new computer, dispatched to the hardware queue   This is easily accomplished with a business rule and a simple script. The script   A simple PowerShell script (my favorite new scripting environment) which takes 1 input parameter (a case id number), and then calls the CreateSubcase API that is part of the Dovetail SDK to create subcases and dispatch them to the appropriate queue.   $connectionString = "Data Source=moorea;Initial Catalog=dovetail;uid=gary;pwd=not4youris"; $databaseType =…

Firing Business Rules based on the business hours of a queue

November 6, 2007 One of our customers posed an interesting problem to me this week. They have offices in different locations, in different time zones, with different business hours. The employees in these offices work on different hours from one another, meaning that while one group is working, another group is not working, and vice-versa. The issue comes in when one group dispatches a case to a queue to be worked by the other group. More specifically, the issue is when the queue members should get notified by RuleManager. If the queue members are off-hours, then they should get notified as soon as their next work day starts. Seems like it should be straight-forward. Let's give it a go. First Try Let's create a specific test example to illustrate the notification process. I created two sites, the Texas Support Center (in CST), and…

Using modern JavaScript libraries to create a better user experience in fcClient

September 26, 2007 Over the last couple of years, a number of very useful JavaScript libraries and frameworks have been introduced that make it tremendously easier to build rich web applications. A few of the more popular ones: PrototypeScript.aculo.usMooTools These frameworks allow developers to easily write very rich, cross-browser web applications. I've heard about these libraries for some time, and have experienced many great web apps that use these libraries. So I asked myself whether I could use these modern libraries with fcClient. The answer is a resounding Yes! A simple example: Modify the Save/Discard/Cancel page in order to improve the user experience. How it used to work If a page was "dirty", meaning that data on that page had changed, and the user attempts to dismiss the page (such as by clicking the Done button), then a Save/Discard/Cancel window is posted, which is a new…

SLA Monitoring

August 31, 2007 One of the common tasks for a support/call center manager is making sure the team is living up to its service level agreements (SLAs). Pretty much every customer I've ever dealt with has different SLAs. As you can imagine, there's a zillion ways for companies to setup and track their SLAs.   Example SLAs:   All cases must be responded to within 2 business hours All Urgent priority cases must be responded to within 1 hour regardless of business hours All cases must be responded to within the phone response time as stated on the contract All cases must be closed within 5 days. All subcases of type "Hardware Upgrade" must have a technician onsite within 36 hours. All new cases for a Gold level customer must get a call back from a senior tech within 1 hour. An initial response…

Modifying a case you don't own

July 13, 2007 Clarify employs a strict ownership paradigm with its application, meaning that only the owner of a workflow object can make a critical change to it. This ownership paradigm was baked into the product, and difficult to modify. For example, anyone can add notes to a case, but only the owner can change the status. What's a critical change? Let's take case as the object in question, and see what Clarify considers critical. Critical changes: Change any attributes of the case (title, priority, severity, etc.) Change the status Perform a workflow action (Assign, Dispatch) Close the Case Change the contact, product, or contract for the case Relate the case to a solution Non-Critical changes: Log Notes Log Email Log Phone Call Log Research However, organizations don't always want to follow these imposed rules. For example, it's not that uncommon to have a…

Having RuleManager invoke command line scripts

June 26, 2007 I've received a few questions on this recently, so I decided a post is in order.   One of the features in Rulemanager (both the Clarify/Amdocs Rulemanager and the Dovetail Rulemanager) is the ability to have it invoke command line scripts/executables via a business rule action.   For example:   if a case has been in a status of "waiting on customer" for more than 30 days, run a script that will close the case when a new contact is created, run a script that will send the contact data to another system (such as an ERP system) when a case is closed, run a script that will send the customer a satisfaction survey etc.   What kind of scripts can Rulemanager run? Basically, any kind of script or executable, as long as no UI activity or user input is needed.  …

Using the Tab control in Dovetail web applications (such as fcClient and fcAdmin)

June 12, 2007 We use a client-side JavaScript object for creating tabs in our web applications. Unlike in the Clarify Classic Client, tabs in our web apps are the same page as the parent. When you click on a tab, you are actually displaying the HTML elements on that tab, and hiding the HTML elements on the other unselected tabs. It's all a bunch of Dynamic HTML (DHTML) goodness.  It's trivial to make tabs visible/invisible, reorder tabs, resize, etc. The case page in fcClient is a good example of the use of tabs:   Here we will walk through the steps needed for creating and using tabs within a page. In your ASP page, Include the javascript code for building a tab <script language="javascript" src="../code/tab_builder.js"></script> In your ASP page, Include the stylesheet <link rel="stylesheet" href="../stylesheets/webagent.css" type="text/css"> Create an array of tabs var ArrayOfTabs= new Array(); Add…