REQUEST A DEMO

Blog

Producing and Consuming Messages using MassTransit and StructureMap

August 26, 2009 I am spiking out right now what it takes to use a Mass Transit as a message bus for handling a simple producer consumer messaging architecture. To be exact I want to see how easy it is to get Mass Transit working using StructureMap for an IoC container. Dovetail uses Inversion of Control extensively to make our code more: testable and able to leap tall buildings, dodge bullets, and all that. Our favorite IoC container is StructureMap. Why? Because it is great and we have two contributors on staff: creator Jeremy Miller and the brainy Josh Flanagan. Getting Started My first step was to grab the Mass Transit trunk from SVN, build it and start up a new solution with three projects: Producer – produces messages. Consumer – consumers messages. Common – code shared between producer and consumer. In this…

Using jQuery to Sort a List

August 25, 2009 I needed to add a new feature today, and wanted an easy client-side solution. Since I use jQuery in the project already, I searched and found a good starting point in a blog post by Bill Richards.   The code I found adds a function and a sort handler that can be applied to a list.   jQuery.fn.sort = function() {     return this.pushStack( [].sort.apply( this, arguments ), []); }; function sortAlpha(a,b){     return a.innerHTML > b.innerHTML ? 1 : -1; };     Here is a simple example of the HTML I am working with:   <ul id="caseListing"> <li> <div id="1"> <a href="/Cases/Show/1">Case 1</a>: need help with VPN connection </div> </li> <li> <div id="3"> <a href="/Cases/Show/3">Case 3</a>: blue screen of death upon login </div> </li> <li> <div id="6"> <a href="/Cases/Show/6">Case 6</a>: Computer has no power </div> </li> </ul>    …

I love jQuery like this:

I love jQuery like this: $(".question").click(function(){ $(this).next(".answer").toggle(); }); When you click on a question, show the next answer. When you click on the question again, hide the answer. And my markup stays clean: <p class="question">Does this cost anything?</p> <p class="answer">No, bodybuggTweet is absolutely free.</p> That pleases me.

Hiding Empty Queues in Dovetail Agent

August 3, 2009 I was recently at a customer site, and while sitting down with one of their agents, noticed that this agent belonged to over 100 queues. Because of this, the left column of the console within DovetailAgent, which shows all of the queues, had a scrollbar that seemed to scroll forever. One of the features I like about Dovetail Mobile is that it only shows the queues that have stuff in them. I immediately said: why don't we do a similar thing within DovetailAgent? And because we have more screen real estate to work with on a desktop (as opposed to the limited screen real estate on a mobile device), I thought about allowing the empty queues to be toggled on and off. Easy enough to do. Here's what I ended up with. (I'm showing the end result with pictures first,…

Manually removing a view from the Clarify schema

July 31, 2009 I had one of the views in my database end up in a really bad state recently, so I had to manually drop the view. This is mostly a post so I have it as a reference should I need to do this again in the future. Google search FTW. SQL statements to manually remove a view (on MSSQL) Here I'm removing table_fc_user_case_view with id of 4650 delete FROM adp_view_field_info  WHERE view_type_id = 4650 delete  FROM adp_sch_info  WHERE type_id = 4650 delete  FROM adp_view_join_info  WHERE view_type_id = 4650 delete  FROM adp_tbl_name_map WHERE type_id = 4650 drop view table_fc_user_case_view

Mobile Case Creation

July 30, 2009 One of the most requested features we get for Dovetail Mobile Agent is the ability to create cases. Request no more. Wait no longer. Well, maybe just a bit longer. I just finished an update that adds mobile create case functionality. We are going to use it internally for awhile before shipping it. If you want to take it for a test drive send me an email. Here is a sneak peek for everyone. Finding the correct customer Technically this screen was the most difficult to pull off. Finding a customer is typically the first thing you do when creating a case. In this situation it tells us two very important things: who is the contact for the case and what site are they are working at. Looking at the image above I see room for improvement. See this is…

Dovetail Seeker 1.2 Released

July 21, 2009 If you are not a Dovetail customer be prepared for a boring post. If you are a fan or our search product. Be prepared to be rocked! My last couple of posts have been talking about the cool stuff coming out in the next version of Dovetail Seeker? Well, the next version of Dovetail Seeker is here. I hope you enjoy it. I’d love to know how you are using Seeker in your organization below or if you prefer off-line. What’s new in version 1.2 Important Changes Dovetail Seeker now requires version 3.5 SP1 of the .Net framework. Seek.exe has been renamed to SeekerConsole.exe Application settings are now located in the install directory within the applicationSettings.config file. New Features Dovetail Seeker now includes a Windows service for keeping your search index up to date. For more information see Seeker Windows…

Dovetail Seeker update part deux

July 14, 2009 Yesterday I added a feature that will be in the next release of Dovetail Seeker.Executive Summary: Coming soon, support for indexing against Clarify views.Didn’t it support that already?Well.. No. I was working on a feature for Mobile Agent that I wanted to use some cool search techniques to facilitate and found out a view would work better. When I tried to do just that the indexer exploded with nasty unfriendly errors. What is a developer to do but stop everything and add a feature.Does this great power come with any great responsibilities?Yes. Paths traversing relationships are not allowed when indexing views. What is a path? Well, paths are basically instructions telling the indexer how to find the piece of data you want in the index. Against tables paths can include relations which are not possible for views. This means you…

Dovetail Seeker Update

July 9, 2009 We will soon be releasing a new version of Dovetail Seeker our information retrieval tool for Dovetail/Clarify CRM. The big news in this release is that Seeker now includes a windows service for keeping your indexes in-sync with your database in near real-time. This release also adds the ability to wipe and re-index your search indexes after database purges. Previous Seeker Posts Seeker Introduced Previous Release Post Creating your own Seeker Client Real-Time Indexing Driver Gary and I have been thinking about different scenarios where Seeker could be used. One of them was to use search to replace how users find different types of data. I’ll leave diving into that scenario in more detail to Gary. Think Find Caller using a single search box. One of the requirements that came up was that the search index would need to in-sync…