Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: botschi am 01.08.06 - 13:50:12

Titel: @name in Ansichtsauswahl
Beitrag von: botschi am 01.08.06 - 13:50:12
Hallo,

ich habe eine Ansicht zum Testen erstellt, die in der Ansichtsauswahl "@name([CN];@username) = bearbeiter" enthält.
Die Ansicht scheint richitg zu arbeiten.

Nun meine Frage: warum wird empfohlen dieses über eine eingebettete Ansicht mit "einzelne Kategorie anzeigen" zu realisieren? Ist @Name in den Ansichten ein Performancefresser, wie @now oder @today?
Die eingebetteten Ansichten sind manchmal sehr träge, gerade wenn aus vielen Dokumenten die richtigen gefiltert werden müssen. Ausserdem kann dann nicht (natürlich nicht) sortiert werden.
Das alles lässt sich doch aber auch über @name in der Ansichtsauswahl realisieren.

Wo ist der Fehler?  ???

Danke für Eure Erfahrungsberichte.
Gruss, Matthias
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Driri am 01.08.06 - 13:56:13
Das funktioniert nur lokal oder in persönlichen Ansichten. Ansonsten, wenn der Index auf dem Server erzeugt wird, ist @Username = Servername.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Tode am 01.08.06 - 13:57:21
Ansichtsindizes werden vom Server aufgebaut. Für den Server ist @Name([...]) aber der Servername.

Wenn das funktionieren WÜRDE, dann müsste der Server für jeden Potentiellen Benutzer einen Ansichtsindex aufbauen, was nicht geht. Meist wird der erste Index- Aufbau vom Designer manuell angeschmissen, weshalb die Ansicht mit seinem @UserName aufgebaut wird und für Ihn gut aussieht, für alle anderen aber eben nicht.

mit ein wenig Suche im Forum findet man diese Beschreibung aber ZIGMAL.
Ausserdem steht das alles auch in der HILFE zum Befehl Username:

Wenn auf einem Server eine Formel ausgeführt wird, wird der Agenten-Unterzeichner als aktueller Benutzer betrachtet. Wenn Sie @UserName in einer lokalen Datenbank oder in einer privaten Ansicht in einer servergestützten Datenbank verwenden, wird der Benutzername zurückgegeben. @UserName sollte nicht in einer öffentlichen Ansicht verwendet werden, da dies nicht vorhersagbare Resultate ergibt. Dasselbe gilt für den Fall, dass sich der Inhalt des Feldes ändert, auf das Sie sich beziehen, weil zunächst der Index aktualisiert werden muss, damit die neue Information verwendet werden kann.

Tode
Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 01.08.06 - 13:59:21
nicht @Name sondern @UserName ist das Problem.

@UserName ist auch kein Performancekiller.

Baust Du eine Ansicht mit @Username, so beit der 1. User die Ansichtsindexe auf und der nächste User baut diese Indexe nicht neu auf, sondern es wird der alte Index verwendet. Damit sieht der 2. User die gleiche Auswahl wie der 1. User.

So ein Konstrukt kannst Du entweder mit einer eingebetteten Ansicht und "einzelnbe Kategorie anzeigen" lösen oder Du benutzt Ansichten, die bei Erstbenutzung privat werden - mit allen damit verbundenen Nachteilen.

Gruß
Dirk
Titel: Re: @name in Ansichtsauswahl
Beitrag von: botschi am 01.08.06 - 14:03:09
Alles klar, ich denke ihr habt das alles schon ausgiebig genug erläutert  ;D .

Ich hab natürlich nur unter @name in der Hilfe gesucht und nicht unter @username.

Vielen Dank dafür!
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 13:20:13
Hallo,
habe auch das Problem das wir eine DB haben, in der Daten gelogt werden.
Jetzt sollte jeder User nur seine Logs sehen.

Habe in der View diese Formel eingebaut:
select @Contains(FFAX_SenderName;@Right(@Name([CN];@UserName);" ")) | @Contains(FFAX_SenderName;@UpperCase(@Right(@Name([CN];@UserName);" " )))

Jetzt tritt genau das ein, dass er die Daten von dem User anzeigt der gerae eingelogt ist, leider!!!
Ich weis nicht wie ich das lösen sollte, mit der eingebetteten Ansicht, das geht doch nur in der Maske, oder?

Wie kann ich das Problem lösen?
Ich hoffe es kann mir wer helfen, DANKE! Verwende Notes 7.01
Mfg Horst
Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 22.03.07 - 13:22:39
eine Lösung ist Ansichten zu verwenden, die bei Erstbenutzung privat werden. Damit erstellt jeder seinen eigenen Ansichtsindex.

Einbetten geht natürlich nur über eine Maske oder Seite.

Sicher ist es diese gelogten Einträge mit Leserfeldern zu versehen und darüber zu regeln, wer das Dokument lesen darf.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 13:32:56
Hallo diali,

Die Einträge mit Leserfeldern zu versehen geht nicht da die Dokumente von einer Fremdanwendung erstellt werden.

Wie geht das mit den Ansichten die bei der Erstbenutzung privat werden?
Könntest Du mir da eine Hilfestellung geben?

Wir haben in unserer DB insgesamt 6 Ansichten, die nach dem User gefiltert werden sollten.

Mfg & Danke Horst
Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 22.03.07 - 13:37:28
mach eine neue Ansicht, die das Design von der vorhandenen Ansicht übernimmt, und wähle beim Ansichtstyp "Gemeinsam, bei Erstbenutzung privat".

Anassungen and er Ansicht sind dann allerdings schwieriger durchzuführen, da die User mit einer privaten Kopie der gemeinsamen Ansicht arbeiten.

Gruß
Dirk
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 13:43:37
Hallo diali,
das mus ich dann warscheinlich für jede Ansicht machen, oder?
Kann ich dann die Ansicht löschen von der ich es kopiert habe?
Mfg
Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 22.03.07 - 13:44:32
ja kannst Du löschen.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 14:18:24
Hallo,
Jetzt sind bei mir im Designer Ansichten drinnen mit Schloß und darüber einer 1 und nur ein Schloß, was hat das zu bedeuten?
Beim Öffnen der Datenbank zeigt er mir eine Ansicht die nicht klar definiert ist, dort stehen nicht alle Dokumente drinnen und auch nicht die, die nur den User betrifft?
Habe schon als Vorgabeansicht eine mit dem Schloß & 1 ausgewählt, er springt mir aber nicht in diese Ansicht!


Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 22.03.07 - 14:22:00
wie schon beschrieben wird sobald ein User eine Ansicht anklickt, die privat bei Erstbenutzung ist, eine private Kopie diese Ansicht erstellt, deshalb siehst Du 2 Ansichten (einmal die der Client erzeugt hat [kannst Du löschen, weil diese beim nächsten Mal neu erstellt wird] und dann die Gemeinsame, die bei Erstbenutzung privat wird).

Solange Du noch experimentierst, musst Du die private Ansicht immer wieder löschen.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Joe am 22.03.07 - 14:25:56
Ja, entweder löschen oder im Queryclose des Datenbank-Scripts folgenden Code einfügen:

Sub Queryclose(Source As Notesuidatabase, Continue As Variant)
   
   Dim session As New notessession
   Dim db As notesdatabase
   Dim counter As Integer
   
   Set db = source.database
   
   Forall v In db.views
      If Not Isempty(v.readers) Then
         Forall r In v.readers
            If r = session.username Then
               Call v.remove
               counter = counter + 1
            End If
         End Forall
      End If
   End Forall
   
   Print Cstr(counter) & " persönliche Ansicht(en) gelöscht"
   
End Sub

Dann wird die private Ansicht beim Verlassen der Datenbank selbsttätig gelöscht.

Gruß Joe
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 14:47:36
So jetzt habe ich das Script eingebaut jetzt kommt die Meldung:

Welche sind den die privaten, die mit dem Schlo & 1 oder die nur mit dem Schloß?

Titel: Re: @name in Ansichtsauswahl
Beitrag von: m3 am 22.03.07 - 14:51:01
Die Datenbank ist noch nicht ausrepliziert. Bitte Deinen Admin, dass er die DB mit der Quelle repliziert.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Joe am 22.03.07 - 14:52:41
Die privaten sind die nur mit dem Schloss!
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 14:54:18
Hallo,
von dieser Datenbank gibt es keine Replik!

Mfg Horst
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Joe am 22.03.07 - 14:56:07
Wo hast du denn das Script eingebaut? Doch wohl nicht im Queryclose der Ansicht???
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 22.03.07 - 14:57:55
Nein,
im Queryclose der Datenbankressourcen!
Mfg
Titel: Re: @name in Ansichtsauswahl
Beitrag von: diali am 22.03.07 - 14:59:40
so wie es aussieht hast Du mit dem Code alle Ansichten gelöscht.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Joe am 22.03.07 - 15:00:04
Jau, da gehört's auch hin. Ich befürchtete schon.....  ;)
Titel: Re: @name in Ansichtsauswahl
Beitrag von: Joe am 22.03.07 - 15:09:59
Mir kommt da gerade ein ganz böser Verdacht. Hast du in den Ansichtseigenschaften unter "Wer darf diese Ansicht verwenden?" was anderes eingestellt als "Alle Leser und höhere", eventuell deinen Usernamen? Das wäre fatal, denn dann ist das $Readers-Feld gefüllt und das Script löscht auch andere Ansichten als private.
Titel: Re: @name in Ansichtsauswahl
Beitrag von: wuwu am 26.03.07 - 09:42:27
Hallo,
Danke für eure Hilfe.
Habe die DB nochmal überarbeitet und die Ansichten neu erstellt.
Jetzt geht es einwandfrei, DANKE!

 :)