Tip

Get all members of Domino Directory Group

This code generates a list of users from a group name from the NAB. The code will determine whether the name corresponds to a person or group, and if it's a group, then the code will break it down into all person members. The code works even if there are nested groups. However, the code is restricted by the Domino limit on recursive calls, which depends on the Domino Directory.

Function getPersonMembers
(groupName As String) As Variant
 Dim nab As New NotesDatabase("","names.nsf")
 Dim grpView As NotesView, personView As NotesView
 Dim doc As NotesDocument , doc2 As NotesDocument 
 Dim namesList As Variant
 Dim memberList() As String
 Dim grpname As NotesName
 
 If nab.Server = "" Then
  Set nab = New NotesDatabase
("Servername","names.nsf")
 End If
 Set grpView = nab.GetView("Groups")
 Set personView = nab.GetView("($VIMPeople)")
 Set doc = grpView.GetDocumentByKey(groupName)
 
 Redim memberList(0) As String
 If Not doc Is Nothing Then
  Forall mbrs In doc.members
   Set grpname = New NotesName(Cstr(mbrs))
   Set doc2 = personView.GetDocumentByKey
(grpname.Common)
   tmnE =  Elements(memberList) 
   x = 0
   If doc2 Is Nothing Then
    namesList = getPersonMembers(grpname.Common)
    
    If Ubound(namesList) > 0 Then
     
     Redim Preserve memberList(0 To tmnE + 
Ubound(namesList))
     Forall nms In namesList
      memberList(tmnE + x) = Cstr(nms)
      x=x+1
     End Forall
    End If
   Else
    Redim Preserve memberList(0 To tmnE + x)
    memberList(tmnE + x) = Cstr(mbrs)
   End If   
  End Forall
 Else ' entry is either a person or a mail in db.
  t =  Elements(memberlist)
  Redim Preserve memberList(t)
  memberList( t) = Cstr(groupName)
  
 End If
 getPersonMembers = memberList
End Function

Do you have comments on this tip? Let us know.

This tip was submitted to the SearchDomino.com tip exchange by member Melissa Fuller. Please let others know how useful it is via the rating scale at the end of the tip. Do you have a useful Notes/Domino tip or code to share? Submit it to our monthly tip contest and you could win a prize and a spot in our Hall of Fame.

This was first published in April 2005

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.