How to purge all Recent Contacts from a Notes 8.5x client
This technote may be useful in the following cases.
- You have decided to disable Recent Contacts completely and need to remove any Recent Contacts which were dynamically added to the personal address book of hundreds or thousands of users.
- You have enabled the more restrictive Recent Contacts preferences made available in Notes 8.5.2 and above and would like to purge Recent Contacts one time only.
- You have several invalid or obsolete addresses in the Recent Contacts of many personal address books and would like to remove all Recent Contacts and start over.
Deleting Recent contacts manually is not a good solution, the deleted addresses usually return within several hours or days. Even deleting all Recent Contact documents and emptying the Trash folder of the personal address book does not keep Recent Contacts from returning.
The Recent Contacts feature keeps names in three places:
- in memory
- in the personal address book (names.nsf)
- in the DIP table under ... Notes\data\workspace ...
The DIP table (Dynamic Interest Profile) is a weighted list of Recent Contacts. The type-ahead list only displays data from the DIP table. This is a binary file stored outside any Notes database. The Recent Contacts view and the DIP table populate each other: if you just delete the DIP table Notes will re-populate it using your Recent Contacts view and if you just delete Recent contacts those documents will be recreated using the data in the DIP table. This is why Recent Contacts return after about 1 hour.
To truly purge Recent Contacts, you must delete the DIP table and the Recent Contacts documents at the same time. This is not a task recommended for end users.
Notes 8.5.2 Fixpack 2 resolves this issue: when you delete a Recent Contact it is a "hard delete" (does not go to the Trash) and Recent Contacts updates the DIP, removing the deleted address. This is also true for Notes 8.5.3.
However, interacting with a message or calendar event containing the unwanted address will add it back to Recent Contacts even months later. To avoid this, in Notes 8.5.3 users should leave the unwanted Recent Contacts in the personal address book and flag them "Hide from type-ahead" using the button in the Recent Contacts view. This flag is also applied automatically to any Recent Contact which matches the address in a non-delivery report.
Resolving the problem
Also see these related documents:
Notes 8.5.3 recognizes a new notes.ini variable, PURGE_RECENT_CONTACTS=1 which will perform a one-time purge of all Recent Contacts and the DIP table. When the client processes this request it sets the INI variable to zero so the process only runs once.
This can be pushed via Domino policy like any INI variable.
For earlier versions of Notes 8.5 and 8.0, the attached file provides a sample VB script which will simultaneously delete all Recent Contacts documents from the personal address book and the DIP table files in the ...\Notes\data\workspace. It also sets DisableDPABprocessing=1 in notes.ini to disable adding new Recent Contacts following the purge.
Notes should not be running when this script runs. The script will throw a message box informing the user that documents were deleted from Recent Contacts and the file system. When the script completes, it launches Notes.
DISCLAIMER: This script is provided as an example of one approach to this issue. Test this script in your environment and run it at your own risk. IBM Lotus Technical Support will not support this script or customize it for specific customer deployments.