Disabling ’Recent Contacts’ for end users in Notes 8.5 personal address books
April 6 2010 09:36:46 AM
While it seems like a good idea in theory, the Recent Contacts view has been nothing but trouble for many administrators. If you don't have the option turned on to give the user a choice between similar addresses, it always picks the wrong one. Even with the option, users often get confused and send email to the incorrect address if the names are the same.Recent Contacts even gets selected prior to the Directory Address in the address type ahead. Temporary forwarding addresses get added here. Internal groups get added here and then don't route properly. It's just a mess.
Thank goodness there's a simply Notes.INI setting you can roll out to via a policy to disable for users across the organization. Unfortunately, it's going to take a bit of work. You need to create a policy option, enable it, and then have users clear their recent contacts view once it's in place.
Edit your Address Book template to create a policy option
- Open your Domino Directory Template (pubnames.ntf) in Designer, and open the SubForm $ClientPreferenceSubform.
- On the Basics tab, you can add a row on the bottom under 'Enable scheduled local agents.
- In the first column, make yourself the label: 'Add Names to Recent Contacts View'
- In the second column, create a new field called $PrefDisableDPABProcessing, make it 'Dialog List' type, and for it's choices give it Enable|0 and Disable|1 This is the only field that is required, the next three columns (next two steps) are optional.
- In the third column, create a new field called $PrefDisableDPABProcessing$HA as a combo box, and give it the same options as the field above it ($BP080000000$HA).
- Continue with the fourth and fifth columns creating fields $PrefDisableDPABProcessing$IP and $PrefDisableDPABProcessing$PO and give them the same options as other fields in their columns.
- Save and Close your subform
We can't anticipate what IBM is going to do, but I imagine they may update the template design to resolve this issue or others, so you have to decide if you want to risk future updates overriding your customization. You can 'prohibit design refresh or replace to modify' for this subform, or alternatively you can copy the subform and rename it as a backup and apply your changes again if needed. I personally just make a backup and keep a separate log of what I modify. Then I check it against any new address book modifications rolled out by IBM and just copy my design changes back into the template when needed.
Next, replace the design of your Domino Directory with your modified template, and go into your 'Desktop Settings' of your policies and choose Disable on your new field. After the policy is set, then as users log into their mailbox with their Notes client a line containing DisableDPABProcessing=1 will be added. This will automatically check the option 'Do not automatically add names to the Recent Contacts view' in their Contacts Preferences.
The end user will need to restart their Notes Client before this setting gets applied, so you may need to wait a couple of days to allow the policy to get fully rolled out to everyone. When your confident that you can move on, then...
Delete all Recent Contacts from your users Local Address book
The simplest way to do this is just send them a button in an email containing code to purge all those pesky recent contacts.
- Compose an email explaining what's going on
- In the body of the email, choose 'Create -> Hotspot -> Button' on the menu
- Change the button to LotusScript and enter the following:
Sub Click(Source As Button)
Dim nab As NotesDatabase
Set nab = New notesdatabase("","names.nsf")
Dim view As NotesView
Set view = nab.GetView("(Recent Contacts)")
Dim vc As Notesviewentrycollection
Set vc = view.allentries
Call vc.RemoveAll(True)
Msgbox "Finished. Removed " & vc.Count & " temporary entries from your personal address book."
End Sub
'----- end code -----
If everything worked as anticipated, your users should now be Recent Contacts free.
Comments Disabled



