Mozilla/Netscape Suchplugin für PHPNuke


…..SherlockNuke …..

Seitdem die Quellen freigegeben wurden, sind einige Features zu Mozilla und Netscape hinzugefügt worden.
Unter anderem kann die Standardsuchfunktion auf beliebige Suchmaschinen um konfiguriert werden.
Viele Mozillabenutzer haben bereits Google als Standardsuchmaschine eingestellt. Da Berts-Linux.de auch eine Suchfunktion hat (wie auch alle anderen PHPNuke Seiten) habe ich ein Suchmaschinenplugin für Mozilla/Netscape mit dem man über die Suchmechanismen (URL Zeile, Suche-Sidebar, oder andere Plugins wie EasySearch-Toolbar) von Mozilla auch direkt auf Berts-Linux.de suchen kann.

Diese Anleitung untergliedert sich in 3 Bereiche:

  1. Änderungen an PHPNuke
  2. Erstellen des Suchplugins
  3. Integration in Mozilla/Netscape

Änderungen an PHPNuke

Um mit PHPnuke zu suchen wird das Modul Search benutzt (modules.php?name=Search).
Damit auch eine Mozilla-Multisuche (eine suche über mehrere Suchmaschinen) funktioniert müssen bei diesem Modul in der Datei (html/modules/Search/index.php) einige URLs von :

modules.php?name=Search

auf

http://www.domain.com/modules.php?name=Search

also absolute URLs umgeändert werden.
Genauer gesagt gilt das für alle URLs, die mit (modules.php?name=Search) anfangen und nicht Bestandteil eines form-Tags sind.
Damit wäre schon die Vorarbeit an PHPNuke soweit getan. Anzumerken wäre noch, das von den Mozilla Suchplugins (Sherlocks) nur die Methode GET bislang unterstützt wird, PHPnuke aber normalerweise mit POST seine Suche einleitet. Eine Übergabe mit GET funktionierte trotzdem.

Erstellen des Suchplugins

Zu einem Suchplugin (Sherlock) gehören 2 Komponenten:

eine Datei in der die Art der Suche spezifiziert wird und ein Bild welches an verschiedenen Stellen innerhalb von Mozilla dann bei dieser Suche angezeigt wird.

Das Bild ist eine 16×16 Pixel große png / gif / jpg Datei.

Die Datei die die Suche spezifiziert ist in einem RDF-Format abgelegt.
Exemplarisch zeige ich hier das RDF-Suchplugin für Berts-Linux.de:

berts-linux.src

Die Datei besteht aus 3 Bereichen.

Im ersten Bereich wird die Seite definiert (die URL zum Suchformular, Seitenname,Beschreibung und Übergabemethode)

Weiterhin werden über input-Felder die Suchparameter definiert. Bei PHPNuke werden die Suchbegriffe dem Parameter query übergeben. Da dieser Parameter von Mozilla als erster mit einem „?“ an die Such-URL angehangen wird, muss man den PHPNuke Parameter für das Suchmodul (name=Search) als weiteren Parameter mit übergeben (sonst könnte man den Parameter auch direkt in die SuchURL schreiben).
Mit dem Parameter sourceid wird ein Identifikationsparameter für Mozilla als Auslöser der Suche eingefügt.

Der zweiten Bereich ist im Prinzip ein Unterbereich des ersten, hier werden der Suchbereich und die Suchergebnisse definiert.
Bei der hier zum Einsatz kommenden PHPNuke Version (6.0, deutsche Sprachumgebung) wurden die Suchergebnisse zwischen den Worten :

Suchergebnisse

und :
… mehr

angezeigt.

Die einzelnen Sucheinträge standen entsprechend zwischen Tabellen-Tags.

Im dritten Bereich wird dann noch definiert wo und wann man sich das Suchplugin runterladen kann.

Damit ist das Suchplugin (wenn man auch schon ein Bild erzeugt hat) fertig. Das fertige Plugin kann man auf der Entwicklerseite von Mozilla (auf der man sich auch viele andere Suchmaschinenplugins runterladen kann registrieren)

http://mycroft.mozdev.org/

Allerdings sollte man es vorher ausführlich testen, wozu man es erstmal bei Mozilla installieren muss (siehe nächste Seite).

Auf der Seite finden sich noch Hinweise zum testen.

Integration in Mozilla/Netscape

Das andere Benutzer einfach die Suchmaschine hinzufügen können kann man mit einem Javascript-Link erreichen (das kann man sich in den Quellen von berts-linux.de anschauen).

Im Prinzip wird ein Link auf:

javascript:addEngine();

in der Seite eingebaut,
der den folgenden Javascript-Code aufruft:

function addEngine()
{
    if ((typeof window.sidebar == "object") && (typeof window.sidebar.addSearchEngine == "function"))
    {
        window.sidebar.addSearchEngine(
            "http://www.berts-linux.de/local/plugins/berts-linux.src",  /* engine URL */
            "http://www.berts-linux.de/local/plugins/berts-linux.png",  /* icon URL */
            "Berts Linux",                                         /* engine name */
            "Linux" );                                               /* category name */
    }
    else
    {
        alert("Mozilla M15 or later is required to add a search engine.");
    }
}

Bei Mozilla unter Linux müssen die Plugins leider mit Systemadministratorrechten als root installiert werden z.B. bei Debian im Verzeichnis /usr/lib/mozilla/searchplugins/ wenn man die Debianversion von Mozilla benutzt sonst kann das Verzeichnis auch /usr/local/mozilla/searchplugins/ oder so heissen.

Da die Installation eines Plugins sich allerdings nur auf ein kopieren der 2 Dateien (z.B. berts-linux.src, berts-linux.png) in diese Verzeichnis beschränkt, sollte das auch schnell erledigt sein.

Nachdem nun das Plugin eingebaut ist, sollte Mozilla
neugestartet werden, und entwerder in dem Sidebar-Such-Formular, oder in den Einstellungen unter Navigator - Internetsuche sollte man die entsprechenden Suchmaschinen auswähel können.
Bei zusätzlich Plugins wie EasySearch kann man natürlich auch die entsprechenden Suchmaschinen auswählen.
Weitere infos gibt es unter:

http://www.mozilla.org

Jetzt kann das Plugin ausgiebig getestet werden, und registriert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.