Eine Applikationssuche kann durch diverse Modifikationen mit zusätzlichen Funktionen ausgestattet werden. Dieser Werkstattbeitrag ergänzt die Suche um eine dynamische Vorschlagsliste, die Speicherung der eingegebenen Suchbegriffe zum Aufbau von Listen der letzten Suchbegriffe sowie den Aufruf von Google und Wikipedia mit dem eingegebenen Suchbegriff.
Suchaufruf für Suchmaschinen

Eine sehr einfache Erweiterung ist die Realisierung eines Aufrufs von Suchmaschinen wie Google oder Online-Enzyklopädien wie Wikipedia mit dem eingegebenen Suchbegriff. Bei Bedarf kann der Benutzer per Klick auf eine Schaltfläche das jeweilige Internet-Angebot aufrufen und dabei den Suchbegriff übergeben, um unmittelbar das Suchergebnis zu erhalten.
Neben einer Intrexx Suchkontrolle werden einfach Schaltflächen vom Typ
Grafik mit einem entsprechenden Symbol platziert und im onclick-Ereignis der Schaltfläche die Funktion
suchmaschinenSuche() aufgerufen.
Als Parameter beim Aufruf wird eine Zeichenkette angegeben, welche das Aufrufziel steuert. Im Beispiel „google“ oder „wikipedia“. Die Funktion ist auf andere Anwendungsfälle erweiterbar, in dem weitere case-Blöcke eingefügt und entsprechend konfiguriert werden. Für die GUID muss die GUID des Suchfeldes eingetragen werden, damit die Funktion den Suchbegriff auslesen kann.
function suchmaschinenSuche(p_type)
{
var l_strSuchbegriff = getElement("GUID").value; /*Suchfeld textcontrol*/
var l_url = "";
if(l_strSuchbegriff != "" || l_strSuchbegriff != " ")
{
switch(p_type)
{
case "google":
l_url = "http://www.google.de/search?q=" + l_strSuchbegriff;
break;
case "wikipedia":
l_url = "http://de.wikipedia.org/w/index.php?search=" + l_strSuchbegriff;
break;
}
// Aufruf
Suchmaschine = window.open(l_url, "Suchmaschine");
Suchmaschine.focus();
}
return true;
}
Suchbegriff-Vorschlagsliste

Sie kennen in den einschlägigen Suchmaschinen die Funktion, welche beim Tippen eines Suchbegriffes dynamisch eine Vorschlagsliste von Suchbegriffen anzeigt? Eine solche Funktionalität kann auch in Intrexx realisiert werden. Dabei wird auf der Suchseite eine Schaltfläche vom Typ
Text platziert, gruppiert und der Gruppe den Stil
Container_Hidden zugewiesen. Damit wird die Schaltfläche versteckt. Die Schaltfläche erhält den Namen
_Datapicker_Vorschlagsliste.
Zur Bereitstellung der Suchvorschläge muss in der Applikation eine Datengruppe (_hlpTopSuchbegriffe) erzeugt werden, die ein Feld vom Typ
Kurzer Text enthält, um einen Suchbegriff aufzunehmen. Die Tabelle wird mittels Datentransfer (im Bereich
Integration) mit Suchbegriffen aus einer CSV- oder Excel-Tabelle befüllt. Suchbegriffslisten können im Internet kostenfrei und kostenpflichtig geladen werden.
Eine kostenlose Quelle ist die Universität Leipzig, die unter unter
http://wortschatz.uni-leipzig.de/html/wliste.html Ranglisten von Suchbegriffen für unterschiedliche Sprachen bereitstellt.

Der Datapicker kann nun auf die Datengruppe mit den importierten Suchbegriffen konfiguriert werden. Als Suchfeld wird das Eingabefeld für den Suchbegriff ausgewählt. Die Datengruppe wird
_hlpTopSuchbegriffe und als Datenfeld
Suchbegriff selektiert.
Wichtig ist die passende Konfiguration des Suchergebnisfensters. Hier wird als Spalte der
Suchbegriff ausgewählt und die automatische Anzeige von Ergebnissen ab 3 Zeichen aktiviert. So wird während der Eingabe eines Suchbegriffs durch den Anwender die Vorschlagsliste dynamisch aufgebaut.
Damit bei Auswahl eines Begriffs aus der Vorschlagsliste die Suche ausgelöst wird, muss im onmatch-Ereignis der Datapicker-Ergebnisliste die Funktion
pickSearch() ausgelöst werden.
Die Funktion
pickSearch() führt einen Klick auf die Schaltfläche
Suchen aus. Die GUID in der Funktion muss auf die GUID der Schaltfläche
Suchen angepasst werden.
function pickSearch()
{
var oBtnSuche = getElement("GUID"); /*Suchen buttoncontrol*/
oBtnSuche.onclick();
return true;
}
Die Beispielapplikation verfügt zudem über eine Anzeige der letzten 10 persönlich eingegebenen Suchbegriffe in der aktuellen Sitzung und aller Sitzungen sowie die letzten 10 Sucheingaben aller Benutzer. Eine Ausfilterung unzulässiger Begriffe kann über eine Blacklist gesteuert werden.
Beispielapplikation herunterladen (LAX, 102 KB)