Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: ch.radke am 06.07.06 - 09:02:22

Titel: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 09:02:22
Guten Morgen,

ich möchte in einer Ansicht nur Dokumente von Mitarbeitern aus der Gruppe des angemeldeten Benutzers anzeigen lassen.

Dazu habe ich zunächst in den Personendokumenten im names.nsf die Firmenhierarchie gepflegt:
Level0 = Dezernat
Level1 = Abteilung
Level2 = Gruppe

Im Dokument gibt es ein berechnetes Feld "Gruppe" das mit folgender Formel gefüllt wird:
@DbLookup("":"NoCache";<Servername>:"names.nsf";"(<Ansicht>)";@Name([Abbreviate];Antragsteller);"Level2")
Das Feld wird korrekt gefüllt.

In der Ansichtsauswahl habe ich zwei Varianten ausprobiert:

1.
SELECT Gruppe = @DbLookup("":"NoCache";"<Servername>":"names.nsf";"(<Ansicht>)";@Name([Abbreviate];@UserName);"Level2")

2.
SELECT @Contains(Gruppe; @DbLookup("":"NoCache";"<Servername>":"names.nsf";"(<Ansicht>)";@Name([Abbreviate];@UserName);"Level2"))

Variante 1 zeigt KEINE Dokumente, Variante 2 zeigt ALLE Dokumente, auch die, bei denen die Gruppe von Antragsteller und angemeldetem Benutzer nicht übereinstimmt.

In einem Testfeld habe ich mir die Gruppe des angemeldeten Benutzers mit der Formel
@DbLookup("":"NoCache";"<Servername>":"names.nsf";"(<Ansicht>)";@Name([Abbreviate];@UserName);"Level2")
anzeigen lassen. Sie wird korrekt ermittelt.

Die Datentypen im names.nsf und meiner Datenbank stimmen überein.

Und nun habe ich keine Ahnung mehr, was ich machen kann.

Wenn mir jemand helfen könnte, wäre ich sehr froh! Danke schon mal!

Gruß
Christian
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: 0xse am 06.07.06 - 09:03:43
Nehme niemals nie @UserName in der Ansicht. Den einmal aufgebauten Index für Benutzer A, bekommt dann auch B zu sehen ^^

Stichwort SPOFU, musst ich auch vor ein paar Tagen lernen :)
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 09:14:40
Hi,

das klingt so bitter endgültig.

Hast Du ne Idee wie ich das angehen kann? Kann man den Aufbau des Index verhindern bzw. beim Aufruf löschen?

SPOFU? Ist mir noch nicht ganz klar, was dahinter steckt.

Gruß
Christian
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: Glombi am 06.07.06 - 09:17:03
SPOFU = Shared private on first use

also im Endeffekt private Ansichten


Für den Problem würde ich mit einer eingebetteten Ansichten und Single Key arbeiten.

Andreas
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 09:26:07
Das ist aber doch keine private Ansicht  ???

eingebette Ansicht? Single Key?  :-:

Irgendwie werd ich immer ratloser.
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: Lossa am 06.07.06 - 09:42:37
Mache folgendes:

1. Baue eine Ansicht Kategorisiert nach dem Benutzernamen
2. Erstelle eine Maske
3. Erstelle ein berechnet beim Anlegen Feld
3.1 Formel: @UserName
4. Bette die Ansicht (1) in diese Maske ein
5. Wähle in den Ereignissen der eingebetteten Ansicht den Punkt "Einzelen Kategorie anzeigen"
6. Gebe dort dein Feld an

Wenn nun diese Maske geöffnent wird, wird in dem Feld der Benutzername errechnet und dann wird die Ansicht nach dieser Kategorie gefilltert.
Ergebnis:
Der User sieht nur die Dokumente die unter seinem Namen stehen

TIP: Wenn du noch ein Feld SaveOptions, berechnet, mit dem Feldwert "0" anlegst, wird beim Schliessen der Maske nicht gefragt ob gespeichert werden soll.
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: 0xse am 06.07.06 - 10:15:03
Eine Seite mit einfach nur @UserName als Kategorieauswahl bei der eingebetteten Ansicht umgeht auch das Problem mit dem Speichern der Maske.

Beim Anlegen einer neuen Ansicht kannst du verschiedene Typen auswählen. Einer davon ist, das die Ansicht für jeden Benutzer als private Ansicht erstellt wird, wenn sie von ihm das erste mal aufgerufen wird. Wenn du also @UserName in der Auswahlbedingung drin hast, kommen die sich nicht mehr gegenseitig in die Quere. Denn jeder nutzt halt automatisch nur noch seine private Kopie der Ansicht.
Hier hast du nur ein wenig Aufwand bei nachträglichen Änderungen in der Ansicht *g*
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: Lossa am 06.07.06 - 10:27:13
Hi,

private Ansichten sind für dieses Zweck eigentlich nicht so sinnvoll.
Besonders wenn es sich z.B. um sehr viele User handelt, dann hast du aufeinmal hunderte von privaten Ansichten. Wenn User nicht mehr auf die DB zugreifen sollen, dann sind deren private Ansichten obsolet, also must du als Admin/Entwickler dafür sorgen, das die Ansichten auch wieder gelöscht werden, wenn sie nicht mehr gebraucht werden.

Die Lösung mittels Seite (Maske, wenn eine Auswahl benutzt werden soll) und der eingebettenten kategorisierten Ansicht der beste Weg.
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 10:45:35
Das Problem ist nur, dass die User halt nicht nur ihre eigenen Dokumente sondern alle Dokumente Ihrer Gruppe sehen sollen.

Ich habe das in der eingebetteten Ansicht jetzt mal mit einer kategorisierten Spalte mit der @DBLookup-Formel probiert. Leider funzt das nicht, in der Spalte wird "(nicht kategorisiert)" angezeigt.

Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 10:55:37
Was mich auch noch stutzig macht:

Warum werden bei der Ansichtsauswahl mit @Contains ALLE und mit "=" KEINE Dokumente angezeigt?

Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: Lossa am 06.07.06 - 10:56:21
Hi,

ein Blick in die Designer Hilfe hätte dich schon etwas weiter gebracht mit @DBlookup

Zitat
Usage
This function does not work in column or selection formulas, or in mail agents.

- Du schreibst den Gruppennamen in das Dokument.
- Die Ansicht ist nach diesem Feld kategorisiert.
- Das Feld in der Maske oder bei einer Seite die Formel für einzelne Kategorie anzeigen, holt sich aus dem Adressbuch den Gruppennamen zu dem der User gehört. Dazu musst du noch die Rückgabewerte auf die Gruppe reduzieren die du benutzt.
- Es werden die Dokumente angezeigt.
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 11:11:40
Hi Lossa,

Du hast doppelt recht:

1. ein Blick in die Designer-Hilfe hätte in der Tat geholfen. Sorry!

2. Ich hab verkehrt herum gedacht.

Es funzt! Vielen Dank!

Gruß
Christian
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: ch.radke am 06.07.06 - 11:46:16
Noch'n Gedicht:

Sehe ich das richtig, dass die o. g. Steuerung über eine eingebettete Ansicht bei Kalenderansichten nicht funzt, weil ich die nicht kategorisieren kann?
Titel: Re: Problem bei Ansichtsauswahl
Beitrag von: 0xse am 06.07.06 - 12:08:44
Das Problem hatte ich auch, ja ^^ Auch mit verborgenen Spalten und allem Möglichen hab ich's nicht ans Laufen bekommen.