Autor Thema: @ExpandNameList löst keine Gruppen auf  (Gelesen 5191 mal)

Offline Hans Meiser

  • Frischling
  • *
  • Beiträge: 10
@ExpandNameList löst keine Gruppen auf
« am: 10.03.11 - 14:31:48 »
Hallo zusammen,

in der Standard Ressourcen-Schablone wird mit dem undokumentierten Befehl @ExpandNameList u.a. in der lib SharedFunctions - Sub GetResourceInfo gearbeitet: tmparr = Evaluate(|@ExpandNameList( @Subset(@DbName;1) ; "| + tmplist(i) +|")|)

Bei mit mit einem Designer-Client geht es. Beim Kunden mit einem einfachen Client löst @ExpandNameList keine Gruppen auf. Wir hab es mit verschiedensten Schreibweise und Gruppen auf verschiedenen Server und von lokal getestet getestet, z.B.:
- @ExpandNameList( _server; _group);
- @ExpandNameList( _server:"names.nsf"; _group);
- @ExpandNameList( @Subset(@DbName;1) ;  _group);
- @ExpandNameList(@LocationGetInfo([HomeServer]); _group);

Die meisten Gruppen-Namen beginnen mit einem $ und sind alle im Adressbuch vorhanden. Mit eknori Funktion können sie ausgelesen werden:
http://www.eknori.de/2008-04-27/is-user-a-member-of-a-nested-group

Dieser undokumeniterte Befehl wird auch im Mail-Template verwendet und müsste doch funktionieren.
Hat jemand eine Idee woran es liegen kann? (Hab mit google nichts gefunden)

Viele Grüße
 
 





Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #1 am: 10.03.11 - 14:38:37 »
... so weit ich das erkennen konnte, lag es an dem Gruppentyp...

Toni
Grüßle Toni :)

Offline MLe56

  • Aktives Mitglied
  • ***
  • Beiträge: 102
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #2 am: 10.03.11 - 14:49:08 »
Wenn es sich um den Gruppentyp "Nur Zugriffskontrolliste" handelt, geht das nicht.

M. Leonhardt

Offline Hans Meiser

  • Frischling
  • *
  • Beiträge: 10
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #3 am: 10.03.11 - 15:22:26 »
Der Gruppentyp ist bei den Gruppen immer "Multi-purpose" - trotzdem werden sie nicht aufgelöst

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #4 am: 10.03.11 - 16:37:47 »
... habt ihr nur "Multi Purpose"-Gruppen, oder sind in diesen Gruppen auch ACL-Gruppen enthalten?

Toni
Grüßle Toni :)

Offline Hans Meiser

  • Frischling
  • *
  • Beiträge: 10
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #5 am: 10.03.11 - 16:43:16 »
bei den getesteten "Multi-purpose" Gruppe stehen nur Personen drin, keine weitere (ACL oder sonstige) Gruppen

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #6 am: 10.03.11 - 19:34:41 »
Ich könnte mir vorstellen, dass man dem Evaluate ein Kontextdokument aus der aktuellen DB übergeben muss.

und noch was, bitte in Evaluates keine Strings berechnen
Code
Evaluate(|@ExpandNameList( @Subset(@DbName;1) ; "| + tmplist(i) +|")|)
sondern besser so machen

Code
dim doc as new NotesDocument(db);
doc.data = tmplist(i)
v= Evaluate(|@ExpandNameList( @Subset(@DbName;1) ; data)|,doc)

Grund 1: die Formel wird gleich vorcompiliert (der Designer meckert z.B. beim Speichern schon wenn ein Fehler enthalten ist)

Grund 2: es lässt sich im ersten Beispiel Schadcode einfügen, angenommen tmpList(i) enthält folgende aufzulösende "Gruppe":
Code
dummy");@SetProfileField("admin";"Autoren";"*
(kannst ja mal oben einsetzen was dann für eine Formel ausgefuhrt wird)
Durch Kenntnis der DB könnte man so ein entsprechend präpariertes Dokument einem Admin unterschieben.... nicht auszudenken was dann alles passiert  :-P -> http://xkcd.com/327/ ;)

Gruß
Roland

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Hans Meiser

  • Frischling
  • *
  • Beiträge: 10
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #7 am: 11.03.11 - 11:13:22 »
Hallo Roland,

die Code-Zeile habe ich nicht selber programmiert, sondern sie ist eine Original-Zeile auf dem Lotus Notes Template "StdR7ResourceReservation version 7.03 (05.07.2007)".

Ein Kunde hat auf Basis dieses Ressourcen-Template ein paar Erweiterungen eingebaut (d.h. paar Felder aufgenommen) und nutzt es als eine weitere Raumreservierung-Datenbank. Bei den Räumen arbeitet er mit "Owner restrictions", d.h. nur bestimmte Personen/Gruppen können diese Räume buchen. Das Auflösen der Gruppen über @ExpandNameList funktioniert aber beim Kunden nicht. An der Programmierung für das Auflösen wurden keinerlei Änderungen vorgenommen, d.h. es ist ist immer noch der Original Lotus Notes Template Code.

Als Test habe ich dann einfache @Formel-Buttons mit @ExpandNameList gebaut und dabei festgestellt, dass beim Kunden die Funktion @ExpandNameList gar keine Gruppe auflöst und ich will verstehen warum. Denn ich kann mir nicht vorstellen, dass Lotus ein Ressource-Template erstellt und weltweit mit jedem Server ausliefert und dann funktioniert so ein elementarer Befehl nicht, auch wenn er undokumentiert ist. @ExpandNameList wird übrigens auch im Mail-Template verwendet.

Da muss es doch irgendwelche Restriktionen bei dem Befehl geben...   

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #8 am: 11.03.11 - 11:45:36 »
... ich arbeite auch damit, und habe ebenso die Erfahrung abhängig vom Gruppentyp gemacht, daß er nicht alle auflöst. Deshalb habe ich eine Validierung der Auflösung eingbaut, die es dann per Script vervollständigt.

Deine Einschätzung zu IBM muß ich trüben - es ist kaum zu fassen, was sich in den Originalen alles so findet...

Toni
Grüßle Toni :)

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: @ExpandNameList löst keine Gruppen auf
« Antwort #9 am: 11.03.11 - 12:43:15 »
ExpandNameList funktioniert mit großer Sicherheit dann nicht, wenn das Ergebnis der Auflösung >64K ist.
Im Hinterkopf habe ich auch noch dass es in lokalen Repliken nicht funktioniert, bzw wenn kein Zugriff auf das Adressbuch möglich ist.

Code
die Code-Zeile habe ich nicht selber programmiert, sondern sie ist eine Original-Zeile auf dem Lotus Notes Template "StdR7ResourceReservation version 7.03 (05.07.2007)". 
um so schlimmer  :o muss ich bei Gelegenheit direkt mal einen Exploit basteln ;)

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz