Thursday, November 6, 2008

Go ahead, merge records in TeamDesk

I've almost forgotten there was one more thing left with TeamDesk - to prove the system capability of merge.

In my previous testing I managed to find out how to track duplicates in TeamDesk. What's now?

But somehow I couldn’t find the possibility to set merge, as well as any way to do that. So the only way to figure this out is to ask a question TeamDesk Support guys.

Kiril Bondars' answer was:
"Once you found duplicates in your database merging them is one step forward. It can be easily done via TeamDesk's custom actions, yet we've found custom actions setup interface too confusing for regular users and hidden it from the public. Please address the application, the table, and the duplicates view and we will set up merge action for you."

I found in TeamDesk application library the Invoicing application that contains master-detail. Out of my experience I already know that utilizing such apps one faces the problem of dupes in the contact book. To handle it one must find and merge duplicates, as well as attach invoices to one and the same contact.

I asked Kiril to give me a hand at this, as there is no way to do it without a support representative assistance. The very process of tuning is behind the scenes, so this is Kirils' anwer how its done:
"First we've created the relation on Contact table to self. Relation's match conditions define the set of columns to match. We've comparing name and company to find duplicate records. You may add more or remove matches to modify the logic.For every record in the table, the relationship will filter the records with matching name and company. Using Duplicate Count summary column we are calculating the count of related records. For the record with no duplicates, the related will be the record itself, thus the count equals to 1. Filtering the records with count greater then one will display you duplicate records; see Duplicates view's settings.Now to the merging logic. From the set of duplicate contacts we should find one to merge other to. Let's call it primary contact.

We consider the first contact is the right one, and others are entered by mistake. Since first contact has lesser ID, on aforementioned relation we have created "Primary Contact #" column that calculates minimal ID from the set of duplicate records to identify primary contact. You are free to change this logic to find primary contact using another rule. We have also decided not to delete duplicates, but keep them in the database marked as such. For that we have included Status column (Primary/Merged) to identify contacts affected by merge operation.

The Merge action we have created, processes selected records. Whether the record is not a primary contact (its ID is not a Primary Contact #) we set the Status column of the record to "Merged", add primary contact ID to Notes to let users know where to look proper information for, and change the invoices referencing the contact to reference the primary contact."

This is how the merged action look:

And Contact after Merge:

To sum up:

On the one hand I’ve got what I wanted, from the other hand it’s quite a task to figure out how deep one can verify the given example resolving real - life tasks in order to satisfy the requirements of the customer.

The user has no access to Custom Actions, so we can only rely on support. But what about the "You are in control" concept which these guys claim to follow?

Anyway, the result of handling duplicate entries through TeamDesk is better, than nothing.

No comments:

Post a Comment