Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: rambrand am 03.07.14 - 11:51:05

Titel: Suchbegriff in RTF suchen und markieren
Beitrag von: rambrand am 03.07.14 - 11:51:05
Hallo,

ich weiß grad nicht, ob mein Kopf oder der Schreibtisch das Duell gewinnt.
Man nervt mich gerade mit einem irrsinnigen Auftrag. Ich musste die komplette "In Ansicht suchen" Funktion nachprogrammieren, weil die für die Anwender zu kompliziert ist.
Das Resultat habe ich mittels FTSearchSorted und einem Ordner als Ziel gelöst. Ergebnisse sind auch wunderbar, stimmen 1:1 mit der normalen "In Ansicht suchen" überein.

Nur ... und das ist der Knackpunkt, O-Ton: "Also die Suche ist super, aber in der anderen wird der Suchbegriff in den Dokumenten auch noch farblich markiert. Das sollte bei unserer Suche auch noch der Fall sein."

Meine persönliche Meinung dazu ist leider nicht relevant. Mir ist auch klar, dass ich mit FTSearchSorted das nicht hinbekomme. Ich habe schon überlegt, eventuell den Suchbegriff in eine Umgebungsvariable zu "retten" und dann im Postopen des Dokuments diesen aus der Variable wieder herauszulesen. Dann könnte ich das Dokument (es geht hier eigentlich nur um ein RTF) durchsuchen.

Aber das farbliche Markieren macht mir Probleme. Es soll ja nur ein Overlay sein, ich will ja keine Farbmarkierungen in das Rich Text reinsetzen. Irgendwann schaftt es einer das dauerhaft ins Dokument zu packen.

Ich brauche da mal einen Tipp, wie man sowas machen könnte. Über die Sinnhaftigkeit - das weiss ich selber - bitte nicht diskutieren. Ist ein Politikum. Demnächst stellen wir Leute ab, die den Mitarbeitern das Klopapier reichen.

Bye,
Markus
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: ghostmw am 03.07.14 - 13:13:02
Hi,

nur mal so ins Unreine gesprochen.
Wenn du in diesem Ordner eine Maskenformel hinterlegst und eine andere "baugleiche" Form benutzt ?

Dann kannst du das Richtextitem manipulieren (ggf. in einem zweiten berechneten Richtextfeld), wie du willst im QueryOpen des Lesemodus, beim Schalten in den Bearbeitungsmodus wechselst du zurück zur "normalen" Maske ohne Markierungen.

War so der erste Gedanke, nachdem ich das gelesen habe.
Vielleicht wäre das was.

Frag auch mal google dazu => http://planetlotus.org/profiles/ionet-software_108827
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: Driri am 03.07.14 - 13:18:13
Ich wüßte nicht, daß es so eine Funktion "out of the box" gibt. Das müßte man also wohl nachprogrammieren.

Ohne das jetzt geprüft zu haben, würde ich mal auf eine Funktion im NotesUIDocument tippen, die nach dem Suchbegriff im geöffneten/zu öffnenden Dokument sucht und entsprechend eine Markierung setzt.

Aus dem Bauch heraus würde ich jetzt sagen, daß das aufwändig bis unmöglich wird.

Und vor allem müßte man so eine Funktion dann ja auch in jede einzelne Anwendung einbauen. Neben dem Aufwand dafür müßte man dann auch jede Anwendung untersuchen, welche Auswirkungen so eine Funktionalität evtl. hat. Es wäre ja durchaus denkbar, daß es zu Verzögerungen beim Öffnen des Dokumentes kommt oder sich die Funktion mit anderen Funktionen im PostOpen, etc. beißt.
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: ghostmw am 03.07.14 - 13:43:31
Das ist richtig ... die Seiteneffekte sind nicht zu vernachlässigen.

Du hast halt im QueryOpen Code drin, eine neue geclonte Maske, die zu pflegen ist und das ganze nachbasteln in allen neuen Datenbanken.

Da bin ich bei dir ... aber wenn's nur so geht mit halbwegs vertretbarem Aufwand?
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: Driri am 03.07.14 - 14:06:27
Ich habe das auch vor allem geschrieben, um evtl. doch noch Argumente für eine Diskussion mit dem Auftraggeber zu liefern.

Markus hatte zwar darum gebeten, hier nicht über den Sinn zu diskutieren, aber ich kann bei solchen Anforderungen immer nur schwer an mich halten. Man muß halt manchmal auch eine Grenze ziehen, weil gerade bei solchen Geschichten in meinen Augen Aufwand und Nutzen überhaupt nicht mehr im Verhältnis stehen.

Vor allem würde mich auch mal interessieren, was genau für den Anwender zu kompliziert ist ? Geht es evtl. nur darum, daß er die Suchleiste für die Volltextsuche einblenden muß ?
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: Tode am 03.07.14 - 14:19:37
Man könnte sich auch überlegen, eine "Suchergebnis"- Maske bestehend aus einem einzigen Body- Feld zu erstellen und im QueryOpenDocument des Ordners das "Ursprungs"- Dokument per RenderToRichtextitem in ein neues Dokument dieser Maske zu rendern. Dann per rt- navigation die Suchergebnisse einfärben (geht dann auch in Texten, Beschriftungen, etc, weil ja ALLES im Richtextitem ist) und SaveOptions = "1" setzen.

Dann braucht man nur einen Button "Dokument öffnen" in der Suchergebnis- Maske, um "echt" ins Dokument zu kommen... Oder man tut was ins QueryModeChange- Event der Dummy- Maske...

Dafür müsste man fast nix in der Original- Maske ändern (ausser vielleicht ein paar Hide- Whens), und das wäre recht universell einsetzbar...

Frage an rambrand: Wenn Du ein Ergebnis eines FTSearchSorted in einen Ordner packst, sieht das dann wirklich wie ein "richtiges" Suchergebnis aus (also mit SearchScore, Sortierung nach Relevanz, etc.)?
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: dnotes am 03.07.14 - 17:56:37
Man könnte sich auch überlegen es so nachzubauen wie Notes das macht. Ich weiss nur nicht wie Notes es macht. Vieleicht über die API???
Ich weiss nur, dass Dokumente, die als Suchergebnis angezeigt werden, beim Öffnen zusätzliche Felder beinhalten - in der Form "$Highlights_Feldname" - wobei Feldname für den oder die Felder steht, in denen der Suchbegriffe "gehighlighted" wird.
Man müsste also "nur" die Funktion des Suchbutton heraus bekommen und nachbauen.
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: rambrand am 04.07.14 - 10:31:42
Hi,
Danke für die Tipps und Infos.
Ich hab mir auch schon Gedanken über solche Konstrukte wie eine Kopie des Dokuments in den Ordner zu legen, damit das Originaldokument nicht (versehentlich) verändert wird.
Die Kopie müsste ich halt immer wieder löschen, was noch das geringste Problem wäre.

Leider könnte es passieren, dass einer der Autoren eines Dokumentes auf die Idee kommt, anhand der Suche das Dokument dann zu überarbeiten. Da die Datenbank revisionssicher ist und historisiert, wäre das das Todesurteil für die Nachvollziehbarkeit.

@dnotes: Das mit dem $Highlights werde ich mir mal genauer anschauen. Aber s.o. dazu müsste ich auch wieder die Dokumente manipulieren ... oder wird das $Highlight nur ins UIDoc gesetzt?

@Diri: Ja der Auslöser war (ohne Witz!)
a) man muss ja die "In Ansicht suchen ... " einblenden
b) um die Suche zu verfeinern muss man mit "Mehr" das Ding auch noch aufklappen
c) um eine sortierbare Suche zu bekommen, muss man die 4. oder 5. Ergebnissortierung wählen
d) davon überfordert die 5. die Benutzer, da das Ergebnis mittels Häkchen markiert werden

Auch ohne Witz, weitere Anforderung:
Der Notes-Admin soll zu den Abteilungsbesprechungen im Haus und dort einen Vortrag über die Suchfunktion halten.
Ich war schon über den Punkt drüber und hab ihn dann ausgelacht :-)

Ja ich hatte darum gebeten über die Sinnhaftigkeit nicht zu diskutieren. Ich sabbel mir inzwischen den Mund fusselig. Persönlich halte ich nichts von diesem Auftrag.
Man bekommt alle gewünschten Features über die "In Ansicht suchen..." Funktion. Einzig das Problem, dass der Benutzer wissen muss, wie man damit umgeht ist der Auslöser des Auftrags. Man will da echt ein Rundumsorglos-Paket in einer popeligen Suchfunktion.

Ich geh dann in die 3. Argumentationsrunde.

Bye,
Markus
Titel: Re: Suchbegriff in RTF suchen und markieren
Beitrag von: thkn777 am 07.07.14 - 12:06:15
a) man muss ja die "In Ansicht suchen ... " einblenden
b) um die Suche zu verfeinern muss man mit "Mehr" das Ding auch noch aufklappen
c) um eine sortierbare Suche zu bekommen, muss man die 4. oder 5. Ergebnissortierung wählen
d) davon überfordert die 5. die Benutzer, da das Ergebnis mittels Häkchen markiert werden

Auch ohne Witz, weitere Anforderung:
Der Notes-Admin soll zu den Abteilungsbesprechungen im Haus und dort einen Vortrag über die Suchfunktion halten.
Ich war schon über den Punkt drüber und hab ihn dann ausgelacht :-)

Ja ich hatte darum gebeten über die Sinnhaftigkeit nicht zu diskutieren. Ich sabbel mir inzwischen den Mund fusselig. Persönlich halte ich nichts von diesem Auftrag.
Man bekommt alle gewünschten Features über die "In Ansicht suchen..." Funktion. Einzig das Problem, dass der Benutzer wissen muss, wie man damit umgeht ist der Auslöser des Auftrags. Man will da echt ein Rundumsorglos-Paket in einer popeligen Suchfunktion.


Zu a) im Notes 8.x Client gibt's ein Eingabefeld "Suche" (meist rechts oben). Stehst Du in einer Ansicht und gibst da was ein, geht (Überraschung) die Volltextsuche auf. (und ja, ich weiß, daß das manchmal buggy ist)
Zu b) wie löst Du das "verfeinern" Problem mit Deinem Ordner-Ansatz?
Zu c) Drama! Einmal gesetzt, bleibt das aber m.E. nach für die nächsten Sucher erhalten
Zu d) dann gibst die organisatorische Ansage: Nr.5 nicht benutzen

Zum Thema Schulung:
- finde die Idee gut, Suchen in Notes ist vielen Anwendern ein Rätsel
- ein gut gemachter Artikel im Firmen-Intranet oder einer firmenweiten Knowledgebase-Lösung wäre ein zweiter Ansatz

Zum Thema Mund fusselig reden:
- kenn' ich, aus der Nummer kommst Du nicht raus
- Deine Nutzer kaufen also auch Autos mit großem Kofferraum, aber weil sie die Kofferraumklappe nicht aufmachen wollen zum Beladen, lassen sie sich einen offenen Hänger hinten anbauen und fahren permanent damit rum. Das ist ja mal richtig clever, sowas... wow.
- Die Frage, ob andere Standard-Produkte umprogrammiert werden (MS Word z.B.), nur weil nach dem Update (z.B. auf v2010) eine Funktion in einem anderen Menüpunkt zu finden ist... die verkneife ich mir.

Viel Erfolg.