Autor Thema: Dokumente im Web selektieren  (Gelesen 1949 mal)

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Dokumente im Web selektieren
« am: 26.10.04 - 11:22:20 »
Hi @all,

ich möchte im Web mehrere Selektionen auf EINE Ansicht durchführen. Sozusagen "Das Single Category" mehrmals durchführen.

Ziel soll sein, das mit jedem weiteren Schlüsselfeld die Dokumente in der Ansicht sich neu selektieren --> Aus 100 Dokumenten bleiben dann nach mehreren Selektionen nur noch 5 Dokumente.

Ich weis, das diese Anforderung eine typische relationale Denke hat, jedoch hat vielleicht von Euch eine geniela Idee.

Gruss

Andreas
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Marinero Atlántico

  • Gast
Re: Dokumente im Web selektieren
« Antwort #1 am: 26.10.04 - 12:14:07 »
Du willst eine Art Filter aufbauen ???
Das geht eigentlich mit *voll krassen* Listenoperationen in der Ansichtsspalte und "Mehrfachwerte getrennt anzeigen" in Spalten-Eigenschaften.

howTo:
1. Mach eine Maske mit 3 Feldern. name : name, tier, farbe
2. Mach eine Ansicht für diese Maske
3. 1. Spalte der Ansicht mit Option in Spalteneigenschaften: "Mehrfachwerte getrennt anzeigen" (2. Reiter).
4. Nehme diese Spaltenformel:
Code
name : "all" *+ "~" *+  tier :"all" *+ "~" *+ farbe : "all" 
5. Erzeuge/speicher ein beliebiges Dokument
6. Schau dir das Ergebnis in der Ansicht an.

Damit lassen sich filterbare Ansichten aufbauen (egal ob im Web oder sonstwo). Jedoch sollten in dieser Ansicht nicht zu viele Dokumente sein, da die Größe des Index entsprechend zunimmt.
Jedes Dokument wird nämlich in dieser Ansicht genau (2 hoch anzahl_parameter) mal angezeigt.
D.h. vielleicht verhandelst du bei 5 Parametern 1 oder 2 weg. 
Bei 3 Parametern also genau 8 mal.
Bei 5 Parametern sind das 32 Einträge pro Dokument.  :-[

Im Web kannst du das dann hinkriegen, wenn du diese Ansicht als single category view darstellst.   

Bei 100 Dokumenten, vielleicht sogar bei 1000 Dokumenten ist das ok.

Gruß Axel 

Driri

  • Gast
Re: Dokumente im Web selektieren
« Antwort #2 am: 26.10.04 - 13:27:14 »
Oder eine Suche mit mehreren Bedingungen nutzen.

Marinero Atlántico

  • Gast
Re: Dokumente im Web selektieren
« Antwort #3 am: 26.10.04 - 14:06:41 »
ok. Diris Lösung, die wohl auf einen FTSearch hinausläuft, skalliert besser auf eine größere Menge von Dokumenten.
Meine Lösung dürfte responsiver sein (es wird kein Skript-Agent angetriggert).

Die optimale Lösung dürfte abhängen von:
a) der erwarteten Menge an Dokumenten
b) der Anzahl an benötigten Parameter für das Filtern

Je weniger a) und b) dürfte die von mir vorgestellte Lösung besser sein. Ab bestimmten Kombinationen der beiden Faktoren aber Diris Lösung.

Ein klassisches Beispiel dafür, dass Performänz eigentlich ein oft ziemlich kurioser Sammelbegriff von unterschiedlichen Elementen ist.

Gruß Axel

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Dokumente im Web selektieren
« Antwort #4 am: 26.10.04 - 14:24:28 »
Eine FT Suche muss ja nicht unbedingt einen Skript Agent auslösen :)
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Marinero Atlántico

  • Gast
Re: Dokumente im Web selektieren
« Antwort #5 am: 26.10.04 - 14:44:11 »
... was natürlich stimmt. Trotzdem bleibt das mit den Auswirkungen auf die Performanz-Elemente Skallierbarkeit hinsichtlich Dokumenten/Parametern und Responsivität richtig.
 

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re: Dokumente im Web selektieren
« Antwort #6 am: 27.10.04 - 17:52:52 »
Ich habe noch eine Lösung gefunden. Mit 6 kann man ja im Hintergrund eine neue Ansicht "CreateView" aufbauen und zwar mit einer neuen Selektion. Habe es ausprobiert und es läuft. Man braucht nur die neue Ansicht bereits mit dem zukünftigen Namen in eine Maske einbetten. Später wird dann die Maske im Browser aufgerufen. Klappt gut.

Beispiel Code kann ich posten.
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re: Dokumente im Web selektieren
« Antwort #7 am: 02.11.04 - 09:55:09 »
Hier der Code.

Sub Initialize
   Dim s As New NotesSession
   Dim doc As NotesDocument
   Dim db As NotesDatabase
   
   Dim col As NotesViewcolumn
   Dim formula As String
   Dim maske As String
   
   Set db = s.CurrentDatabase
   Set doc = s.DocumentContext
   Dim viewSavedView As NotesView
   Dim viewNew As NotesView
   
   Dim delView As Notesview
   
   Set delview = db.GetView( "MySelectedView" )
   If Not delview Is Nothing Then
      Call delview.Remove
      Set viewSavedView = s.CurrentDatabase.GetView("MyBearings")
      Set viewNew = db.CreateView("MySelectedView")
      
'      viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "'"
      viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "' & language='" & doc.language(0) & "'"
      
      Call viewNew.RemoveColumn(viewNew.ColumnCount)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(1),1)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(2),2)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(3),3)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(4),4)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(5),5)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(6),6)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(7),7)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(8),8)
      
      Print "<SCRIPT LANGUAGE=JavaScript>"
      Print "location.href='http://localhost/cc.nsf/SearchDocuments2?OpenForm'"
      Print "</SCRIPT>"
   Else
      
      Set viewSavedView = s.CurrentDatabase.GetView("MyBearings")
      Set viewNew = db.CreateView("MySelectedView")
      
      'viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "'"
      
      viewNew.SelectionFormula = "SELECT FORM='form' & productgroup='" & doc.productgroup(0) & "' & language=" & doc.language(0)
      
      Call viewNew.RemoveColumn(viewNew.ColumnCount)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(1),1)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(2),2)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(3),3)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(4),4)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(5),5)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(6),6)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(7),7)
      Set col = viewNew.CopyColumn(viewSavedView.Columns(8),8)
      
      Print "<SCRIPT LANGUAGE=JavaScript>"
      Print "location.href='http://localhost/cc.nsf/SearchDocuments2?OpenForm'"
      Print "</SCRIPT>"
      
   End If
   
   
End Sub

Gruss

Andreas
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Marinero Atlántico

  • Gast
Re: Dokumente im Web selektieren
« Antwort #8 am: 04.11.04 - 14:09:35 »
Andreas,

das ist echt neu für mich. Deshalb danke.
Das sieht aber ziemlich Ressourcen belastend aus, v.a. wenn mehrere Leute drauf zugreifen.
Irgendwelche Erfahrungswerte bzgl. dem was man eigentlich nicht mehr mit dem Globalbegriff Performance belegen sollte, d.h. spezifisch: Wieviel Arbeitsspeicher zieht das?
Falls das auch in der Java-API gibt, finde ich vielleicht mal die Zeit, dass mal konkret durchzuanalysieren.

Gruß Axel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz