Howto Google CSE in TikiWiki einbinden

{DIV(align=>left, width=>25%, float=>right, class="umijabox")}{DIV}Das hier ist die Beschreibung der Realisierung von Search auf der Basis von Google CSE. Google bietet uns die Möglichkeit die Seiten nach dem Parsen des WikiCodes (d.h. im Endzustand bzw. so wie Sie dem User dargestellt werden) zu durchsuchen. Bevor die Suche integriert werden kann, muss ein Google Konto und eine Custom Search Engine angelegt werden.

Bitte beachtet dass wir SEF URL's verwenden, und ich deswegen die weiter unten zur Verfügung gestellten Module nur unter dieser Umgebung getestet habe. Wie man SEF URL's mit TikiWiki einstellt, kannst du gerne auf der Projekt Seite nachlesen.

Easy durch Modul installieren

Datei besorgen

Am einfachsten geht es wenn ihr über das Administrationsmenü ''MODSs verwalten'' den oben links gelegenen Punkt ''MODs Einstellungen'' anklickt. In dieser Seite könnt Ihr einstellen von welchem Server die Plugins runtergeladen werden sollen. Wenn ihr in das Feld ''Mod Remote Server'' nun unsere Adresse: http://umija.org/mods/ einträgt, erscheint das Modul in der Liste der zurj Verfügung stehenden Modulen. Von dort aus ist es nur noch zwei Klicks entfernt bis zur Installation dieser :-)

Natürlich könnt ihr das TikiWiki Modul mit dem entsprechenden Template manuel herunterladen und in dem TikiWiki Verzeichnis entpacken. Genauer gesagt kommt die .tpl Datei in das ''/PFAD/ZU/tikiwiki/templates/modules/'' Verzeichnis, und die .php Datei in das ''/PFAD/ZU/tikiwiki/modules/'' Verzeichnis.

Modul anlegen

Danach muss das modul nur noch konfiguriert werden. Dazu müsst Ihr URL.TLD/tiki-admin_modules.php aufrufen das soeben installiert Module google_cse aus der DropDown Liste auswählen und in dem Feld ''Parameter'' noch folgende Werte übergeben:

id= LANGE NUMMER DIE VON GOOGLE VERGEBEN WURDE site= EURE SEITE AUF DER DIE ERGEBNISSE AUFTAUCHEN SOLLEN *size= DIE GRÖßE DES TEXTFELDES

Dabei müssen die Parameter mit einem ''&'' mit einander verknüpft werden. Das Ergebniss könnte so aussehen:

::{DIV(align=>center, width=>60%, class="umijabox")}id=01231209834:as31234__&site=/relativ_seite&__size=22{DIV}::

Ergebniss Seite

Ihr müsst vorher das JS Plugin über die 'MOD's verwalten' Seite installieren. Anschließend die angegebene Seite editieren und folgendes eingeben: {CODE()} <div id="results_EURE LANGE ID"></div> {JS()} var googleSearchIframeName = 'results_EURE LANGE ID'; var googleSearchFormName = 'searchbox_ EURE LANGE ID'; var googleSearchFrameWidth = 600; var googleSearchFrameborder = 0; var googleSearchDomain = 'www.google.com'; var googleSearchPath = '/cse'; {JS} {JS(file='http://www.google.com/afsonline/show_afs_search.js'}{JS} {CODE} EURE LANGE ID müsst ihr natürlich durch die vergebene ID von Google ersetzen. Anschließend noch den Hacken au HTML erlauben setzen und abspeichern. Jetzt sollte es funktionieren !!!

Quick and Dirty version

Modul

Die Eingabe des Suchbegriffs wird dabei über ein Modul realisiert somit kann die Suche zu jedem Zeitpunkt erreicht werden. Das UserModul wird übe den Administrationlink http://URL.TLD/tiki-admin_modules.php unter dem Punkt 'Neues Benutzer-Modul erstellen' angelegt. Dabei spielt es vorerst keine Rolle was in den Bereich 'Daten' eingetragen wird. Ist das Modul angelegt, müssen wir auf die Datenbank zugreifen um die Daten direkt hinein zu schreiben. Dies ist notwendig weil das UserInterface aus Sicherheitsgründen keine Eingabe von Javascripts zulässt. Der Zugriff auf die DB kann mit jedem beliebigen Programm erfolgen. Die Modifikation erfolgt an TikiWiki Datenbank in der Tabelle 'tiki_user_modules', hier muss das soeben erstellte Module gefunden werden und in das longblob Feld der Code für die Sucheingabe von Google hinein geladen werden.

Das Modul darf nach dem Eingriff nicht mehr über das UI modifiiziert werden, da dabei JavaSript wieder rausfliegt.

Ergebniss Seite

Bei der Anmeldung für [http://www.google.com/coop/] muss eine Seite angegeben werden in der die Ergebnisse angezeigt werden. Hierbei verwenden wir eine WikiSeite um das Layout von unserem System zu erhalten. Auch hier die gleiche Prozedur:

Seite anlegen

Direkter DB Zugriff auf die TIKI DB und die Tabelle 'tiki_pages'

Javascript Code für die Suchergebnisse von Google CSE hineinkopieren.

Danach empfielt es sich die TikiSeite zu sperren damit diese nicht mehr über das UI modifiziert wird.

Links

  • Tikiwiki CSE Dev Seite
  • TikiWiki veröffentlichte unabhängig von umija ähnliches Howto.
  • PluginJS Info
  • [http://www.geek-notes.com/mysql/33/how-to-save-search-queries-on-google-custom-search-engine/] Suchanfragen protokollieren :-)