Suchfeld im Firefox mit OpenSearch anpassen

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!).

Abbildung der Adressleiste im Firefox auf forum.ubuntuusers.de und hinterlegtem Auswahlmenü neben dem Suchfeld

Abbildung der Adressleiste im Firefox auf ubuntu-forum.de und hinterlegtem Auswahlmenü neben dem Suchfeld

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:

  1. Man ruft das gewünschte Forum auf, und wählt die Suchfunktion.
  2. Öffnen der Seiteninformationen (WICHTIG: im aktuellen Tab) mit Strg+I
  3. 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.
  4. Schließen des Seiteninformationen-Fensters.
  5. Öffnen der Quelltext-Ansicht (WICHTIG: im aktuellen Tab) mit Strg+U
  6. 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
    <form> angegeben sind – für die Suche an.

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 “&amp;”!

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.

Ähnliche Artikel:

  1. Shocking news! New Firefox 3.5 is out

Tags: , , , ,

19 Antworten zu “Suchfeld im Firefox mit OpenSearch anpassen”

  1. Emperor sagt:

    Also ich muss sagen, dass ich das ganze mit dem Addon “Add to search bar” wesentlich einfacher finde:

    https://addons.mozilla.org/de/firefox/addon/3682

    Einfach Rechtsklick auf ein beliebiges Suchfeld, “add to search bar” auswählen, fertig.

  2. b23 sagt:

    den base 64 Code fuer das Bild (Imag tag) bekommt man uebrigens via Komandozeile:

    base64 bildname.png

  3. admin sagt:

    @Emperor: Das stimmt, für den Benutzer ist es einfacher. Wenn man ein Forum, ein Wiki oder ähnliches hat ist es aber leichter den Besuchern zu sagen Sie sollen einfach den Suchanbieter hinzufügen als sich ein Addon zu installieren und die Suche mit diesem einfügen, außerdem lassen sich die Suchfunktionen auch updaten und evtl. mit JSON-Suchvorschlägen erweitern, sofern die Kenntnisse des Programmiers dies zulassen.

    @b23: Danke für den Hinweis, ich kannte den Befehl zwar, aber habe ihn selten gebraucht und auch nicht daran gedacht, als ich das hier geschrieben habe. Für Linux-User ist der Befehl natürlich ein muss ;-)

  4. Mathias sagt:

    Hi!

    ubuntuusers.de bietet nebenbei bemerkt noch Suchfeld-Plugins für Ikhaya, das Wiki und den Planeten an, je nachdem in welchem Bereich du dich gerade befindest.

  5. matze sagt:

    super Blog Eintrag!
    gut erklärt, hab ich gleich mal umgesetzt!
    geht wirklich gut, aber wie mache ich das ganze noch für andere browser?
    gibts da auch möglichkeiten?

  6. admin sagt:

    Hallo matze.

    Sofern der HTTP-Aufruf über “get” erfolgt sollte das auch im Internet Explorer 7 funktionieren. Im IE 8 weiß ich nicht ob dort auch “post” Anfragen bereits unterstützt werden.

  7. matze sagt:

    Hallo admin!
    mmh, ich benutze Joomla und hab das da eingebaut, aber es läuft alles über post!
    wenn ich das nächste mal mein win boote und nicht im ubuntu bin, teste ich es mal für den IE
    Danke!

  8. Simon Says sagt:

    du benutzt mit gutem Gewissen die Google Toolbar?

  9. matze sagt:

    Hallo
    ich nochmal…
    Ich habe das Script mal für Joomla angepasst und in meinem Blog darüber geschrieben:
    http://matthiashille.com/blog/viewpost/38
    Evtl. kannst du da ja hier noch drauf verlinken, auf den Post

  10. DIDIOpladen sagt:

    Oder noch einfacher ohne viel Schnick-Schnack:

    Links Klick im Input-Tag (SuchFeld) z.B. auf der ubuntuusers.de Seite
    Jetzt einen links Klick auf das kleine Google-Symbol und da steht “ubuntuusers hinzufügen”
    Fertig

    Und wer nicht Google haben will, klickt so einen anderen an – FireFox merkt sich das ;-)

  11. admin sagt:

    “du benutzt mit gutem Gewissen die Google Toolbar?”

    @Simon Says:
    Mit gutem Gewissen nicht, doch die Bildersuche, landesspezifische Suche, o.Ä. per Button erreichbar scheint mir dann doch recht praktisch. Außerdem ist die PageRank-Anzeige in der Toolbar recht interessant, da kann ich auch leicht darüber hinwegsehen, dass Google meine Daten lange lange speichert und auswertet ;)

    @matze:
    Das werde ich mir gleich mal ansehen. ;)

    @DIDIOpladen:
    Danke :)

  12. Bernd sagt:

    danke für den super Blogeintrag.
    Ich habe das ganze im Forum des österreichischen Ubuntu LoCo (ubuntu-at.org) eingetragen.

  13. Webbutterfly sagt:

    Hello und DANKE für die Mühe!
    Habe es für Ubuntu-Austria eingefügt. :D

    Marion

  14. Webbutterfly sagt:

    Nachtrag:
    Dank deiner super Vorarbeit was es für mich um vieles einfacher und ich bin mir nicht sicher ob ich mir das angetan hätte :?
    Funktioniert super! 8)

  15. admin sagt:

    Hallo Bernd, Hallo Marion!

    Schön, dass ihr das gleich bei euch reingestellt habt. Ich habe das bewusst für beide Foren gemacht, um hier keine der beiden Communities auszuschließen. ;)

    Außerdem sind es auch noch verschiedene Forensysteme, welche auch noch unterschiedliche HTTP-Methoden benutzen. Das hat mir auch noch sehr gut gepasst, dass ich die Unterschiede aufzeigen konnte.

    PS: Bin endlich mal in die beiden Launchpad-Gruppen gegangen und auch der Facebook-Gruppe der LoCo beigetreten. Wobei die Gruppe in eurem Forum gar nicht erwähnt wird, sondern wohl rein aus dem Chat heraus gemacht wurde…Könntet ihr auch noch eintragen @Bernd!

  16. Cee sagt:

    -> http://www.ipcop-forum.de/forum/viewtopic.php?p=208037#p208037

    Vielen Dank! :-)

  17. Suchfeld im Firefox mit OpenSearch anpassen « nEws vom ConsEbt team sagt:

    [...] Suchfeld im Firefox mit OpenSearch anpassen Ubuntu Blog» Blogarchiv » Suchfeld im Firefox mit OpenSearch anpassen. [...]

  18. Disfunctions.de » Blog Archiv » Suchfeld im Firefox für die eigene Website anbieten sagt:

    [...] Heute habe ich im Ubuntu-Blog diesen Beitrag gelesen. [...]

  19. Disfunctions.de » Blog Archiv » Suchfeld im Firefox für die eigene Website anbieten sagt:

    [...] Erstellt von matthias am Montag 8. Juni 2009 Heute habe ich im Ubuntu-Blog diesen Beitrag gelesen. [...]

Hinterlasse eine Antwort