Vor kurzem überlegte ich mir wieso ich das Suchfeld im Firefox eigentlich auf “Google” eingestellt habe, obwohl ich die Google-Toolbar ebenfalls benutze. Also überlegte ich mir eine Lösung zu finden, um weitere Suchanbieter hinzuzufügen.
Nach kurzem Suchen bin ich dann auf eine Seite der Mozilla-Entwickler gestoßen, in der die Vorgehensweise zum hinzufügen eines Suchanbieters erläutert (https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox)
Als nächsten Schritt überlegte ich mir ein Forum zu nehmen, welches sich mit Ubuntu befasst um dafür einen Suchanbieter einzufügen. Die deutschen Foren: ubuntuusers.de und ubuntu-forum.de haben mich dann gleich mal überrascht, da ich dort sofort beim Aufruf der Foren durch Verfärbung des Auswahlmenüs neben den Suchanbietern darauf hingewiesen wurde(siehe Abbildungen), dass diese bereits entsprechende XML-Dateien bereitstellen(in ubuntu-forum.de muss man angemeldet sein um das Suchfeld dafür zu benutzen, ansonsten müsste man nämlich einen Sicherheitscode eingeben!).
Gut, dachte ich mir und fügte die 2 Suchanbieter (wobei ubuntuusers.de sogar 2 XML-Dateien liefert um entweder das Forum oder alles zu durchsuchen ) zum Firefox hinzu. Doch wollte ich auch selbst mal so eine XML-Datei erstellen…
Also sah ich mir die beiden österreichischen Foren an: ubuntu-austria.at und ubuntu-at.com. Und siehe da: beide Foren verlinken keine XML-Datei nach dem OpenSearch-Standard…
Im Grunde ist so etwas sehr einfach umzusetzen:
- Man ruft das gewünschte Forum auf, und wählt die Suchfunktion.
- Öffnen der Seiteninformationen (WICHTIG: im aktuellen Tab) mit Strg+I
- Man fügt die Zeile: <InputEncoding>ISO-8859-1</InputEncoding> oder auch <InputEncoding>UTF-8</InputEncoding> ein, wobei man den richtigen Inhalt zwischen den InputEncoding-Tags direkt aus dem Seiteninformationen-Fenster neben “Kodierung:” findet. Meistens wird man auf UTF-8 oder ISO-8859-1 stoßen.
- Schließen des Seiteninformationen-Fensters.
- Öffnen der Quelltext-Ansicht (WICHTIG: im aktuellen Tab) mit Strg+U
- Man sucht (Strg+F) nach dem <form>-Tag und gibt in der XML-Datei entsprechend der Methode (GET oder POST) die Parameter – die innerhalb von
Hier am Beispiel: Die Angaben für das Ubuntu-Austria Forum. Mit diesen Angaben wird in allen Unterforen, unabhängig vom Alter eines Posts gesucht. Der OpenSearch-Standard gibt vor, dass {searchTerms} eine Variable ist, der die Suchbegriffe übergeben werden können. Diese Angaben beziehen sich jetzt nur auf die HTTP-Methode “post“:
<Url type="text/html" method="post" template="http://www.ubuntu-austria.at/search.php?mode=results">
<Param name="search_keywords" value="{searchTerms}"/>
<Param name="search_terms" value="any"/>
<Param name="search_forum" value="-1"/>
<Param name="search_time" value="0"/>
<Param name="search_fields" value="all"/>
<Param name="search_cat" value="-1"/>
<Param name="sort_by" value="0"/>
<Param name="show_results" value="posts"/>
<Param name="return_chars" value="-1"/>
</Url>
Bei einem Suchformular, welches Anfragen mit GET entgegen nimmt wie etwa die, der österreichischen Ubuntu LoCo (ubuntu-at.com) sieht dieser Teil der XML-Datei so aus:
<Url type="text/html" method="get" template="http://www.ubuntu-at.com/search.php?keywords={searchTerms}&terms=all&author=&sc=1&sf=all&sr=posts&sk=t&sd=d&st=0&ch=-1&t=0&submit=Suche">
</Url>
Wichtig hierbei ist, dass die “&” in der URL HTML-Kodiert werden, also zu “&”!
Ganz detailliert möchte ich die Sache jetzt nicht ausführen, sondern Verweise einmal auf die 2 erstellten XML-Dateien(Adressen dazu, siehe Ende des Artikels), aus denen die meisten Angaben sowieso hervorgehen. Um ein Icon einzufügen kann man eine 16×16 .ico-Datei in einen base64-Encoder(z.B. http://www.motobit.com/util/base64-decoder-encoder.asp) laden (“select a file to convert to a Base64 string. “), und dann den base64-String wie in meinen beiden XML-Dateien einfügen.
Als 2.Variante gibt es noch die Möglichkeit dieses Icon von einer Website zu laden. Details dazu siehe Anleitung zu OpenSearch auf der (oben angegebenen) Mozilla-Entwickler-Seite.
Abschließend muss noch in eine Webseite (html/xhtml) im <head>-Bereich ein Verweis auf diese XML-Dateien gemacht werden, damit diese zu Firefox hinzugefügt werden können (hat bei mir jedoch nur NACH dem hochladen der Dateien auf einen Provider funktioniert und NICHT lokal!). Dies sieht dann z.B. so aus:
<link title="Ubuntu Austria-Forum" type="application/opensearchdescription+xml"
rel="search" href="ubuntu_austria_forum.xml" />
Fragen dazu bitte per Kommentar
[1]: opensearch/xml: Ubuntu Austria-Forum
[2]: opensearch/xml: Ubuntu LoCo-Forum
[3]: HTML-Seite mit <link> zu den Ubuntu-spezifischen Suchanbietern.