Another agent question

I want to create an agent that will send out a monthly reminder message to those in the Access Control List.  How?
schmad01Asked:
Who is Participating?
 
SysExpertConnect With a Mentor Commented:
All you need to do is open the DB, set the ACL entries and collect all the users and put them into the sendto filed of a memo
Dim rdoc As NotesDocument

You will not need most of the ACL entry stuff, just the name, but you may decide that the other info is useful.

I hope this helps !

-------------------------------------------

            Set rdoc = GetACLInfo(db, parentDoc)
                  Call GetACLEntries(db.ACL, rdoc)

Function GetACLEntries(acl As NotesACL, parentDoc As NotesDocument) As Boolean
      On Error Goto GetACLEntries_Error
      GetACLEntries = False
      Dim aclentry As NotesACLEntry
      Dim dbdoc As NotesDocument
      
      Set aclentry = acl.GetFirstEntry()
      Do Until (aclentry Is Nothing)
            Set dbdoc = New NotesDocument(session.CurrentDatabase)
            'Call CreateLog(0, "DEBUG: Creating ACLEntry document '" & dbdoc.UniversalID & "' for " & acl.Parent.Title & "...", LOG_DEBUG)
            
            dbdoc.Form = "ACLEntry"
            If aclentry.CanCreateDocuments Then
                  dbdoc.CanCreateDocuments = "-1"
            Else
                  dbdoc.CanCreateDocuments = "0"
            End If
            ' etc... for all properties that returns a boolean!!
            dbdoc.CanCreateLSOrJavaAgent = aclentry.CanCreateLSOrJavaAgent
            dbdoc.CanCreatePersonalAgent = aclentry.CanCreatePersonalAgent
            dbdoc.CanCreatePersonalFolder = aclentry.CanCreatePersonalFolder
            dbdoc.CanCreateSharedFolder = aclentry.CanCreateSharedFolder
            dbdoc.CanDeleteDocuments = aclentry.CanDeleteDocuments
            dbdoc.CanReplicateOrCopyDocuments = aclentry.CanReplicateOrCopyDocuments
            dbdoc.IsAdminReaderAuthor = aclentry.IsAdminReaderAuthor
            dbdoc.IsAdminServer = aclentry.IsAdminServer
            dbdoc.IsGroup = aclentry.IsGroup
            dbdoc.IsPerson = aclentry.IsPerson
            dbdoc.IsPublicReader = aclentry.IsPublicReader
            dbdoc.IsPublicWriter = aclentry.IsPublicWriter
            dbdoc.IsServer = aclentry.IsServer
            dbdoc.Level = Cstr(aclentry.Level)
            dbdoc.Name = aclentry.Name
            dbdoc.Roles = aclentry.Roles
            dbdoc.UserType = aclentry.UserType
            
            Call dbdoc.MakeResponse(parentDoc)
            Call dbdoc.Save(True,False,False)
            
            Set aclentry = acl.GetNextEntry(aclentry)
      Loop
      GetACLEntries = True
      'Call CreateLog(0, "GetACLEntries successfully completed.", LOG_SUCCESS)
      
GetACLEntries_Exit:
      Exit Function
GetACLEntries_Error:
      Error Err, Error$ & " (GetACLEntries)"
      Resume GetACLEntries_Exit
      
End Function
0
 
schmad01Author Commented:
I can work with that. Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.