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:
id=01231209834:as31234&site=/relativ_seite&size=22
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:
<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}
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