Domino 9 und frühere Versionen > ND6: Entwicklung

wie kann ich alle User einer bestimmtem Rolle ermitteln ?

<< < (5/8) > >>

ascabg:
@samWare


--- Zitat ---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...

--- Ende Zitat ---

Klingt interessant. Und wie?


Andreas

Klafu:
Da müsst man doch eine einfache Abfrage machen.
Den Gruppennamen hast du ja über die ACL und die Abfrage ans Adressbuch sollte ja mit @DbLookup oder so gehn

Chris

BigWim:
@Samware


--- Zitat ---Ich verstehe nicht ganz wo das Problem mit den Gruppen liegen soll?!
--- Ende Zitat ---
Ursprünglich hatte sie ja auch kein Problem mit Gruppen. Das waren ja wir >:D

Katrin hat eine Rolle und wollte wissen, welche Personen dahinstehen und das ist nicht ganz so einfach aufzulösen. Gruppen aufzulösen ist da schon einfacher ...


@Katrin

--- Zitat ---allerdings soll "meine" Datenbank auch in einem anderen Haus Verwendung finden und was die für Gruppen haben, weiss ich nicht.
--- Ende Zitat ---
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 ...

Oder mit der Auslieferung der Datenbank werden die Bedingungen festgelegt und das andere kommt dann in Version 3.0.2 ;)

Markus

Pidray:
Vielen Dank !


--- Zitat von: jBubbleBoy am 23.09.09 - 13:22:09 ---
--- 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

--- Ende Code ---

--- Ende Zitat ---


da auch bei uns die Gruppen mit "$" beginnen, habe ich in Deinem Code nach dem DIM folgendes eingebastelt:

--- Code: ---If Left(member,4) = "CN=$" Then                                  ' = Gruppe
Set username = New NotesName(member)
member = username.Abbreviated
elseif ...

--- Ende Code ---

sonst lief ich auf einen "Out Of Stack"-Fehler, weil bei uns pro Haus 1-3 eine Gruppe $Mitarbeiter/Haus1/ORG existiert, welche durch .Common auf "$Mitarbeiter" gekürzt wurden, was in einer Endlosschleife ausuferte (mind. 100 Durchläufe bei eigentlich 12 Namen) ...

Nochmals Danke an alle und besonders an jBubbleBoy
:-*

Gruß
Katrin


Nachtrag: 28.09.2009: ach ja, ein ArrayUnique(FullTrim()) habe ich auch noch darumgelegt ...
Nun ist alles "viel gut"  ;D

Ich danke Euch !

LN4ever:
Liebe Katrin,

wenn die Gruppen, die du rekursiv auflösen möchtest, keine reinen ACL-Gruppen sind (das ist wichtig - es wird nur aufgelöst, was in der Ansicht ($VIMUSERS) angezeigt wird !!), funktioniert ein @ExpandNameList am schnellsten und sichersten, auch in einem Evaluate innerhalb des LS-Codes. Das fängt auch Fehler wie sich gegenseitig beinhaltende Gruppen ab und ist - verglichen mit allem "selbstgetrickten" deutlich preformanter.

Ja, ich weiß, das ist ein undokumentierter Befehl, aber da das von IBM selbst so oft benutzt wurde, bleibt uns das bestimmt noch lange erhalten.

Gruß

Norbert

P.S.: Bau solche Funktionen in Buttons oder Hotspots, die die Auswertung nur auf ausdrücklichen Userwunsch vornehmen und nicht automatisch bei jedem Öffnen des Dokuments, denn rekursive Gruppenauflösungen kosten Zeit und belasten deinen Server spürbar.

Verberge diese Buttons für lokale Repliken, denn da steht dir das Adreßbuch oft nicht zur Verfügung.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln