Domino 9 und frühere Versionen > ND7: Entwicklung

Abfrage User mit bestimmter Rolle aus ACL

<< < (2/2)

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