358 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Jobs | Twitter | Bookmarks | Pods | Forum | Blogs | Search | myPL | About 
 
Latest 7 Posts
False Positives on Planet Lotus
Fri, Sep 25th 2009 30
Validating URL and Email Addresses with regexp in Lotus Notes
Thu, Sep 17th 2009 94
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 51
Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 197
SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 74
Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 63
SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 194
Top 10
Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 197
SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 194
Stopping Copy and Paste, in Lotus Notes, selectivity in Views
Thu, Jul 30th 2009 106
SNTT : Validating a Notes Client Rich text field
Thu, May 7th 2009 98
Validating URL and Email Addresses with regexp in Lotus Notes
Thu, Sep 17th 2009 94
SnTT: Notes Document Structured Text Export for Multilingual (UTF-8)
Thu, Nov 15th 2007 93
SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 74
Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 63
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 51
Weird Wonderful Web Links for January 21st
Mon, Jan 21st 2008 32


Expanding Group Names for Lotus Domino using LotusScript
Ian    

I Needed to find the people that belonged to a given lotus Notes group. It couldn’t be a simple lookup since other groups can and frequently are also members of a group, so it needed to be be recursive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Function expandGroupListMembers(GroupName) As Variant
   
   
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim gView As NotesView     
    Dim memberList As Variant
    Dim gDoc As NotesDocument

        Set db = session.CurrentDatabase
    Dim nab As New NotesDatabase(db.Server ,"names.nsf") ' this assumes that db is NOT running locally but is a server

    Set gView = nab.GetView("($VIMGroups)" )
    Set gDoc = grpsView.GetDocumentByKey( GroupName , True )
   
    If gDoc Is Nothing Then Exit Function 'could not find this GroupName in view so stop and return empty
   
    memberList = gDoc.GetItemValue( "Members" )
    Forall member In memberList
        Dim subMemberList As Variant
        subMemberList = expandGroupList(member) 'see if member is a group and if so get its members
        If Not Isempty(subMemberList) Then
                       'member was a group, now add all its members to list  
            If Isempty (expandGroupList) Then
                expandGroupList = subMemberList
            Else                              
                expandGroupList =  AddArraysEval (expandGroupList, subMemberList)  
            End If         
        Else
                        'member was not a group therefore assume is a person and add to list   
                        ' note it could be a server or something else
            If Isempty (expandGroupList) Then
                expandGroupList = member
            Else
                expandGroupList =  AddArraysEval (expandGroupList, member)     
            End If         
           
        End If
    End Forall
   
   
   
End Function

Function AddArraysEval (a1 As Variant, a2 As Variant) As Variant
'from http://www.nsftools.com/tools/lsbook.htm
'** add two arrays or scalar values using @Functions
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim var As Variant
    Set db = session.CurrentDatabase
    Set doc = New NotesDocument(db)
    Call doc.ReplaceItemValue("a1", a1)
    Call doc.ReplaceItemValue("a2", a2)
    AddArraysEval = Evaluate("a1 : a2", doc)
'** clean up the memory we used
    Set doc = Nothing
    Set db = Nothing
End Function

the AddArraysEval is from Julian Robichaux’s very handy LotusScript Book

Post from: False Positives

Expanding Group Names for Lotus Domino using LotusScript



---------------------
http://www.falsepositives.com/index.php/2009/09/08/expanding-group-names-for-lotus-domino-using-lotusscript/
Sep 08, 2009
199 hits



Recent Blog Posts
30


False Positives on Planet Lotus
Fri, Sep 25th 2009 9:56a   Ian Irving
[read] Keywords: domino lotus notes sntt community firefox google php planet lotus planetlotus planetlotus.org
94


Validating URL and Email Addresses with regexp in Lotus Notes
Thu, Sep 17th 2009 9:57a   Ian Irving
[read] Keywords: lotus lotusscript notes sntt email php
51


1
can’t use @ThisName in Hide-When formulas, LOTUS NOTES meta coding FAIL
Fri, Sep 11th 2009 12:31p   Ian Irving
[read] Keywords: dblookup document formula formula language lotus notes sntt idea jam ideajam ideajam.net php properties
198


Expanding Group Names for Lotus Domino using LotusScript
Tue, Sep 8th 2009 10:09a   Ian Irving
[read] Keywords: acl document domino lotus lotusscript notes notes client rich text rich-text sntt php server
74


SNTT: a pseudo Computed for Display Rich Text Field in the Lotus Notes Client
Thu, Sep 3rd 2009 4:16p   Ian Irving
[read] Keywords: document formula lotus lotusscript notes notes client rich text rich-text sntt idea jam ideajam ideajam.net php profile workspace
63


Sacha Chua shares her Lotus Notes mail merge from a Microsoft Excel spreadsheet
Thu, Aug 27th 2009 9:40a   Ian Irving
[read] Keywords: document domino lotus notes sntt microsoft php




194


SNTT : using LotusScript to launch file attachements (EmbeddedObjects) in Lotus Notes
Wed, Aug 26th 2009 10:13p   Ian Irving
[read] Keywords: admin document domino ibm lotus lotusscript notes notes client R5 R8 rich text richtext rich-text sntt application database office php profile security workspace
20


SNTT : Don’t hard code your Selectedable Years in a Lotus Notes dialog box.
Thu, Aug 13th 2009 3:39p   Ian Irving
[read] Keywords: acl dblookup lotus lotusscript notes sntt php
16


SNTT adding http onto URL strings in Lotus Notes
Thu, Aug 13th 2009 6:20a   Ian Irving
[read] Keywords: document formula formula language lotus lotusscript notes sntt java php
106


Stopping Copy and Paste, in Lotus Notes, selectivity in Views
Thu, Jul 30th 2009 1:41a   Ian Irving
[read] Keywords: acl agent document formula formula language lotus lotusscript notes notes client sntt database php




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - FAQ - Mobile Edition