Some upgrades

We have installed some upgrades including the followings:

  • Paypal payment system – we had some performance issues.
  • Task template names have been sorted in alphabetical order (everywhere).
  • Task template delete bug fixed – sometimes you couldn’t delete one or more task templates (Thanks to Robert Andrescik)
  • Custom field empty filter bug fixed – 0 results shown when a CF filter was set to empty (Special thanks to Florent Cailly, Asim Qureshi, Mick Page)
  • Much more longer authentication ticket lifetime – you won’t be logged out when you leave your web browser open for hours

We would like to thank you for the feedback, they were very very helpful.

Advertisements

WLH registration page was down for a short time

Sorry for this, it’s fixed and we’ll be working to ensure these mistakes don’t happen again. Probably the failure caused by a bad configuration setting that had been set at WLH update.


Company duplicates

Earlier WLH was able to find only contact duplicates, now you can find the company duplicates by name. But to improve the performance and the accuracy we had to introduce stop-words. A stop-word is a word being ignored during company name comparing. Typical stop-words are frequently occurring words in company names: group, company, office, limited etc. You can easily build this list to tune your duplicate search.

In the search result you can see the “realty” word caused a little noisy list. In reality the “BestBuy Realty” and the “Southwest Realty Team” are different companies. We have to explain this to WLH, so add “realty” to stop-words.

That’s it, no more noise.

 

(Specially thanks to Nick Wolf and Libby Culmer)


Search result union

Many Highrise and WLH users have asked us for a solution for filtering with “OR” logic. For example, when you want to see the “Corp.” OR “Limited” named companies in the same result list. Then you can add tags to them by a single click. We tested many ways, but this isn’t as easy as it looks. Many hidden logical traps and slow queries.

Then we decided to use search result union. This means you can append the new search result to the previous search result and so on – without duplicates.

An example:

Filtering “test 6” named contacts by clicking Search button.

Then filtering “test 5” named contacts by clicking Search and union button, the previous and the new search result were merged.

Next, filtering all the “test” named contacts with Search and union button you can see no duplicates. (Test 03 is duplicated, but the one is company and the other is a contact.)

 

(Specially thanks to Gordon Jackson)


Filtering contacts by unlimited number of tags (and WLH .NET SDK)

Few months ago we had to eliminate the
Parties Parties.ListPartiesByTags(IEnumerable<int> tagIDs, int pagingOffset = 0) method from our SDK, because Highrise API didn’t support the underlying REST call anymore. We were very happy when we realized that Highrise can filter contacts by multiple tags (see: http://help.37signals.com/highrise/questions/57-how-do-i-search-by-multiple-tags), so we were hoping we could enable again the involved method.

When you look at the URI in the browser when you searching by multiple tags, you may see something similar: https://somedomain.highrisehq.com/tags/1963039,1973268,1969549,1984865,1690134,1963033

And not a rocket science to get the xml representation of this call: https://somedomain.highrisehq.com/tags/1963039,1973268,1969549,1984865,1690134,1963033.xml

The only problem is Highrise limits the number of combined tags… boom. Only the first 5 parameters matters and the followings will be ignored. Of course we will create another ListPartiesByTags() upon this behavior.

We are proud to say that WLH supports contact search by unlimited number of tags.


Duplicate search performance issue vol. 2

Sometimes a Highrise account has thousands of contacts and the duplicate analyzer must check all to find similar emails and names. So this process may need a few minutes. We had a case when 18.000 users were in a Highrise account and more than 6 minutes needed to show the result (there was about 1000 duplicates). As you know every web-based systems have request timeout, WLH had 1,5 mins. It wasn’t enough in the previous example, so we increased it up to 10 minutes.

And we know it’s very time consuming to eliminate all the duplicates one bye one (in Highrise) . And sometimes you have to execute the same search again and again – for example when you close your web-browser. So we help your work to store the duplicate search results after the asynchronous process completed. Than you can reload them any time.

(Search result attached to the user who executed the query, so it’s secure.)

Previous duplicates

Previous duplicates

Thanks to Nick Wolf


Help us develop “recurring tasks”

As you know, our next step is RECURRING TASKS, many of you asked for it, so let’s do it.
Being a complicated issue, we introduce our concept first and would like to encourage anyone to comment at this stage.

It is planned to work the same way as task templates already available in WLH. You start by creating a task in WLH, then you set the recurrence type and a stop date. When finished, your set of recurring tasks appear in Highrise. Simple as that:

Recurring tasks flow

Recurring tasks flow

It will look like this:

Recurring task result

Recurring tasks (result in Highrise)

We have created a weekly recurring task that ends on 1st of June – it’s 9 tasks in a row. Now you have to be aware of few important factors. If using incorrectly, you may create a bunch of unwanted tasks. We definitely would like to avoid a situation when you have to delete a series of tasks manually, one-by-one. So we have added the ability to batch delete these tasks, in case you wish to.

As you can see, we try to think one step ahead. Please help us on these 2 issues:

  1. At this moment recurring tasks is only designed to create tasks for ourselves. Would you like to create recurring tasks for your clients and customers?
  2. Should task templates and recurring tasks be implemented as one step or leave them separately?