How to prevent duplicate counter values when a LOOKUP.INI is in place and also Remote users/systems are involved

Version 1

    Details

    How can you prevent duplicate counter values when a LOOKUP.INI is in place and also Remote users/systems are involved?

    As described in Knowledge Article # 13254 (see related articles) - GoldMine can keep track of each new record added to  the database using GoldMine’s “Counter”  function. With this function, GoldMine will automatically generate  unique, sequentially ordered numbers.

    [SCENARIO]

    1. A Counter feature was setup in the host's GoldMine system for the field KEY4
    2. Functionality has been tested and everything works as expected on the GoldMine system
    3. Remote users are now configured and rolled out (also these users will create new contact records and synchronize them back to the server)
    4. Synchronization has been tested and everything works as expected


    [STEPS TO REPRODUCE]

    1. The Remote user synchronizes with the server
    - The LOOKUP.INI and also the Counter value in the table LOOKUP->LOOKUPSUPP field contains the actual last used counter value (for example 25010)
    2. On the GoldMine host system a networked user creates a new contact record 
    - As expected and intended the LOOKUP.INI triggers and fills in the next counter value into the KEY4 field. The contact record will appear with a KEY4 value of 25011
    3. On the GoldMine Remote system the undocked user created also a new contact record
    - As expected and intended the (local) LOOKUP.INI also  triggers and fills in the next (local) counter value into the KEY4 field. The  contact record will appear with a KEY4 value of 25011
    4. The Remote user synchronizes with the server again
    5. Verify via a search in the Contact Search Center the value 25011 for the KEY4 field

    [RESULT]
    - The Contact Search Center shows 2 contact records with the same KEY4 value which is undesired, depending on how many remote users/sites are in place such a setup may lead to multiple records with the same KEY4 value


     


    Resolution

    [CAUSE]
    - The LOOKUP.INI is usually always intended (and also it is a desired feature) to be used on several systems independently and not only on a GoldMine host system.
    - GoldMine simply cannot know which counter value was used at last on the 'remote' system and can only take its own last subsequent counter value.

    [WORKAROUND/CONSIDERATION]

    A. Setup and configure different counters for each system


    - Create different counters for the same field, for each 'GoldMine system' a different for example Host GM00000 onward, while remote uses GM10000, Remote2 uses GM20000 etc. This would minimize the possibility of duplicates.
    - If this is done it must be documented and configured
    a. That the LOOKUP.INI will not be sent via synchronization from and to other remote systems
    b. When changes are done in other areas these need to be applied also manually on all remotes

    B. Assign solely unique counter values to a contact record on the GoldMine host system by an Automated Processes

    - In this scenario on remote systems contact records are created without any counter value and when the records are synchronized an Automated Process will take care of those new contacts and fill a correct counter value only on the server side. Once the remote system synchronizes again the change is then synced back to the remote users.
    - In such a setup the automated process needs to be setup at least with one Event > Perform Action > Update field > Options > Look up a replacement value in lookup.ini





    Both approaches requires certain experience with the LOOKUP.INI and Automated Processes setup and it is strongly recommend to contact your GoldMine partner or consultant to discuss further. While GoldMine Technical Support may assist in any issues experienced in such a setup, GoldMine Technical Support cannot assist in designing, implementing and configuring this setup.