REQUEST A DEMO

Blog

IIS Configuration and Permissions for remote file attachments

September 1, 2010 While setting up some advanced capabilities of DovetailAgent, we ran into some IIS/Windows permission issues. This post is to capture and share some of the learnings.   To start with, Kevin Miller has a good post on installing Classic ASP web application on IIS7.   The “advanced” capabilities I’m referring to was setting up file attachment uploads, and saving those files off to a permanent file storage area, accessed by a UNC drive such as \\fileServer\attachments   Environment: Windows Server 2008, Dovetail Agent 4.3 File Uploads   The way file uploads work is that the file is first uploaded to the web server where DovetailAgent is running. Then, the application moves the file to the permanent storage location, which is commonly a share on a different server. The application also creates directories and subdirectories where needed. So if your base attachment directory is\\fileServer\attachments,…

Dovetail is looking for a .NET Technical Lead

August 30, 2010 We're looking for a proven .NET technical lead for one of our product lines. You'll be working on a small team that develops applications for large businesses using some of the latest technology. You will work closely with the VP of Products, and will be involved in all aspects of solution development, including analysis, design, development, testing, documentation, and support. Expectations include software design, system architecture, process improvement mentor to other team members technical leader on product architecture and quality validate complete product and system testing partnering with other team members to share learnings, create and educate on best practices, and improve the overall efficiency and productivity of the development organization Participation in the community (blogger, attendance of events, avid blog reader + commenter, etc.) will put you firmly in the running for this position. We’re looking for people that…

Initial Response

August 26, 2010 When working cases in Clarify / Dovetail, an option available to agents is Initial Response. Initial Response allows an agent to mark that the initial response to a customer has occurred.   True to its name, an Initial Response can only occur once in the history of a case.   This Initial Response operation can be performed on either the Log Phone call or Log Email forms. Initial Response button in the User Interfaces   Phone Log form in the Clarify Classic Client:     Email Log form in the Clarify Classic Client:     Phone Log form in DovetailAgent:     Email Log form in DovetailAgent:   Activity Log   When the Initial Response action occurs, it is logged to the case activity log:   Time Bomb   When the Initial Response action occurs, a time bomb is created. Once we…

Segregating your data using Data Restriction

August 23, 2010 The Dovetail SDK (fcSDK) includes Data Restriction Technology.Data Restriction allows you to segregate your Clarify/Dovetail database so that different sets of users can use the same forms (and customizations), yet see different sets of data from the database. This can include any items such as cases, sites, contacts, parts, etc.   For example, suppose you have two different groups that support different product lines. You might set up Data Restriction so that the users in group 1 can only see group 1's sites, contacts, solutions, cases, and parts. Likewise, group 2 would only see their data. The user’s do not even know that they are not seeing all of the data from the database. Data Restriction based on Geography   A common data restriction setup is to segregate data via geography. For example, users in Europe may only see data (cases, contacts, sites,…

Closing (and reopening) a solution

August 18, 2010 A not-so-uncommon request I’ve heard over the years is the need to be able to close a solution. You can close a case, close an action item, close an opportunity – but you can’t close a solution in the out-of-the-box product. But this is a pretty easy customization – so lets walk through it. Why close a solution?   Knowledge can become outdated. But we may want to retain that knowledge, especially when we’ve linked these solutions to cases or change requests. By closing it, we can mark it as no longer relevant, and closing will also remove it from a user’s wipbin and all queues. Status and Condition   Most workflow objects have a status and a condition. We can use a similar mechanism here. We’ll use the Open and Closed Conditions (same as for a case). I create a…

Linking Solutions / Cases / Change Requests

August 17, 2010 One of the features available within a Clarify / Dovetail system is the ability to “link” cases to solutions.   What this essentially means is that we’ve noted the particular solution that solved the case at hand. For example, if we have a case titled “How do I configure VPN on Windows 7?”, and we have a solution that answers this question, then we can link the case to that solution. In database terms, it simply means we’ve related or joined the case to the solution.   Well, technically, a solution can has one (problem) description and can have many workarounds, so we’re actually relating the case to one of the workarounds, but don’t worry about that for now. Just think of relating the case to the solution.   Obviously, having re-useable knowledge is beneficial to an organization. We can…

How To Setup hMailServer To Use a SSL Certificate

  I am adding IMAP support to one of our products. Likely more that one person out there a needed to do this, so enjoy. I’ll take you from creating an SSL certificate to configuring hMailServer to work with both secure and regular connections to testing your setup.   Creating a Self Signed SSL Certificate   First things first you’ll need to download OpenSSL. I downloaded the 64bit 1.0 light version which required Visual C++ 2008 Redistributables (x64) to be installed first. I told the installer to put OpenSSL in my c:utilites folder.   Create a Key   Next up you’ll need to create a key. I recommend you replace <host> with your machine name.   >openssl genrsa -out <host>.key 1024   Certificate Request   Now you need to create a certificate request. This is the file you normally send…

How To Configure Log4J via C#

August 12, 2010 One of our products is currently using IKVM to interop with a java library. I kept seeing console warnings saying: log4j:WARN Please initialize the log4j system properly.   Clearly the java library uses log4j and it is not getting initialized by my application. A customer was rightfully confused by this message so I spent a little time getting log4j setup and working.   At first I was hoping I could host log4j configuration XML along side my log4net configuration but sadly that was a pipedream. I opted for this approach.   public const string Log4JConfigFileName = "log4j.config"; private static void ConfigureLog4J() {     if(File.Exists(Log4JConfigFileName))     {         PropertyConfigurator.configureAndWatch(Log4JConfigFileName);         return;     }     var patternLayout = new PatternLayout("%d [%t] %-5p %c - %m%n");     var consoleAppender = new ConsoleAppender(patternLayout);     var fileAppender = new RollingFileAppender(patternLayout, "./logs/file-extraction-errors.log", true);     fileAppender.setMaxFileSize("1MB");     fileAppender.setMaxBackupIndex(5);              var rootLogger = Logger.getRootLogger();     rootLogger.setLevel(Level.ERROR);     rootLogger.addAppender(fileAppender);     rootLogger.addAppender(consoleAppender); }   Look for…

Seeker Indexer Architecture Changes

August 6, 2010 Great changes are happening with our Dovetail Seeker search product. I wanted to talk about a core change to the product. By moving our application architecture to use messaging we are seeing increased flexibility, testability and performance. Why Messaging? Based on our experience building Dovetail Carrier (pdf), our messaging oriented enterprise integration solution, we decided messaging was a great fit for Seeker’s search indexing windows service. We decomposed the indexer’s behaviors into work (message) producers and consumers. For example to keep your database in-sync with the search index we have a service which watches the database for changes to the objects Seeker is indexing. When a database item is added or updated a message is created which gets put onto a work queue. We have many message consumer threads standing by waiting for work to munch on. Our message consumers…

Customizing the columns in Dovetail Agent console

August 3, 2010 One of the common customization in Dovetail Agent is changing the columns that are shown in the console. Columns are typically added, removed, or reordered, depending on the business requirements and workflow of a company. In Dovetail Agent 4.3, the columns can be sorted dynamically by each user, and changes have been made to improve performance of the console by returning pages of records instead of all the records in a queue or wipbin. In Dovetail Agent 4.4 the process of getting the data has been improved, but is very similar in how the code is customized. Since customizing the columns is a common task during implementation of Dovetail Agent, going through the process here as a reference should help future endeavors. There are three pages that need to be changed to customize the columns in the console: console/getConsoleRecords.asp console/getConsoleRecordToRefresh.asp…