Bob's Notes - March 2010
3/9/2010--as Firefox likes to say when recovering from a crash, "Well, this is
embarrassing." It has been far too long since I posted anything here; I'll try to do
better in the future.

One of the more interesting projects I've done lately involved using GoldBox, plus
GoldMine's Lookup.ini, to accomplish what amounts to the GoldMine side of an  
automated record-level syncing of GoldMine Main Contact fields with another database
application.

New Contacts can be created in either application. If created in the outside application (I'll
call it App X), a Unique ID (dissimilar to GoldMine's) is assigned by App X. An Update
Date is also populated. At the end of a period of time, the application does an export to
ASCII text of all the Contacts with a current Update Date. (Contacts that are recently  
modified also acquire current Update Dates.)

At an appointed time, GoldBox picks up the exported file and converts it to dBase. It then
uses its superior matching capabilities to process the data; first as Updates, then as an
Import. If a Contact with the same Unique ID already exists in GoldMine, an Update is
performed. If not, attempts are made to match the incoming Contact to GoldMine using
field data. If any of these attempts are successful, an Update is performed.

If any of the matching attempts results in an Update, the Contact is filtered out of the
Import. Contacts that could not be Updated are finally Imported as new Contacts to
GoldMine, complete with their Unique IDs and Update Dates from App X.

To complete the cycle, GoldBox then Exports GoldMine's own recently-updated data to
ASCII. In this operation, inclusion is determined by whether or not the GMUPD Date field
has been updated since the previous Export. The GMUPD Date field is controlled by
Lookup.ini. Certain fields are set as triggers; if they are modified, they reset GMUPD Date
to the current date. This date is then used as the filter for the Export.

In this system, App X was essentially a black box; it performed all its own updates and
exports. However, GoldBox could have been used for those items, too, provided that App
X uses MS SQL or one of the other database backends with which GoldBox can work.