Skip to content

Algorithm to Speed Up eContacts List in Elliott V8

In Elliott 7.5, we use the MAPI interface to send e-mail. The MAPI interface allows Elliott to interact with a desktop e-mail client, such as Outlook.  Therefore, in the print option screen, we allow users to interact with the Outlook address book.

In Elliott V8, we use SMTP to send e-mails by default. In the SMTP interface, we do not allow users to interact with the Outllook address book. Instead, we use Elliott's eContact list.  Generally speaking, bringing up the eContacts list for several thousands of records is not a problem.  

Before the date of this writing, when users try to click on the "To:," "cc:," or "bcc:" button in the Print Options Email tab, the system always read through the entire eContacts database before bringing up the eContacts list.  This can cause a performance problem if you have tens of thousands of eContacts or more.  Alternatively, you can manually enter the e-mail address in the Email tab.  But that's not particularly user-friendly.

To address this performance issue, on 9/17/14 we introduced an update in Elliott V8. We made the following programming changes to allow users to bring up their eContacts list much more quickly than before:
  • After you start up V8 and bring up your eContact list for the first time, it may still may be somewhat slow. But it is faster than before due to some algorithm improvements.
  • When you start up eContacts the second time, it will be significantly faster than before since the system doesn't need to read from the eContact database again until you do a “refresh.”  You may need to do a "refresh" after you add new eContacts since the list the system shows currently is based on the cache information we store locally.
  • Salesmen can speed up the process even more by going to the eContact Manager screen, clicking on the “Options” button, then choosing “Show Contact for this salesman:” and entering his or her salesman ID.  This will narrow down the list and make it much smaller.  Then in the future, the list will come up almost instantly when the salesman brings up his or her list.  See the screen displays below.

While this improvement significantly decreases the amount of time it takes for the eContact list  to load, you still may notice slowness in a few exceptional situations:
  • The eContacts cache file is stored locally in the %temp% folder under the file name SYCONADB.Q99, where 99 can be 00 - 99, which represents the Elliott company ID.  This folder may get cleared as you clear your browser cache.
  • When the system reads the SYCONADB.Q99 file, it checks to see if the first eContact record in the local cache still matches the first eContact record in the Elliott database.  If not, the system will automatically perform a "refresh," which can take a while.
  • If this SYCONADB.Q99 file is not refreshed after 7 days, then it will prompt the user to refresh, which can take a while.

Feedback and Knowledge Base