Lotus Notes Profile document management and troubleshooting with scanEZ
Though scanEZ is very much a general purpose Lotus Notes and Domino database toolkit, folks often tell us that Profile document issues were what compelled them to download and try the software in the first place. This post will briefly go over the basics of Profile document management with scanEZ; plus show you how to spot Profile conflicts; and finally explain how to deal with ‘enumeration pool is full’-type errors.
Exploring your database’s Profiles
One of scanEZ most basic features is its Selection Tree, which gives you the ability to explore all the Profiles in a Lotus Notes database—along with anything and everything else inside an NSF file (e.g. Documents, Designs, Conflicts, Deletion stubs etc.). This explorer gives you a fast and very convenient way to see all your Profiles and spot any problems.
When you click on a Profile in the Selection Tree, you’ll see all its fields and their values in a sortable item list. The Profile’s Note Info (e.g. UNID, Note ID, Creation dates, etc.) is also shown.
Exploring Notes Profile documents in the scanEZ Selection Tree
Easier Profile editing
Editing Profile docs in scanEZ is an equally simple point-and-click affair. There are options for adding and deleting items. And you can click any field to edit its contents (either manually or by formula) or type.
Point-and-click Lotus Notes Profile document editing
Please note that Profile caches in Notes are extremely ‘sticky’ (and we’ve subjectively observed that they’ve become even more ‘sticky’ in recent Notes versions). For example, changes made to a Profile by one user might take a while to be seen by another user of the database; and the server itself might take a while to ‘see’ changes. So if you edit a Profile in scanEZ and you have the database open in your Notes client, don’t be alarmed if the changes don’t appear right away.
Profile document conflicts? Yes, they’re real (and scanEZ can prove it)
Just a quick note: If you ever notice a Profile document has a response (shown in a response tab in scanEZ), it means that it has a conflict—Profiles should never have responses. We came across this (thankfully uncommon) issue when doing some troubleshooting with scanEZ ourselves: we had noticed that changes made to a Profile on a database were not being applied to a replica. So we opened the Profile in scanEZ and saw something similar to the screen below.
You’ll know that a Profile has a conflict when you see a Response tab in scanEZ
When you double-click the response document to open it and look at its fields, you’ll notice that there is a $Conflict item. These Profile conflicts can cause problems with database functionality as one Replica might use the ‘parent’ Profile while another Replica uses the response/conflict Profile.
A Lotus Notes Profile document conflict
Don’t go off the deep end: How to deal with enumeration pool errors
Basic Profile doc viewing and editing is probably old hat for veteran users, but one common issue would confound even scanEZ in the past is now easily solvable—the ‘Profile document enumeration pool is full’ error. This error occurs when Notes reaches a 6000-ish profile document ceiling (described in IBM Technote). Functionally speaking, this won’t break the Profiles themselves but it does prevents the getProfileDocCollection from working (and it also prevents scanEZ from building the Profiles category in the Selection Tree).
It’s pretty easy to reach this ceiling when a widely-used database makes use of personal Profiles (e.g. a shared calendar). Additionally, if you search for a non-existent Profile using the getProfileDocument Lotusscript method, a blank one will be generated. Similarly, a blank profile will also be created if you cancel (or close without saving) a form which makes use of the @Command([EditProfile]). All of these things can really run up your Profile document tally to an extent that you’ll trigger the enumeration pool error. (Aside: these cases where blank Profile documents are created can be double trouble when users have Author access to the database: Since the required Authors field hasn’t been created, users are likely to see error messages the next time they try update the profile. Naturally, scanEZ is helpful in finding and troubleshooting these types of Profiles issues).
Our solution for dealing with ‘enumeration pool is full’ errors is included in the scanEZ Extension Database, which includes a feature called ‘Lotusscript-based Note Retrieval.’ This feature neatly sidesteps the enumeration pool error and places all your profiles in a My Section Virtual folder. Here’s how it works:
1) Open the scanEZ Extension Database (download it here if you don’t already have it).
2) Select the database with the enumeration pool error.
The scanEZ Extension Database lets you see the full list of Profile documents even when the enumeration pool is full
3) Make sure to check the box for ‘Profiles’ then click the Open in scanEZ button. Once the retrieval is complete, it will display the number of Profiles found and ask if you’d like to continue; click ‘Yes.’
4) Now scanEZ should launch. You’ll be prompted to choose your preferences for displayed titles, just click ‘OK’ to use the default.
The Confirmation dialog (NB: This pictured database only has a handful of Profiles, but the feature was thoroughly tested on databases with well over 6000 Profiles)
5) All the databases Profiles will now be listed in the Section Tree in a ‘My Selection‘ virtual folder. From here you can analyze, edit, or delete the Profiles.
Retrieved Profile docs will be gathered in a scanEZ ‘My Selection’ virtual folder
Please note that this method of gathering a list of Profiles is considerably less efficient that the normal way that they’re shown in the scanEZ Selection Tree, so it should only be used in cases where the ‘enumeration pool is full’ error is triggered. If you don’t need to see all the Profiles, you can always use the Document>New/Get Profile option to see any specific Profile as long as you know its key (document name and username if applicable).
You can always look at an individual profile in scanEZ, even when the enumeration pool error prevents the Profile list from being built
Hi, Peter.
Thanks for the information here. The use of the ScanEZ extension database really helped me out of a sticky situation today where I was unable to perform a Post Replication Audit because of the enumeration pool error. Thanks,
David
Hi David,
You’re very welcome. I’m really glad to hear scanEZ helped you out of that jam.
And thank you for sharing your story.
Best,
Peter
I am interested in information (including price) on the scanEZ tool. We are experiencing problems around replica conflicts from profile documents
Thanks for your comment Jesper, happy the article was useful. Sent you a quotation 🙂