|
|
|
|
|
|
|
|
|
|
|
|
|
|
PROGRAMMING POWER
Inside mail distribution: the programming project
By Mick Moignard
| In "Inside mail distribution: the application," elsewhere in this issue of DominoPower Magazine, Mick Moignard introduced you to his System Managed Groups application by showing you how it looks to the administrator. In this article, you'll get to roll up your sleeves and see what the code looks like. He'll show you exactly how he did it so that you too can keep your groups automatically maintained.
|
In my other article, I showed you how my System Managed Groups application looks to the administrator. You're now probably asking yourself, "So how does all this actually work?" Well, I intend to show you exactly how I did it.
Let's start with the forms. There are two simple forms that are used as profiles. The first one, NabFields, is used to maintain a list of the fields in the Directory that are then used in Rules. This profile is here simply to ensure that on Rule documents, the field names cannot be misspelled and that only certain fields in the Directory may be used for Rules. The other profile, NonManaged Groups, is used to create a list of groups that the application is not to touch. This profile content is used when selecting group names on the Group definition form, and the processing agent also uses it.
The other two forms, the Rules and the Groups forms, we have already seen as the user sees them. The Rules form has nothing special about it that merits further discussion. On the Groups form, there are a few things worth a mention. The first is the formula behind the Groups hotspot:
tempgroup:=@PickList([Custom]:[Single];@Subset(@DbName;1):"Names.NSF";"Groups";"Select a Group";"Select the Group name for this definition";1);
NMGroups:= @GetProfileField("NMGROUPS";"NMGroups");
FIELD groupname:=@If(@IsMember(tempgroup;NMGroups);@Do(@Prompt([OK];"Non-Managed Group";"The group you've selected is listed as being not manageable by this application. You must make an alternative selection.");@Return(""));tempgroup);
@All
|
This checks that any groups selected from the Directory are not in the list of non-managed groups. This check is also repeated in the field that allows Group names to be typed in.
The second hotspot in this form is as follows:
FIELD rules:=@PickList([Custom];"":"";"RULESNAME";"Select Rules";"Select all the rules that apply to this group.";1);
@PostedCommand([RefreshHideFormulas]);
@All
|
The RefreshHideFormulas is used to trigger the HideWhen that manages the display of the And/Or selection field for multiple groups. This has the simple formula:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Advertisement --
Power Tools 6.0 is a set of 90 administrative utilities for Lotus Notes & Domino
Power Tools simplifies management of the Notes/Domino environment by automating routine tasks. Power Tools can manage or monitor mail files, groups, ACLs, agents, LOG.NSF, templates and more.
Download a trial version from helpsoft.com. |
-- Advertisement --
Mark your calendar for in-depth Lotus training, May 12-14, Boston
Join experts and peers May 12-14 in Boston for educational and networking events that deliver real-world Lotus training so you can increase productivity and efficiency in your company, advance your skills, and squeeze the most from your current environment. One registration gets you into THE VIEW's Admin2010 and Lotus Developer2010.
Register by December 31 to save $350. |
|
|
|
|
|
|
|
|
|
|