Customer is running a custom code where they are registering persons to Domino and have now identified a case where 2 separate registrations resulted in a single person document with merged full names. The registration are made two days apart and it is suspected that it's caused by the shortnames being substring of the other one, but they are technically unique
• When the flag Enforceuniqueshortname is not set, the code doesn't use the shortname when doing the lookup to look for matches in person documents. So if the short name matches (or not) another shortname it doesn't matter.
• If the flag Enforceuniqueshortname is set, then the short name is used in addition to the first name last name pair. If 1 match is found only using the short name , but the flag UpdateAddressBook flag is set, is considers this an update request. If that flag is false, it will consider this a name collision. If more than 1 name is found, it will also be considered a name collision.
• Throughout the code it appears in general that finding a match in many cases will result in an update to the found document. The concern is that if we make a change to fail in the current case with a short name collision that it could break others that might be counting on this behavior
• One possibility would be to first register the user with the UpdateAddressBook flag and if there is a name collision, you can stop there. If there is not a name collision one could then call the AddUserToAddress book method to add the user and ID to the address book.
An improvement to be added on LS to avoid the issues on name collision and updates on person documents like the one above