Domino Administrator doesn't include the ability to set the Setup Profile names
in Person docs without manually editing each one. Borrrring.
This Action (part of the People view) lets you pick one or more Setup Profiles
and then writes the Setup Profile names to the Person document(s) selected in
the People View. Call the action something like "Choose Setup Profile".
This allows Dynamic Configuration to pick the Setup Profile information even
though you didn't originally create the Person using Setup Profiles.
Note: Any existing profile name is in the Person doc is overwritten, so be sure
to pick all the Setup Profiles that apply to all selected people!
Danger: The Actions menu in Domino Administrator has an entry "Remove
Profile". This has nothing to do with Setup Profiles, but rather removes the
Directory Profile! This is a BAD action, as it nukes all of your Directory
Profile settings for your Domino Directory (such as the Domain and Directory
Catalog names). grrrrrr. You should change the design of your NAB to ditch
this BAD action!
Sub Click(Source As Button)
' *** PLEASE TEST BEFORE USING! ***
' (c) 1999 wareSource - www.waresource.com Permission granted to use freely in
non-commercial applications as long as this comment is retained
Dim w As New NotesUIWorkspace
Set UIView = w.CurrentView
If UIView.ViewName<>"People" Then
Msgbox "This Action can only be run from the People view!"
Dim s As New NotesSession
Dim db As NotesDatabase
Set db = s.CurrentDatabase
Dim alldocs As NotesDocumentCollection
Set AllDocs = db.UnprocessedDocuments
If AllDocs.count = 0 Then
Msgbox "You have not selected any people."
Dim Doc As NotesDocument ' this will be each person doc
'get profile names from picklist of Profiles view
Server = db.Server
File = db.FilePath
ProfileList = w.PickListStrings( PICKLIST_CUSTOM, True, Server,File,
"Profiles", "Setup Profiles", "Select one or more profiles:", 1 )
' cycle through selected docs and set Profiles field
Set Doc = AllDocs.GetFirstDocument
While Not(Doc Is Nothing)
Set getProfiles = Doc.GetFirstItem("Profiles")
Call Doc.Save(False, False) ' don't overwrite
Set Doc = AllDocs.GetNextDocument(Doc)