LS: Finding when an ACL was last modified

Hello all.

I have a scheduled agent which processes the ACL of all our mail databases daily.

In order to improve its efficiency, I want to check whether a specific ACL has been modified since the last run.

While the information of when an ACL was last modified exists somewhere (displayed at the bottom of the ACL properties box in the client), I did not find how to access it through a LS class or even with the Notes API!

Did I miss something ? Is it here but undocumented ?

I ended up parsing the ACL change history, which gives me a close enough estimation of the date the ACL was last modified.

Its not completely accurate, since some changes are not logged, apparently when no user/group name or role were affected, but thats OK for me.

Here is the code I used.

Since Domino 5.x used to store localized strings (french) in the change history, there is a special case for lines starting with "Le ".

Function LCALastModified (db As NotesDatabase) As Variant

Dim l As String

Dim s As String



l = db.ACLActivityLog(0)



If Left (l, 3) = "Le " Then

	s = Mid (Strleft (l, ","), 4)

Else

	s = Strleft (l, " ",, 3)

End If



LCALastModified = Cdat (s)

End Function

Subject: LS: Finding when an ACL was last modified

Hello Nicolas,

You can also get the ACL note by its noteid :

Const ACL_NOTEID = “FFFF0040”

Function ACLLastModified (db As NotesDatabase) As Variant

Dim doc As NotesDocument

Set doc = db.GetDocumentByID(ACL_NOTEID)

ACLLastModified = doc.LastModified

End Function