REQUEST A DEMO

Blog

Using Log4Net in PowerShell

September 23, 2009 I was writing some PowerShell this week, and wanted to do some logging.   I’ve blogged in the past about configuring log4net with the fcSDK within Powershell.   However, this method relied on the log4net handling within our SDK. What if I wanted to log before I got to the SDK initialization?   Kevin shared some of his log4net fu, and I put it into Powershell. Configure Logging   Here’s what I came up with:   function configure-logging() { [system.reflection.assembly]::LoadWithPartialName("log4net") > $null; $LogManager = [log4net.LogManager] $global:logger = $LogManager::GetLogger("PowerShell"); if ( (test-path $appSettings["logConfigFilePath"]) -eq $false) { $message = "WARNING: logging config file not found: " +  $appSettings["logConfigFilePath"] write-host write-host $message -foregroundcolor yellow write-host } else { $configFile = new-object System.IO.FileInfo( $appSettings["logConfigFilePath"] ); $xmlConfigurator = [log4net.Config.XmlConfigurator]::ConfigureAndWatch($configFile); } }   Notice that the logging config file is coming from $appSettings. I blogged about this earlier. Logging Config File…

Saving Searches in Dovetail applications

September 21, 2009 Saving Searches in Dovetail AgentOne of the things under development for the next version of Dovetail Agent is the ability to save your favorite searches.Here’s a screenshot:So you can now save your searches, and easily execute them again at anytime.You can also name a search. By default, the name of the search will be the search terms. But you can rename it to whatever you want. For example, as opposed to a search being named: “squeaking washer condition:open casetype:problem” You may choose to rename it as “open cases for squeaky washer”Look for this functionality in the next release of Dovetail Agent.Saving Searches in Dovetail Mobile Agent and Agent LiteCurrently, we don’t have Saved Searches in Dovetail Mobile Agent or Agent Lite. This is on the enhancement list for the future.But, you can easily save a search today by simply using…

Migrating a case from Clarify into a Zendesk ticket

I recently received a request asking how to migrate some data (specifically, cases) from Clarify into Zendesk. Seems the company is in the process of turning off Clarify and rolling out Zendesk.   It’s all about the APIs   We provide a full set of APIs for Clarify within our Dovetail SDK, and Zendesk also provides a set of APIs. So we just need to put them together. PowerShell   I’ve been using PowerShell more and more lately, so I decided to use that as my environment. And because Powershell gives me full access to the .NET framework, I can use classes such as System.Net.WebClient, which makes it easy for me to call the Zendesk REST APIs. Login to Clarify   In a previous post, I showed how to use some common functions in PowerShell for logging into a Clarify database.   . .\DovetailCommonFunctions.ps1 $ClarifyApplication = create-clarify-application;…

How do I know what ID to use for a new table or view?

September 18, 2009 When creating a new table or view in Clarify/Amdocs/Dovetail, a unique ID number must be supplied.How do I know what ID to use?Clarify has defined a range of numbers that are reserved for custom tables and views. They guarantee that they will not use any numbers in this range. So, you need to use a number in this range.There are two ranges reserves for custom IDs: 430-571 and 2000-4999. The rest are reserved for Clarify baseline use.So, you simply need to pick a number in that range that hasn’t yet been used.How do I know what numbers have already been used?The most common method is to export your schema, pick a number, and search your schema to see if its in use. If it is, pick another number, search again. Repeat until you find an available number.A better waySince our…

Developer Walkthrough – Workflow Event Handling

September 17, 2009 Dovetail SDK is a software development kit for writing applications, using .NET, to access Clarify™ databases. One of the more common requirements for objects created for Clarify is performing workflow operations on those objects, such as assigning cases or dispatching change requests. Dovetail SDK provides a powerful set of tools to make workflow operations easy to implement. This guide explains how to get started. Using WorkflowManager for Workflow Actions Dovetail SDK supports the following Workflow Methods for Queueable Objects in Clarify with the WorkflowManager object:AcceptAssignDispatchForwardMoveRejectYankChangeStatusQueueable Object Types that are currently supported:CASE, SUBCASE, DEMAND_DTL, TASK, OPPORTUNITY, CONTRACT, BUG, PROBDESC, DIALOGUEAll of these methods follow the same basic model for parameters. For example, the Dispatch method takesid number of the object being dispatchedtype of object being dispatchedqueue that the object is being dispatched totime that the dispatch occurredlogin name of the user performing the…

Some notes on using Oracle 11 Database Instant Client

September 16, 2009 I recently upgraded my day-to-day environment to Windows 7 (64-bit) using MSSQL 2008. This week I needed to do some Oracle work, so I needed to get DovetailAgent working with an Oracle 9 (technically 9.2.0.1.0) database, so I needed Oracle client software. The latest Oracle client version is 11, so I decided to give that a try. The actual Oracle database runs on a VM, so I just needed an Oracle client.   Here are a few notes about getting this working. Install Oracle Instant Client   Install the Oracle 11 Instant Client for your platform.   I installed mine into C:\oracle\product\11.1.0\client_1   I went to edit the tnsnames.ora file, and quickly realized that there wasn’t one. A little googling led me to a helpful blog post at DBAToolZ. Environment Variables   Following the instructions from that blog post, I created a new system environment…

More fun with Powershell

September 11, 2009 I was recently working on porting some existing ClearBasic batch (cbbatch) scripts to PowerShell. I’ve blogged in the past about using our SDK with Powershell. For this particular project, I had multiple scripts to port, and I was looking to extract some common functions and utilities, so that they could be used between multiple scripts. Configuration When using the Dovetail SDK, one of the first tasks is to load up the configuration information and connect to the database. That would normally look something like: $connectionString = “Data Source=localhost;Initial Catalog=dovetail;uid=user;pwd=pass" $databaseType = “MSSQL”;     [system.reflection.assembly]::LoadWithPartialName("fcsdk") > $null; [system.reflection.assembly]::LoadWithPartialName("FChoice.Toolkits.Clarify") > $null; $config = new-object -typename System.Collections.Specialized.NameValueCollection; $config.Add("fchoice.connectionstring",$connectionString); $config.Add("fchoice.dbtype",$databaseType); $config.Add("fchoice.disableloginfromfcapp", "false"); $config.Add("fchoice.nocachefile", "true"); #Create and initialize the clarifyApplication object $ClarifyApplication = [Fchoice.Foundation.Clarify.ClarifyApplication]; if ($ClarifyApplication::IsInitialized -eq $false ){    $ClarifyApplication::initialize($config) > $null; } Code for re-use I didn’t want to repeat that in multiple scripts,…

Displaying text using a fixed width font in the Clarify Client

September 2, 2009   We received a request recently about how to deal with some text in the system that was formatted using a fixed width font.   For example, a customer might send in an email that contained some text that was laid out in a nicely formatted table structure. Such as this:   5.17637 |-----+-----+--------------+----------+--+-------+----------+-----+-----| | | JD00| firma ip | gumpendor| 1| Wien | Empfänger| fa. | 05.0| | | 0010| österreich | ferstr. | 0| | verzogen | nich| 8.20| | 5239| 4300| gmbh - | 19-21 | 6| | | t | 09| | 1478| 0140| | | 0| | | mehr| | | | 6959| | | | | | da!!| | | | 22 | | | | | | | | | | | | | | | | | | |-----+-----+--------------+----------+--+-------+----------+-----+-----|     But,…

Think About User Experience

August 28, 2009 Separate the user from complexity. Spam filtering is pretty complex stuff. The act of signaling an email is spam should not be. Which of these user interfaces for Spam handling do you think works better? Outlook 2007 – 1 action = navigation + 6 options A classic lesson from Don’t Make Me Think. The cognitive load in Outlook is very high. The steps for a email user wishing to mark an email as spam. Some how know to right click on the email. (acquired knowledge) Click on Junk E-mail.  (Find the menu item) Pick from a list of 6 potential junk email options. (Read and understand what each option means) GMail – 1 to 1 Gmail recently changed their menu items condensing them down and in my opinion reducing their readability. However I find the task of marking email as…

Value of Software Maintenance and Support

August 27, 2009 We pride ourselves on the value we provide our customers for maintenance and support, whether it is on our own software products, or on the Clarify software products we also support. I have writtenfrequently about the level of service we provide, often citing customer examples to back up our claim.   We are often asked by customers who are considering switching to our Clarify Help Desk Program why we are better than Amdocs. Here’s what we highlight - First, Dovetail charges considerably less than Amdocs charges for support. In tough economic times, this is an important factor. We then talk about our customer service and how our customer support staff is top notch and the service they provide is fabulous (OK, I’m bias, but our references back us up). We go on to say how support cases are immediately handled by…