Domino 9 und frühere Versionen > ND8: Entwicklung
SPOFU oder auch das Anzeigen von Suchergebnissen
Klafu:
In einer Datenbank gibt es eine Suchmaske, über die die Anwender (> 30) nach Dokumenten suchen können.
Durch einfaches selektieren der Auswahlkriterien wird die Ansichtsauswahl der ausgewählten Ansicht angepasst und dem Anwender angezeigt, was er sehen möchte.
Soweit so gut.
Nun gibt es aber die Anwender, denen die Suchmaske nicht ausreicht und die im Suchergebnis selbst noch die Volltextsuche nutzen wollen.
Das geht auch - zumindest solange, bis ein anderer Anwender über die Suchmaske eine neue Suche gestartet hat. Dann bekommt nämlich der Volltext-Suchende die Ergebnisse aus der neuen Suche.
Nun bin ich hier im Forum auf den Begriff SPOFU gestoßen und habe mir das einmal angesehen. Dabei geht es ja darum einen Ordner zu erstellen, die Ergebnisse der Suche dort hineinzuschieben und diesen dann anzeigen zu lassen.
Hier ist es aber auch so, dass der über ein Script erstellte Ordner erst genutzt werden kann, wenn er erstellt wurde und die Datenbank einmal neu geöffnet wurde.
Und nun sitz ich da und versuche eine Lösung zu finden.
In der Datenbank gibt es fünf Ansichten mit unterschiedlichen Kategorisierungen, zwischen denen sich der Anwender bei der Suche entscheiden kann.
Einen Ordner pro User zu erstellen ist nicht das Gelbe vom Ei, da sich die Gestaltung eines Ordners wohl nachträglich nicht austauschen lässt. Das heißt man bräuchte 5 Ordner pro Ansicht und das pro Anwender. Soll der User parallel mehrere Suchen machen können entsprechend mehr.
Pauschal ein paar Ordner für die Suchergebnisse zu erstellen scheint mir der beste Weg. Aber auch hier ist die Frage, wie das am Besten realisiert werden kann.
Also bspw. gibt es dann von jeder Ansicht 5 durchnummeriert Ordner, die pro Suche von 1 bis 5 einmal dran kommen. Problem hier ist eben, dass es sicher auch Anwender gibt, die ihre Suche den ganzen Tag geöffnet lassen.
Wie würdet ihr das Lösen?
Mir fehlt grad ein helfender Gedanke und jemand, der mir zuhören kann. :-\
Besten Dank!
Peter Klett:
--- Zitat von: Klafu am 16.01.18 - 16:28:49 ---Hier ist es aber auch so, dass der über ein Script erstellte Ordner erst genutzt werden kann, wenn er erstellt wurde und die Datenbank einmal neu geöffnet wurde.
--- Ende Zitat ---
Wenn Du die Suchfunktion direkt in dem Ordner startest, muss der User erst in den Ordner gehen, dabei wird der persönliche Ordner ja erstellt. Schließen der DB braucht es dazu m.W. nicht
--- Zitat von: Klafu am 16.01.18 - 16:28:49 ---Einen Ordner pro User zu erstellen ist nicht das Gelbe vom Ei, da sich die Gestaltung eines Ordners wohl nachträglich nicht austauschen lässt.
--- Ende Zitat ---
Bei einem Update vom Benutzer per Script automatisch alle persönlichen veralteten Ordner löschen, beim nächsten Benutzen werden die dann neu mit dem neuen Design erstellt
ronka:
Vor SEHR lange zeit das gleiche problem gehabt, und es wie folgt gelöst.
Als erstes die Private Ordner müssen LOKAL liegen, sonnst bekommst du masive probleme mit den Server Index (zu viele Ordner je nach User anzahl ist das nächste Problem was auftauchen könnte).
Beim Start der Suche über die Maske, gab es die Kontrolle ob es INHALT in den entsprechenden Ordner gab, wenn ja, dann die Frage ob der alte Inhalt gelöscht, oder die neue Suchresultate dazu gemacht werden sollte.
Wenn gelöscht, würde den Inhalt UND Ordner gelöscht (damit eventuelle gestaltungs elemente ausgetauscht werden könnten).
Danach hat jeder User seine suche so gehabt wie er/sie es braucht. Probleme hat es mehrfach gegeben wenn der User diesen Ordner noch in ein anderes Fenster geöffnet hatte, was leider mal hin und wieder der Fall war. User Erziehung ist dann notwendig.
Was dabei NICHT funktioniert ist der manuelle Voll-Text-Suche speicherung, da diese ja nur in den eigenen Ansicht direkt passiert. Dabei haben wir uns damals entschieden dieses auf "User erziehung" zu schieben, und den User mehrfach klar gemacht wie das system funktioniert. Nach etwa 6 Monaten haben alle user es auch verstanden. Die user die den FTI absolut benötigten haben dann mit einen Lokale repliek gearbeitet (da hat es welche vertriebler gegeben die das unbedingt wollten).
Das Automatisch (z.B. im postopen) löschen von den Ordner (und inhalte) hat mehrfach zu "stress" geführt weil irgendwelche user ihre suchen über tagen behalten wollten.
Unsere Suchmaske hatte den optionen für den 3 (bei uns) verschiedene resultat Ordner, und nicht wie bei dir, 5 verschiedene Ansichten. Den Resultate waren also immer im gleichen stil zu sehen, auch wenn es dort Klick to Sort spalten gegeben hat.
Als letztes hat es in der suchmaske einen option gegeben alle Resultatordner auf einmal zu löschen (bei gestaltungsänderungen oder problemen), diese Option ist wesentlich später dazu gekommen (beim versionswechsel von Notes), damit die alte Ordner auch mal verschwinden. Dieses option könnten wir in der Gestaltung zwangs aktivieren und über einen notes.ini eintrag steuern.
Klafu:
Vielen Dank euch beiden!
Das mit dem öffnen des Ordners und dem anschließende befüllen klingt gut.
Lokaler Ordner heißt, dass er bei erster Benutzung privat und danach öffentlich ist oder dass er für "Gemeinsam, für Desktop privat bei Erstbenutzung" ist?
Irgendwie fehlen mir noch ein paar Puzzleteile. Mit dem Befehl PutAllInFolder werden alle Dokumente in einen Ordner verschoben. Existiert der Ordner nicht, wird er erstellt.
Ich habe es nun bis jetzt so:
--- Code: ---response = ws.Prompt(PROMPT_OKCANCELLIST, "Auswahl","Wonach möchten Sie sortieren?", "", folder)
If response <> "" Then
Call ws.SetTargetFrame( "RGMainRight")
foldername= "Search" +Replace(Replace(Replace(Trim(Now),":","")," " ,""),".","")
If response = "Hauptbereich" Then
Set viewsearch =db.GetView( "aOPnachHauptbereich")
Elseif response = "Status" Then
[...]
viewSearch.SelectionFormula= "SELECT ((Form = ""M#OP""))"
On Error Resume Next
Set ViewEntryColl= viewsearch.AllEntries
Call ViewEntryColl.PutAllInFolder(foldername)
Set view2 = db.GetView(foldername)
Call uidb.OpenView(view2) 'Fehlermeldung: ungültiges oder nicht vorhandenes Dokument
[...]
changecheck = ws.DialogBox ("tmAnzeigen", True , True , True, True, False, False, "Suche",profdoc,True,True)
--- Ende Code ---
[...]
Der Ordner wird erstellt und befüllt aber nicht geöffnet. Im Designer seh ich ihn - aber erst nach einmal F9 drücken.
Dazu kommt, dass jeder Ordner, unabhängig von der Auswahl der Sortierung dieselbe Gestaltung hat.
Peter Klett:
Gemeinsam, für Desktop privat bei Erstbenutzung
M.W. kann man den Ordner nicht per Script erstellen, man muss den Ordner, den man in einer Gliederung oder im Menü sieht, öffnen. In dem Moment wird eine persönliche (<OT> früher hießen die "persönlich", inzwischen "privat", was m.E. völliger Unsinn ist, denn wenn er privat wäre, könnte ich ihn mit nachhause nehmen, ist ja mein Eigentum. Privat ist wohl eine missglückte Übersetzung von "private" </OT>) Kopie des gemeinsamen Ordners erstellt und dieser verwendet.
Der Benutzer muss das Recht haben, persönliche Ansichten und Ordner erstellen zu können.
Der Ordner hat die Gestaltung des gemeinsamen Ordners zum Zeitpunkt der Erstellung des persönlichen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln