Solved

Lotus Domino Designer - View based on username and field not showing correctly

Posted on 2014-01-24
8
904 Views
Last Modified: 2014-02-16
I have a database with one form and 42 dropdown fields (Assignees to a record) populated with a group of lotus names.  I have 4 views to create a dashboard for the assignees.  One is all records assigned to the user, the other 3 have a restriction based on the record status.  Here is the select formula for the view that pulls all records the user is assigned to:

My field names are pro1 - pro21 and sme_1 - sme_21

SELECT (@Name([CN];pro1) = @Name([CN];@UserName) |
@Name([CN];pro2) = @Name([CN];@UserName) |
@Name([CN];pro3) = @Name([CN];@UserName) |
@Name([CN];pro4) = @Name([CN];@UserName) |
@Name([CN];pro5) = @Name([CN];@UserName)|
@Name([CN];pro6) = @Name([CN];@UserName)|
@Name([CN];pro7) = @Name([CN];@UserName)|
@Name([CN];pro8) = @Name([CN];@UserName)|
@Name([CN];pro9) = @Name([CN];@UserName)|
@Name([CN];pro10) = @Name([CN];@UserName)|
@Name([CN];pro11) = @Name([CN];@UserName)|
@Name([CN];pro12) = @Name([CN];@UserName)|
@Name([CN];pro13) = @Name([CN];@UserName)|
@Name([CN];pro14) = @Name([CN];@UserName)|
@Name([CN];pro15) = @Name([CN];@UserName)|
@Name([CN];pro16) = @Name([CN];@UserName)|
@Name([CN];pro17) = @Name([CN];@UserName)|
@Name([CN];pro18) = @Name([CN];@UserName)|
@Name([CN];pro19) = @Name([CN];@UserName)|
@Name([CN];pro20) = @Name([CN];@UserName)|
@Name([CN];pro21) = @Name([CN];@UserName)|
@Name([CN];sme_1) = @Name([CN];@UserName)|
@Name([CN];sme_2) = @Name([CN];@UserName)|
@Name([CN];sme_3) = @Name([CN];@UserName)|
@Name([CN];sme_4) = @Name([CN];@UserName)|
@Name([CN];sme_5) = @Name([CN];@UserName)|
@Name([CN];sme_6) = @Name([CN];@UserName)|
@Name([CN];sme_7) = @Name([CN];@UserName)|
@Name([CN];sme_8) = @Name([CN];@UserName)|
@Name([CN];sme_9) = @Name([CN];@UserName)|
@Name([CN];sme_10) = @Name([CN];@UserName)|
@Name([CN];sme_11) = @Name([CN];@UserName)|
@Name([CN];sme_12) = @Name([CN];@UserName)|
@Name([CN];sme_13) = @Name([CN];@UserName)|
@Name([CN];sme_14) = @Name([CN];@UserName)|
@Name([CN];sme_15) = @Name([CN];@UserName)|
@Name([CN];sme_16) = @Name([CN];@UserName)|
@Name([CN];sme_17) = @Name([CN];@UserName)|
@Name([CN];sme_18) = @Name([CN];@UserName)|
@Name([CN];sme_19) = @Name([CN];@UserName)|
@Name([CN];sme_20) = @Name([CN];@UserName)|
@Name([CN];sme_21) = @Name([CN];@UserName))
0
Comment
Question by:k_ander
  • 3
  • 3
  • 2
8 Comments
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 39806929
Is not going to work. It might work, for a while, but only for one user, and all other users get the same view content. Explanation: view content is more or less fixed (which is why it's fast). @UserName is calculated once for a document in the view, and then that value is used everywhere, also by other who use the view: if the document isn't updated, neither is the view.

The ideal way to get what you want to accomplish:
- create a view, first column categorized, with a formula like
     @Name([CN];@Trim(sme_1:sme_2: ;;;;))
- create a page
- put an embedded view on that page, that shows a single category
- for the single category formula, use
     @Name([CN];@UserName)
0
 
LVL 10

Expert Comment

by:larsberntrop
ID: 39807978
Also, view performance will be way better if you accumulate assignee names on the document, and not in the view. At the bottom of the form create a Computed multivalue Names field 'AssigneeAccu'. I would hide it. Formula: @Sort(@Trim(@Unique(pro1:pro2:pro3:pro4:pro5:pro6:pro7:pro8:pro9:pro10:pro11:pro12:pro13:pro14:pro15:pro16:pro17:pro18:pro19:pro20:pro21:sme_1:sme_2:sme_3:sme_4:sme_5:sme_6:sme_7:sme_8:sme_9:sme_10:sme_11:sme_12:sme_13:sme_14:sme_15:sme_16:sme_17:sme_18:sme_19:sme_20:sme_21)))

Note that pro1 - pro21 and sme_1 - sme_21 should be names fields too.  That way, if you assign an Administration Server to the db, and set the ACL to let the admin server kep all names up to date, if anyone changes his or her name the records stay assigned to the right person.
Then the formula for the column becomes:
AssigneeAccu
0
 
LVL 10

Expert Comment

by:larsberntrop
ID: 39807990
Note that you could also use a reader field (the AssigneeAccu field is a good candidate) so that the single category is not necessary.  That gives you more options in the view like enabling alternate sort columns (which do not work in combination with single category display).

Keep in mind that for large numbers of documents and assignees, a performance problem may arise when using Reader fields. This is because Domino likes to return 64k of view data, and if only a small percentage of the documents can be seen, Domino still needs to first plough through a lot of documents before the buffer is filled. Just test it and keep it in mind and document it, so in 10 years time you know what to look for if people complain.
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 

Accepted Solution

by:
k_ander earned 0 total points
ID: 39813318
It ended up that I did not have the view set to shared, private on first use. Once I did this, it worked fine.
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 39813945
I strongly advise you not to use this type of view if you may have to change the design of the view. Even one change can become a serious pain in the neck: because the view will become a private view once used, you cannot update its design. So ONLY use this type of view when you are 100% sure its design will never change.
0
 
LVL 10

Expert Comment

by:larsberntrop
ID: 39814359
@K_ander:

Please consider educating yourself further by exploring redbooks and other resources about Domino design.

@Sjef: that happens when people don't get the opportunity to properly study Domino, and have to opt for the first solution that works.
0
 
LVL 46

Expert Comment

by:Sjef Bosman
ID: 39814393
@Lars: that's a little true, indeed. I asked myself yesterday: hm, yes, it apparently solved a problem, so it seems a good suggestion, but why didn't I propose it myself? Answer: it's just not in my toolbox. And for a good reason: it's a good tool, but you need to be cautious with it. It's quite often that there are many solutions to a problem in a particular situation in Notes, but one really has to know the pros and cons of them all in that situation. That takes time, months, often even years...
0
 

Author Closing Comment

by:k_ander
ID: 39862483
I determined this solution to be best after speaking to my internal team.  When changes are needed, I created an updated view and point the outline to the new view.  So far it has worked perfectly!
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Resolve Outlook connectivity issues after moving mailbox to new Exchange 2016 server
Are you irritated by repeating emails issue in Microsoft Outlook 2016 after recent update ?  Lets’ see how to resolve and prevent duplicate emails in the Outlook 2016 using some simple techniques.
In this video we show how to create a mailbox database in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Servers >> Data…
To show how to generate a certificate request in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Servers >> Certificates…

786 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question