Domino 9 und frühere Versionen > ND7: Entwicklung
Abfrage User mit bestimmter Rolle aus ACL
s.berger:
--- Zitat von: ascabg am 02.12.09 - 15:26:33 ---So ungefaehr.
- Schleife zum Durchlaufen aller Eintraege der ACL
- Eintrag in die Klasse ACLEntry setzen
- hier gibt es die Methode IsRoleEnabled("Name der Rolle")
Liefert diese ein True zurueck, so ist fuer diesen Eintrag in der ACL die gesuchte Rolle gesetzt.
Andreas
--- Ende Zitat ---
Hallo,
Danke für die Tipps. So sieht mein fertiges script zum versenden der E-Mail aus:
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc, docmail As NotesDocument
Dim nam As NotesName
Dim namen As String
Dim acl As NotesACL
Dim entry As NotesACLEntry
Dim rtitem As NotesRichTextItem
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
Set acl = db.ACL
Set entry = acl.GetFirstEntry
While Not (entry Is Nothing)
If entry.IsRoleEnabled("myrole") Then
Set nam = New NotesName(entry.Name)
namen = nam.Common & "@mydomain"
Set docmail = New NotesDocument(db)
docmail.Form = "Memo"
docmail.SendTo = namen
docmail.Subject = "Approved"
Set rtitem = New NotesRichTextItem( docmail, "Body")
Call rtitem.AppendDocLink(doc,"link to your doc")
Call rtitem.AddNewline(1)
Call rtitem.AppendText("link to your doc")
Call docmail.Send( False )
End If
Set entry = acl.GetNextEntry(entry)
Wend
Call uidoc.Refresh
End Sub
ascabg:
Hallo,
Auf den ersten Blick sieht es gut aus.
Nur kommen wir nun zu dem Thema Gruppen.
Was wuerde Dein Script tun, wenn es sich bei dem Eintrag aus der ACL um eine Gruppe handelt?
Und noch schoener, was passiert, wenn es sich bei der Gruppe um eine Gruppe vom Typ
"Nur Zugriffskontrollliste" handelt.
(an Gruppen diesen Typs koennen ja bekannlichermassen keine Mails versendet werden.
Andreas
koehlerbv:
Die Gruppe tut doch nicht weh, Andreas - dann geht die Mail an die Gruppe. Wenn die Gruppe natürlich nicht für das Mailen geeignet ist, dann geht das in die Hose. Ergo wäre nicht der Code schlecht, sondern die ACL: Wenn die Anwendung Mails an bestimmte ACL-Einträge senden kann / soll, dann darf man dafür auch keine nur-ACL-Einträge verwenden.
Bernhard
ascabg:
@Bernhard
Prinzipiell gebe ich Dir recht.
Nur, eventuell auch schon aus eigener Erfahrung, bei mir zumindest schon aufgetreten, kommt der Wunsch nach dem Senden der Mail an bestimmte Personen/Gruppen in der ACL er im Nachhinein.
Und da sind die Gruppen schon definiert und eingetragen und auch wie nicht anders zu Erwarten weiss neimend mehr so genau darueber bescheid.
Andreas
koehlerbv:
Da sind wir dann beim Henne-Ei-Problem: Die ACL ist nicht korrekt bestimmt bzw. nicht bestimmungsgemäss aufgebaut. Wie reagieren? Der ErrorHandler, der das Problem beim Mailing an ACL-only-Groups verkündet, ist natürlich selbstverständlich. Nur: Ist da eventuell das Kind schon in den Brunnen gefallen? Sollte eventuell erst gemailt werden und im Fehlerfall eine weitere Aktion dann abgebrochen werden? Oder muss man gar vor jedem Mailing den Gegencheck im Domino Directory machen? Braucht der arme überforderte Admin vielleicht einen "Application Health Check" Button?
Ich habe mir einen Otto-Motor in mein Auto einbauen lassen. Auf eigenen Wunsch. Wer ist dafür verantwortlich, was mit dem schwarzen Schlauch in das Loch hinten im Auto eingespritzt wird, damit der Motor nicht kurz nach dem Starten verröchelt? Der Auto-Hersteller? Bestimmt nicht ;)
Bernhard
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln