A Quick View/ACL Tip
Things are a bit hectic here at the moment, which might reflect in the quality of my blogging from time to time. I'm trying to use the spare time I do have at the moment to finish January's article, which is nearing completion. It's a good one though and worth the wait!
For today I just have a quick tip to pass on. The other day I pasted a view from one database to another but it didn't appear in the list of Views in Designer. I tried pasting again and there was still nothing there. After a little lateral thinking I realised my mistake. The View I was pasting could only be accessed by the [Admin] role. While I had this role in the source database it didn't exist in the target's ACL. To solve this I temporarily added the role the target DB's ACL, gave myself the role, disabled the security setting on the pasted view (which now appeared in the list) and then removed the role from the ACL.
It might seem obvious but it had me stumped for a while.
Same applies when applying a template to a live database that you/your Administrator does not have all the Roles for (both ways)
I have been caught out by that one several times - sit back and watch the design elements disappear!!!!
Same applies if you are working on a local DB and not have set "Enforce Consistent ACL" - even if you have the specified role.
It once happened to me and I ended with around 24 copies of the view :). I was in a hurry to solve a database that wasn't working and it was something along the lines of:
- Damned Notes! Damned Lotus! I hate IBM and all the bugs in their software! (While pressing Ctrl+C repeatedly)
(pause)
- Oh! Wait... did the original view had an ACL?
- Oooops.
Worst of all: Quite a number admins don't have a clue about it. Dangerous indeed.
Maybe you should setup a Notes admin site as well. If it just contains this tip, it's O.K. already.
Been there, done that, got the migraine scars to prove it. Which is why I put 2 admin type roles in every database I create. Saves me from pulling out what little hair I have left.
Sean---
I simply don't restrict views (or, for that matter, forms, most of the time) individually by ACL. In general, I try to design databases such that there's no harm in making the design element available to all, as long as they have rights to the database to begin with. Most other access issues can be solved with Author and Reader fields on documents (which carry their own headaches, but are often unavoidable).
Did the same thing myself the other day...it is quite frustrating. I like Sean typically have an Admin role in every database I create, which does usually save the headache.