Hello.
I’m developing an application that must interface with Domino 6 and 7.
Its purpose is to generate a list of all notes in a set of given databases, also showing for each note, all the users that have read permissions on it.
(This will afterward be fed to a totally unrelated to Notes system)
My test program currently:
1.- iterates over each database getting ACL information (NSFDbReadlACL, ACLEnumEntries, which gives users/roles and permissions associated to each).
2.- iterates over each document in each database (NSFSearch) getting its UNID (and create an URL to be able to reference the doc with the URL: [notes/http]:////0/)
3.- gets the $Readers field to calculate definitive permissions in addition to the ACL found in 1
4.- [unimplemented, but planned] gets the permission bits in each note and calculates definitive permissions in addition to the ACL.
As a total Notes/Domino newbie, I feel I’m not covering all cases with this approach, and I’d like some advice about how to complete this task. My doubts are:
a) Is the above approach enough to get all users with read access to all documents in all the given databases? Can I safely assume that when the -Default- user not mentioned in the above approach, no read access is to be given unless overridden by later users/groups/roles?
b) Won’t I be missing views with that NSFSearch approach in step 2? Or views are just Notes too?
c) I will miss some roles/groups/users, as they won’t all be listed in the given set of databases, is there a way to iterate over each role/group and its users (ie, go the other way around, from roles/groups towards users and databases and documents instead of from databases to documents to users)?
In short, when will this approach fail, and what workarounds do you see? (phew, it’s a lot, but any hint will be strongly appreciated, pointers to right documentation, better approaches, etc.)
Thanks a bunch,
V.