I started using Notes in 1993 or so - and developed a helpdesk application. Since then I've been dual-PCLP in most releases. And yet - every week or so - you learn something new. And this one is good enough to talk about.
Lets imagine you have a complex application where document visibilty is controlled by using reader or author fields. Simple stuff, its been in Notes for years. Fantastic. Its not yet in Sharepoint - shhh - dont tell em.
One of the golden rules of using Reader/Author fields is to *always* use fully canonicalised names. Such as 'CN=Joe Bloggs/O=Acme'. Not an abbreviated name such as 'Joe Bloggs/Acme', and certainly not a 'flat' or 'common name' such as 'Joe Bloggs'.
What if you did just use a flat name ?
Well, if the users person document shares the same Organisational unit - in this case, 'Acme' - as the server - it would work. @UserNamesList would show a common name component and if you clicked on the security button on the status bar, the user would see a common name ('Joe Bloggs') in a line on its own. Everything is fine.
Ah. But times have changed, and Acme is now the 'Road Runner' organisation. But Joe has not yet been recertified to the new hierarchy.
Horrors upon horrors, he cannot read or edit any documents anymore. As the reader/author fields used 'common name' or 'flat' name only, and the users organisational unit is DIFFERENT from the server, then the @userNamesList function does NOT return the common name, and neither does the security button.
Back in the v2 to v3 transition this made perfect sense. Its working as designed. But now, as most folks are rushing to 8.5.1, an old feature like this looks odd.
It took two of us a day to dig this out. Hopefully, this entry should be google friendly, so others wont have to put quite as much effort into this.
So. Lesson learnt. Always use fully canonicalised names.
(No exclamation marks were killed in the production of this blog entry)