|
|
|
|
|
|
|
|
|
|
PROGRAMMING POWER
The real scoop on the ($Users) view
By Mick Moignard
Over the last two weeks, we've talked a bit about the ($Users) view. The real scoop on the ($Users) view is that it is used by the Domino server for mail address resolution, among other things. To that end, there are two things in this view to be aware of.
First is the selection formula. Why not follow along with me, if you have a designer client, by looking at the ($Users) view in your client's name and address book -- it's the same view. The selection formula describes what actually gets included in the view. The formula is
SELECT (Type = "Person" : "LoginUser" : "Certifier" : "Database") | (Type = "Group" & (@IsUnavailable(GroupType) | (GroupType = "0" : "1"))) |
((@IsAvailable(InternetAddress) | @IsAvailable(httpPassword) | @IsAvailable(userCertificate) & @IsUnavailable($Conflict)) & !(GroupType = "2" : "3"))
|
This basically includes all Person documents, all mail-in databases, all Groups of types 0 and 1 -- which are Mail only and Multi-purpose, anything with an Internet address, and a few other bits and pieces. It shows anything that can be mailed to. I should say at this point that the formulae I'm showing here were taken from a 6.0.3 Domino Directory. If you run earlier versions, your formulae will be slightly different, but the general thrust will be the same.
The second piece of the pie is the formula that derives the Name column. This is the column that everything is looked up against. For mail delivery, the local part of the Internet address, or the Lotus Notes name, are looked up in here to find a match. If one is found, then Notes uses that document to determine the delivery point. That could be a real Notes database, if the name matches a person or mail-in database. If it matches a group, it will give a whole new list of names to check. If it's a person document with a forwarding address, then the whole router process starts again to determine what to do with the new address it's found. Look at the formula for this column:
REM {Get distinguished name (if exists) in dn}
dn := @Subset(@If(Type = "Group"; ListName; FullName); 1);
REM {Permute names in users}
users := @Trim(
@LowerCase(
@If(
Type = "Group";
ListName
: @Soundex(ListName)
: @If(@Contains(ListName; "="); @Name([Abbreviate]; ListName); "")
: InternetAddress;
Type = "Database";
@Soundex(FullName)
: FullName
: @Name([Abbreviate]; FullName)
: InternetAddress;
Type = "Person";
FirstName
: LastName
: FullName
: @Name([CN]; dn)
: ShortName
: @Soundex(LastName)
: (Lastname + " " + FirstName + " " + MiddleInitial)
: @Name([Abbreviate]; FullName)
: AltFullName
: @Name([Abbreviate]; AltFullName)
: @Name([CN];AltFullName)
: InternetAddress
: NetUserName;
Type = "Certifier";
FullName
: @Name([CN]; dn)
: @Name([Abbreviate]; FullName);
FullName:InternetAddress : @If(ShortName != ""; ShortName; "")
)
)
);
REM {If (virtual directory entry)}
REM { then return org-qualified permutations}
REM { else return normal permutations}
@If(
@TextToNumber(@Version)<171;
users;
@If(@IsVirtualizedDirectory & @Length(@Name([O]; dn))>0;
("@" + @LowerCase(@Name([O]; dn)) + @Char(9) *+ users);
users
)
)
|
[ Next ]
|
|
|
|
|
|
-- Advertisement --
2-Minute Tutorials
How do I...
- integrate MS Office or OpenOffice with Notes?
- create cross-tab reports and charts?
- print serial letters and mailing labels?
- create PDFs in Lotus Notes?
Check out the 2-minute tutorials here. |
-- Advertisement --
SECURTRAC - MONITOR AND CONTROL YOUR DOMINO ENVIRONMENT
When it comes to your business, how do you ensure compliance with SOX, HIPAA or other industry driven regulations? Use SecurTrac to monitor and audit the life cycle of all objects in your Domino environment.
- Database Monitor
- Mail Monitor
- Domino Directory Monitor
- Notes.ini File Monitor
- Intrusion Detection Monitor
Click here for details and a free evaluation copy. |
|
|
|
|
|
|
|
|