REQUEST A DEMO

Blog

Customizing the executeCommand actions in fcClient

March 19, 2007 In a previous post, I covered how to have fcClient pop a page based on a URL. Now, we'll cover how to customize this functionality to perform your own actions. For this particular example, we'll show how to have an existing fcQuery query get executed and the results posted. 1. In console.asp, we'll add code to get the actual objid of the query based on the query name, for the current user. This is necessary because the query names are not unique across the system.   In console.asp, after this existing code: var CommandToExecute = Request("command") + '';var CommandParam1 = Request("param1") + '';var CommandParam2 = Request("param2") + ''; We'll add this: if (CommandToExecute=="executeQuery"){ //get the query objid //first, see if this user ownes this query var gen = FCSession.CreateGeneric('ce_query'); gen.AppendFilter('ce_query2user','=',FCSession.Item('user.id')); gen.AppendFilter('query_name','=',CommandParam1); gen.Query(); if (gen.Count() > 0){ CommandParam1 = gen.Id - 0; }else{ //see…

fcClient :: How to have a URL that pops a page

Typically when a business rule is sent out, it will include the Object Type & Object ID, for example "Case 42". It's easy to customize the business rule message to turn this into a hyperlink that users can click on, and have fcClient automatically "pop" that particular object/page.For example, the following is a business rule message that we use here at Dovetail:RE: [Object Type] [Object ID] has been dispatched to the [Current Queue] queue [Object Type] [Object ID] has been dispatched to the [Current Queue] queue. Could someone please accept it to stop this annoying chain of emails![Object Type] Title: [Title] Severity: [Severity] Click the link below to view this [Object Type]: http://<OurPathToFcclient>//console/console.asp?command=casebyid&param1=[Object ID] Thanks, The Dovetail System which resolves to a message that looks like:Case 6825 has been dispatched to the Support Cases queue.  Could someone please accept it to…

Using Microsoft Full-Text Search within Dovetail applications

March 13, 2007 For years, Clarify has used the full-text search engine from Fulcrum (now Hummingbird OpenText) to allow full text searches in its applications. This was important back in the day, since the database vendors didn't offer good solutions to this problem. Now they do. A couple years ago, as we started expanding our knowledgebase, we had the need to perform full-text searches. However, we preferred to stay away from the Fulcrum/Hummingbird product, mostly because of how Clarify integrated with it. Corrupted indexes, huge amounts of time to create/re-create indexes, and having to setup cron jobs to schedule index runs, were just a few of the problems I ran into on previous implementations. As we used Microsoft SQL Server as our database platform, we decided to use the FTS engine that is bundled with SQL Server, and we've been happy with the result.…

Uniqueness of Relation Names

Here's an interesting scenario that we recently ran into when developing our SchemaEditor application for Clarify. In Clarify, the rule is that relation names must be unique within a table, which makes sense. For example, I cannot have two relations named case2site on the case table. The schema editing tools (ddcomp, DD Editor, Dovetail SchemaEditor) will disallow this. But there is no problem having case2site on the case table and case2site on the subcase table (although it's a bad naming convention, it's not illegal). However, in Microsoft SQL Server databases, Clarify creates relate stored procedures for relations. For example, the following relation: case2subcase OTM subcaseINV_REL=subcase2case COMMENT="Subcases originated from the case" will produce the following stored proc: create procedure rl_case2subcase( @case1 int, @subcase2 int) as update table_subcase set subcase2case = @case1 where objid=@subcase2 How and where do these stored procs get used?…

Daylight Savings Time (DST) Impacts Clarify Database (and Rest of World)

Static image February 27, 2007 Those who have called Daylight Savings Time a folly from the beginning may snicker at the Congressional decision to alter the dates, but those who have anything to do with software aren’t laughing. Changing the dates of the Daylight Savings Time active period, for the first time in decades, will throw a lot of clocks out of sync.   Dovetail engineer Steven Weintraub has compiled a list of dates affected by the new law, and instructions to update Daylight Savings Time (DST) in the Clarify database   “This requires a good knowledge of CLARIFY database setup and SQL. This is a problem. I am sure Clarify is providing a solution for those using Clarify support – but this does not help the many customers who have stopped paying support.   “For those customers (and this blog post is for you) – they have to…

User-contributed code: Dynamically resizing a screen with a grid iFrame

February 26, 2007 Kristina has shared some code that she wrote for fcClient. Lots of screens in the Dovetail/FirstChoice thin client for Clarify have a grid of related values displayed in an iFrame containing the parent information. This article describes how to add a "resize" button so your users can stretch the window if they so desire. [Link to article] Thanks Kristina!

Owning the support issue

February 21, 2007 Seth Godin has a great post (as usual) about Starting over with customer service.  In it, he outlines an interesting approach to improving customer service. One of his steps is using the right software: It's not like me to recommend a commercial product specifically like this, but I'm talking about Fogbugz because I think they've accidentally revolutionized a huge piece of management. What the software does is allow exactly one person at a time to 'own' a piece of a project, a bug, an issue. That person either solves it or pass it off. And the entire process is tracked and timestamped and tickled, so absolutely nothing is permitted to languish. Those of us in the Clarify and Dovetail space have been used to this accidental revolutionizing functionality for a long time. A support case (issue, trouble ticket, etc.) has…

ActiveRecord SessionScope

February 19, 2007 I have been spending some time trying to understand how Castle's ActiveRecord manages SessionScopes for web applications. A SessionScope abstracts access to the database and manages a cache of conversions with the database (likely an oversimplified.) In a web application scenario it is best to 'scope' the SessionScope to a web request  as this is the logically boundary of a single unit of work. I am interested in how this approach is superior than simply using an IOC container like Windsor with a PerWebRequest lifestyle.   Here is a bit of info about the classes involved in scoping SessionScope per web request for Castle's web applications: SessionScope   For the most part in ActiveRecord a SessionScope abstracts a NHibernate Session. provides access to current session. The injected FlushAction tells it what to do during disposal. Basically flush changes to the database or do nothing. The SessionScope also can get injected with a SessionScopeType (Simple, Transactional,...)   The static SessionScope.Current is…

Status Update: Yellow Dot, L, Up Arrow

February 16, 2007   This week I received a status dashboard report from the project manager of one of the customer projects that I'm working on.   One of the areas of the report was Key Open Issues and Risks. Seems like valid information to share. However the actual Status column of this Open Issues table completely baffles me. Take a look:         What does a status of Yellow Dot, L, Up Arrow mean? Or Red Dot, M, Down arrow ?   I'm sure this is some type of professional project management secret code, and I'm sure other PMPs may get it. But I'm on this project (I'm not a PMP by the way)  - and I have no idea what this means! I like to think of myself as a pretty intelligent guy, but this one completely baffles me. I would think, that in a status report, that the status might be…

Users don't *want* to RTFM

February 2, 2007 As I handle a good deal of the technical support calls around here, I'm constantly amazed at the questions that I get where the answers to these questions are in the documentation. My typical mantra has been: RTFM! I've been reading a lot lately on usability, especially in the realm of web applications. Influences include Steve Krug's book Don't Make Me Think, the 37signals book Getting Real, as well as the Creating Passionate Users blog. These readings have been causing me to rethink my mantra, and question my possibly old-school thinking that good documentation prevents support calls. The truth is that users don't want to read the docs - they just want to use the product. Well, that's not even entirely true - they want the product to just do its job, and get out of the way, so the user can…