Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 18.07.06 - 09:01:28

Titel: Hide when bei Outline funktioniert nicht
Beitrag von: Alexis am 18.07.06 - 09:01:28
Hallo Forum,

bin auch beim Recherchieren in den bekannten Foren nicht fündig geworden!

Warum funktioniert folgender Code nicht beim "Hide when" für Outline


Code
Addressbook:="Servername":"names.nsf";
Name:=@Name([Canonicalize]; @UserName);
Group:=@DbLookup("":"NoCache";Addressbook;"Groups";"Editors";"Members");
@IsMember (Name;Group)

Hinterlege ich den Code einem Button, wird mir korrekt zurückgegeben, ob der User Member ist oder nicht.

Hat jemand eine Idee?

Alexis
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: DerAndre am 18.07.06 - 09:07:06
Vielleicht habe ich ja eine Wissenslücke. ( Ehrlich gesagt ich habe es so noch nicht probiert )
Funktioniert dieses Adressbook konstrukt?
Klappt es denn wenn Du Server und DB einzeln aufführst?

André
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: Glombi am 18.07.06 - 09:20:26
Bei Hide-When-Problemen in Outlines lösche ich zuerst immer die cache.ndk bevor ich was anderes probiere.
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: Alexis am 18.07.06 - 09:29:39
Hallo Andre, hallo Glombi,

so sieht der funktionierende Code hinter einem Button aus:

Code
Addressbook:="Servername":"names.nsf";
Name:=@Name([Canonicalize]; @UserName);
Group:=@DbLookup("":"NoCache";Addressbook;"Groups";"Editors";"Members");
@If(@IsMember (Name;Group);@Prompt([Ok];@Name([CN];Name);"Is Member");@Prompt([Ok];"";"Not Member"))

Den Cache lösche ich regelmäßig beim Testen und Neustart des Clients.

Alexis
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: DerAndre am 18.07.06 - 09:39:22
Sorry den Buttonsatz habe ich völlig überlesen  ::)

Hm, eigentlich würde ich auch auf die Methode von Andreas zurückgreifen.
Notes schliessen, Cache.ndk löschen, Client starten.

Da habe ich schon oft erfolge mit erzielen können.

André
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: Untitled am 18.07.06 - 09:56:54
Sehe ich das richtig: Du versteckst den Eintrag, falls der Benutzer Mitglied einer Gruppe ist? Sollte es nicht umgekehrt sein?

Was funktioniert denn nicht? Wird der Eintrag dauernd ein- oder ausgeblendet oder eben, wie ich es vermute, genau umgekehrt?  ;)

Moritz
Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: Alexis am 18.07.06 - 10:13:36
Hallo Moritz,

es ist schon so gewollt:

Der Outline-Eintrag soll verborgen werden, wenn der User Mitglied der Gruppe ist.

Der derzeitige Effekt ist, dass das Element NICHT verborgen wird, wenn der User Member ist.
Trage ich @IsNotMember(...) ein passiert ebenfalls NICHTS!

Ich werde das ganze mal mit Rollen versuche.

Alexis

Titel: Re: Hide when bei Outline funktioniert nicht
Beitrag von: Glombi am 18.07.06 - 10:18:03
Anstelle des Lookups würde ich mit @UserNameList arbeiten:

For a database on a server or a local database with "Enforce a consistent Access Control List across all replicas" in effect, @UserNamesList returns a text list containing the following information for the current user:
Common name
All hierarchical names (fully distinguished) that include the user name; for example, CN=My Name/OU=My Org Unit/O=My Org, plus */OU=My Org Unit/O=My Org, */O=My Org, and *
Any roles associated with the user in the ACL
All groups to which the user belongs (only if the database is on a server)
Note  This @Function is new with Release 5.
Syntax
@UserNamesList


Damit kannst Du dann alles erschlagen ;-)

Andreas