Hi!I have to design a database that uses reader fields and I have a question of what is the best way to implement it.
Basically talking it is a C API Extension manager that is executed each time the workstation starts… this addin opens a database in a server and creates a document (one per user) if it didn’t exist before. There will be plenty of replicas of the same DB in many servers…
So, at this point we have a DB with thousands of documents.
Each document will have a reader field and its value is the user name… so users will only see their own documents.
Now, first thing is replication among servers… here I have two choices:
1+ Put LocalDomainServers and OtherDomainServers in another reader field so servers will also see these docs. I was told that it is a best practice to delete these groups… what do you think?
2+ Put a [Server] role in these DBs and create a new reader field having this [server] role value.
Also I need some users administer this DB and see these documents… What do you suggest?:
a+ Create a ProductAdmin group and let members of this group view and modify documents
b+ Create a new [ProductAdmin] role and let members of this role create and modify documents
Subject: Design of a DB with readers… which is the best design?
1- to delete these groups… what do you think?, what do you mean? Delete fromthe NAB. I would not do that.2- Good practices, you will always be able to access those documents.
a- restrict who can add members to this group, because a user can add groups of groups so would could have hundreds of peoples accessing you db without knowing it.
b- good practices too
just one point to consider if you have thousands of documents and your user are able to see only one
Reader Fields: http://www.redbooks.ibm.com/redbooks/pdfs/sg245602.pdf Performance Considerations for Domino Applications IBM - United States Notes from Support: Reader Names fields can impact performance
Use of ReaderNames fields slows view performance in Notes - search Technotes Doc Number: 1097609
Subject: Design of a DB with readers… which is the best design?
Pablo,
Make sure that the view your users use is not flat, as you’ll have performance problems. It should either be categorized or, better yet, an embedded view using show single category (presumably their name is the category key).
Definitely use a [Servers] role and apply that to all the relevant servers, whether LocalDomainServers or some other group of servers.
Definitely create a new [ProductAdmin] role and apply that role to whatever groups you want, including ProductAdmin group.