Howto Google CSE in TikiWiki einbinden

{DIV(align=>left, width=>25%, float=>right, class="umijabox")}{DIV}Das hier ist die Beschreibung der Realisierung von umija: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 :-)