Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Thorsten Kalweit am 15.04.15 - 10:13:16

Titel: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Thorsten Kalweit am 15.04.15 - 10:13:16
Hallo zusammen,

ich stehe gerade auf dem Schlauch... gibt es eine Methode, um die Notesgruppen eines Users auszulesen; also in welchen Notesgruppen sich ein User befindet?

Beispiel:
der User "Heinz Nutzer" ist in den Gruppen "all-Abteilungsleiter" und "all-Redakteure-Onlineportal". Jetzt führt er in einer Datenbank eine Aktion aus und ich als Entwickler möchte die Gruppen in  der Heinz Nutzer steckt auslesen.

VG und vielen Dank im Voraus
Thorsten
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Driri am 15.04.15 - 10:21:19
Siehe @UserNamesList in der Designer-Hilfe
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Thorsten Kalweit am 15.04.15 - 10:32:13
Super, vielen Dank! Das wars :-))))

Wenn alles so easy wäre...
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Driri am 15.04.15 - 11:11:53
Gerne, aber achte auf die Einschränkungen, die in der Designer-Hilfe genannt sind. Das funktioniert in einer lokalen Replik nicht uneingeschränkt.
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Thorsten Kalweit am 23.04.15 - 08:23:41
Guten Morgen zusammen!

Die Formel @UserNamesList gibt mir ja die zugehörigen Notesgruppen des aktuell angemeldeten Users. Giubt es auch eine Funktion (Formel oder Script) mit der ich die Notesgruppen eines beliebigen Users auseles kann?

Hintergrund ist, dass in einem Dokument der Notesuser und dessen zugehörigen Notesgruppen (quasi analog zu @UserNamesList) eingetragen werden müssen.

Ich weiß leider nicht, wie ich das anstellen soll...
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Driri am 23.04.15 - 08:39:33
Da wäre mir nichts bekannt. Das wirst Du vermutlich selber als Script programmieren müssen.
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: pram am 25.04.15 - 10:42:11
Es geht (bedingt*) mit LS2J
Code
UseLSX "*javacon"
Sub Initialize
	On Error GoTo handle
	Dim jSession As New JavaSession
	Dim nSession As New NotesSession
	Dim db As NotesDatabase
	Set db = nSession.Currentdatabase
	
	Dim serverClass As JavaClass
	Dim dominoServer As JavaObject
	
	Set serverClass = jSession.Getclass("lotus.notes.addins.DominoServer")
	' create DominoServer Object for current server
	Set dominoServer = serverClass.Createobject("(Ljava/lang/String;)V", db.Server)
	
	Dim namesCollection As Javaobject

	' create Collection<String> for current user
	Set namesCollection = dominoServer.getNamesList(nSession.Effectiveusername)
	MsgBox namesCollection.toString()
	Exit Sub
handle: MsgBox "Error " & Error & " in line " & Erl
	Exit sub
End sub

* Leider wird das Charset-Encoding irgendwo vermurkst, so dass Gruppen mit Sonderzeichen/Umlauten nicht korrekt zur?ck gegeben werden.
(Weiterhin ist in vielen JVM-Patches der letzten Zeit die LS2J Ansteuerung nicht möglich. Man kann keine Konstruktoren mit Parameter aufrufen)

Gruß
Roland
Titel: Re: Notesgruppen (names.nsf) eines Users auslesen
Beitrag von: Pyewacket am 25.04.15 - 13:21:01
Im names.nsf des Servers gibt es eine View ($ServerAccess).
Dort sind, kategorisiert nach Namen im Canonical Format, alle Gruppen
aufgelistet in welchen der User direkt eingetragen ist. Verschachtelte Gruppen
werden nicht berücksichtigt.