rekursive im NAB auflösen.was heißt das bitte ? NAB ?
Danke für die schnelle Antwort "rekursive im NAB auflösen.was heißt das bitte ? NAB ?
und wie mache ich das ? Ich weiss nicht mal genau, nach welchen Stichpunkten ich suchen soll ...
:-:
Gruß
Katrin
Das hört sich an wie mit Kanonen auf Spatzen schießen...*lol* da haben wir uns wohl überschnitten
@UserRoles auswerten.Hmm, das gibt doch nur die Rolles des aktiven Benutzers zurück, oder ?
Es soll ein "freundlicherer" Ersatz sein für die lapidare Info "Nur User mit der Rolle XYZ dürfen das!"Das macht der Client "automatisch", wenn Du mit Erstellen->Abschnitt->kontrollierter Zugriff arbeitest.
Hallo Katrin,automatisch passiert doch nur das sichtbar/nicht sichtbar - ohne Info für wen es sichtbar istZitatEs soll ein "freundlicherer" Ersatz sein für die lapidare Info "Nur User mit der Rolle XYZ dürfen das!"Das macht der Client "automatisch", wenn Du mit Erstellen->Abschnitt->kontrollierter Zugriff arbeitest.
Markus
Hallo,
@klafu
So weit waren wir schon.
Nur eine kleine Frage.
Wie kommen ich somit an die Namen der berechtigten Personen ran?
Es bleibt doch nur das schon erwaehnt Mittel mit LS und der rekrusiven Funktion
Andreas
Auch nicht schlecht.Danke (*Stolz*), blinder Hahn findet auch mal ein Korn ...
Aber.Ich will nicht abstreiten, dass es dann aufwendiger wird, aber unsere Gruppen fangen z. B. alle mit einem $ an. So kann ich unterscheiden: Person oder Gruppe. Und dann muss ich über eine Schleife "weiter" auflösen.
Gruppe 1 beinhaltet Gruppe 2 und Gruppe 3.
Gruppe 2 beinhaltet Gruppe 4
Gruppe 3 beinhaltet Gruppe 5 und Gruppe 6
Und was ist wenn eine Gruppe eine Liste von Gruppen beinhaltet ???soweit ich weiss, gibt es das in unserem Haus nicht, allerdings soll "meine" Datenbank auch in einem anderen Haus Verwendung finden und was die für Gruppen haben, weiss ich nicht.
Wenn ihr wollt kann ich euch einen LS - Codeschnipsel zur Rekursiven Gruppenauflösung bereitstellen.:) oh, das wäre super ! Ich wollte das Ganze schon fallen lassen ...
Ich hab das ganze nämlich schon mal gemacht :)
'-- Globale Variablen
dim lauf as integer
dim groupview as notesview
dim memberarray() as string, grouparray() as string
'-- Aufruf dann z.B.
mitglieder$ = getAllGroupMembers(server$, filepath$, gruppe$)
Function getAllGroupMembers(server As String, filepath As String, group As String) As String
Dim se As New NotesSession
Dim namesdb As New notesdatabase( server,filepath)
Dim member$
Set groupview = namesdb.Getview("Groups")
Redim memberarray(0)
Redim grouparray(0)
lauf = 0
member = ""
Forall i In checkGroups(group,0)
If i <> "" Then member = member + ";" + i
End Forall
If Len(member)>0 Then member = Right(member,Len(member)-1)
getAllGroupMembers = member
End Function
Function CheckGroups(groups As String, i As Integer) As Variant
Dim doc1 As NotesDocument
Dim flag%,membertest
Dim memberdoc As NotesDocument
Set memberdoc = groupview.GetDocumentbyKey(groups,True)
If Not (memberdoc Is Nothing) Then
Forall member In memberdoc.members
Redim Preserve memberarray(i)
member = CheckName(member)
Set doc1 = groupview.GetDocumentbyKey(member,True)
If Not (doc1 Is Nothing) Then
Redim Preserve grouparray(lauf)
grouparray(lauf) = member
lauf = lauf +1
membertest = CheckGroups(member,i)
Else
flag = 0
Forall v In memberarray
If v = member Then flag = 1
End Forall
If flag = 0 Then memberarray(i) = member
End If
i = i+1
End Forall
End If
checkgroups = memberarray
End Function
Function CheckName (member As String) As String
Dim username As NotesName
If Left(member,2) = "CN" Then
Set username = New NotesName(member)
member = username.Common
End If
checkname = member
End Function
Ich verstehe nicht ganz wo das Problem mit den Gruppen liegen soll?! Das kann man doch alles wunderbar auflösen (anhand des Adressbuches). Mit der richtigen Logik ist auch die Sache mit den verschachtelten Gruppen kein Problem...
Ich verstehe nicht ganz wo das Problem mit den Gruppen liegen soll?!Ursprünglich hatte sie ja auch kein Problem mit Gruppen. Das waren ja wir >:D
allerdings soll "meine" Datenbank auch in einem anderen Haus Verwendung finden und was die für Gruppen haben, weiss ich nicht.Das wäre dann noch eine Einstellung für den Steuerungsdokument, wobei Du dann noch dem "Gruppe in Gruppe"-Problem vorbeugen mußt. Mit unserem Namenskonzept kann ich die Laufzeit der Formel-Schleife "etwas abkürzen", aber notwendig ist das nicht ...
Code...Function CheckName (member As String) As String Dim username As NotesName If Left(member,2) = "CN" Then Set username = New NotesName(member) member = username.Common End If checkname = member End Function
If Left(member,4) = "CN=$" Then ' = Gruppe
Set username = New NotesName(member)
member = username.Abbreviated
elseif ...
P.S.: Bau solche Funktionen in Buttons oder Hotspots, die die Auswertung nur auf ausdrücklichen Userwunsch vornehmen ...
@ExpandNameList begleitet uns seit Version 4 bis in Version 8.
...
Verwendung einer undokumentierten Funktion
Räumt die Gruppennamen auf, die einen Slash enthalten.warum ist das nötig ? Bringt das Probleme ? Wenn ja, welche ?
Alles klar, was das für Auswirkungen hat, Katrin?
Gruppe $Mitarbeiter/Haus1/ORG
Person Vorname Nachname/Haus1/ORG
Haus1-9 sind verschiedene Städte mit eigenem Notes-Server Haus1/ORG