Creació_de_connectors_MozSearch

  • Revision slug: Creació_de_connectors_MozSearch
  • Revision title: Creació de connectors MozSearch
  • Revision id: 261912
  • Created:
  • Creator: Toniher
  • Is current revision? No
  • Comment

Revision Content

El Firefox 2 pot fer servir MozSearch, una forma simplificada del format OpenSearch de l'A9 d'Amazon, per a crear connectors de cerca. També s'accepten connectors OpenSearch. Vegeu el lloc d'OpenSearch per a més detalls.

Un connector de cerca MozSearch és un fitxer XML que descriu un motor de cerca, el seu URL, i els paràmetres que cal passar a aqueix mateix URL.

Nota: Tingueu en compte que MozSearch és específic per al Firefox; si voleu escriure un connector que sigui compatible amb altres navegadors, pot interessar-vos utilitzar-se el sistema estàndard d'OpenSearch. Per sort, tots dos formats són molt semblants i és fàcil passar d'un a l'altre en funció de les vostres necessitats.

El fitxer del connector

El fitxer XML que descriu el motor de cerca és realment molt simple i segueix la plantilla bàsica que es mostra a continuació. Cal personalitzar les seccions en cursiva en funció de les necessitats específiques del connector del motor de cerca que esteu escrivint.

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Nom del motor</ShortName>
<Description>Descripció del motor</Description>
<InputEncoding>Codificació d'entrada</InputEncoding>
<SuggestionUrl>URL de suggeriments</SuggestionUrl>
<Image width="16" height="16">data:image/x-icon;base64,dades de la imatge</image>
<Url type="text/plain" method="method" template="searchURL">
  <Param name="nom del paràmetre 1" value="valor del paràmetre 1"/>
  ...
  <Param name="nom del paràmetre 1" value="valor del paràmetre N"/>
</Url>
<SearchForm>URL del formulari de cerca</SearchForm> 
</SearchPlugin>
ShortName
Un nom curt per al motor de cerca.
'Description
Una breu descripció del motor de cerca.
InputEncoding
La codificació que s'utilitzarà a l'entrada de dades del motor de cerca.
SuggestionUrl
Si el motor de cerca permet fer-vos suggeriments a mesura que escriviu, aquest URL s'utilitza per a fer consultes basades en el contingut actual del quadre de cerca mentre teclegeu, per a proporcionar un menú desplegable amb un llistat que retorni els resultats de la cerca. Es tracta d'un element opcional; si el motor de cerca no incorpora suggeriments a mesura que escriviu, podeu obviar-ho.
En les alfes del Firefox 2, aquest element s'anomenava SuggestionURL. S'ha canviat per SuggestionUrl per a tenir consistència amb l'element Url del Firefox 2 Beta 1 ({{template.Bug(340444)}})

Image:SearchSuggestionSample.png

Image
Una icona de 16x16 codificada en Base-64 i representativa del motor de cerca. Una eina util, que podeu utilitzar per a construir les dades que han d'emplaçar-se aquí, és The Data: URI kitchen.
Url
Descriu l'URL que s'utilitzara en la consulta de cerca. L'atribut mètode indica si s'utilitzarà una sol·licitud GET o POST per a recollir el resultat. L'atribut template indica l'URL base de la consulta de cerca.
Param
Els paràmetres que cal passar juntament amb la consulta de cerca, en la forma de parells de clau/valor. Quan s'especifica valors, podeu utilitzar {searchTerms} per a inserir els termes de cerca introduït per l'usuari en el quadre de cerca.
SearchForm
L'URL on anar a obrir la pàgina de cerca del lloc al qual el connector està dissenyat. Proporciona una forma que el Firefox permeti a l'usuari visitar el lloc web directament.

Descobriment automàtic de connectors de cerca

Un lloc web que ofereix un connector de cerca pot notificar-ho perquè així els usuaris del Firefox puguin baixar-se i instal·lar el connector fàcilment.

Per a activar el descobriment automàtic, només cal que afegiu una línea a la secció <HEAD> de la vostra pàgina web:

<link rel="search" type="application/opensearchdescription+xml" title="searchTitle" href="pluginURL">

Substituïu els elements en cursiva com s'explica a sota:

searchTitle
El nom de la cerca que es realitza, com ara «Cerca el MDC» o «Cerca de Yahoo!».
pluginURL
L'URL del connector de cerca XML, des d'on el navegador podrà baixar-lo.

Si el vostre lloc ofereix més d'un connector de cerca, només cal que ho implementeu per a tots ells. Per exemple:

<pree> <link rel="search" type="application/opensearchdescription+xml" title="Mon lloc: By Author" href="http://www.monlloc.cat/autormonlloc.xml"> <link rel="search" type="application/opensearchdescription+xml" title="MySite: By Title" href="http://www.monlloc.cat/titolmonlloc.xml"> </pre>

D'aquesta manera, el vostre lloc pot oferir múltiples connectors per a cercar tant per autor com per títol des d'entitats separades.

Exemple: cercar amb Yahoo!

El següent XML és el connector de cerca de Yahoo! que s'inclou al Firefox 2:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Yahoo</ShortName>
<Description>Yahoo Search</Description>
<InputEncoding>UTF-8</InputEncoding>
<SuggestionUrl>http://ff.search.yahoo.com/gossip?output=fxjson&command=</SuggestionUrl>
<Image width="16" height="16">data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==</Image>
<Url type="text/html" method="GET" template="http://search.yahoo.com/search">
  <Param name="p" value="{searchTerms}"/>
  <Param name="ei" value="UTF-8"/>
  <Param name="fr" value="moz2"/>
</Url>
<SearchForm>http://search.yahoo.com/</SearchForm>
</SearchPlugin>

Suposem que l'usuari tria el connector del motor de cerca de Yahoo! i introdueix «mozilla» en el quadre de cerca, i a continuacó prem la tecla Retorn. El Firefox farà servir la descripció del motor de cerca anterior per a construir la següent URL de cerca:

http://search.yahoo.com/search?p=mozilla&ei=UTF-8&fr=moz2

Si l'usuari clica la icona de la lupa de barra de cerca, o bé tria l'opció de Cerca Web al menú d'Eines quan la barra de cerca no sigui visible, el navegador el portarà a <tt>http://search.yahoo.com/</tt>, el valor de l'element <SearchForm>.

Exemple: cercar al MDC

Aquest connector us permet cercar fàcilment el lloc web del Centre de desenvolupament de Mozilla.

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>MDC</ShortName>
<Description>Cerca del Centre de desenvolupament de Mozilla</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D</Image>
<Url type="text/html" method="GET" template="http://developer.mozilla.org/ca/docs/Special:Search?search={searchTerms}"/>
<SearchForm>http://developer.mozilla.org/ca/docs/Special:Search</SearchForm> 
</SearchPlugin>

Tingueu en compte que en aquest cas, en comptes de fer servir <Param> per a definir els paràmetres per al motor de cerca, aquests simplement s'inclouen dins de l'URL de plantilla. Aquesta és, de fet, la forma recomanable de fer-ho quan s'utilitzi GET com a mètode. <Param> ha d'utilitzar-se per a POST.

Consells per a la resolució de problemes

Si hi ha algun equivocació en l'XML del vostre connector de cerca, podeu trobar-vos amb errors en descobrir i afegir un connector en el Firefox (Bon Echo) Alfa 3. El missatge d'error pot ser que no serveixi de massa ajuda, per això els següents consells poden servir-vos per a trobar el problema.

  • Assegureu-vos que l'XML del connector de cerca està ben format. Podeu comprovar-ho carregant el fitxer directament en el Firefox. Els símbols «&» en l'url de plantilla cal que estiguin escrits en format HTML: «&amp;». Cal també tancar les etiquetes amb una barra inclinada o una etiqueta de tancament.
  • L'atribut xmlns és important, sense ell podríeu rebre un missatge d'error indicant que «El Bon Echo no ha pogut baixar-se el connector de l'(URL)»

OpenSearch

El format de descripció de l'OpenSearch és similar al del Mozilla SearchPlugin. La principal diferència és l'element arrel i l'espai de noms XML.

<xml version="1.0"  encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
...
</OpenSearchDescription>

Material de referència

Revision Source

<p>El Firefox 2 pot fer servir MozSearch, una forma simplificada del format OpenSearch de l'A9 d'Amazon, per a crear connectors de cerca. També s'accepten connectors OpenSearch. Vegeu el lloc d'OpenSearch per a més detalls.
</p><p>Un connector de cerca MozSearch és un fitxer XML que descriu un motor de cerca, el seu URL, i els paràmetres que cal passar a aqueix mateix URL.
</p>
<div class="note"><b>Nota:</b> Tingueu en compte que MozSearch és específic per al Firefox; si voleu escriure un connector que sigui compatible amb altres navegadors, pot interessar-vos utilitzar-se el sistema estàndard d'OpenSearch. Per sort, tots dos formats són molt semblants i és fàcil passar d'un a l'altre en funció de les vostres necessitats.</div>
<h2 name="El_fitxer_del_connector">El fitxer del connector</h2>
<p>El fitxer XML que descriu el motor de cerca és realment molt simple i segueix la plantilla bàsica que es mostra a continuació. Cal personalitzar les seccions en cursiva en funció de les necessitats específiques del connector del motor de cerca que esteu escrivint.
</p>
<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
&lt;ShortName&gt;Nom del motor&lt;/ShortName&gt;
&lt;Description&gt;Descripció del motor&lt;/Description&gt;
&lt;InputEncoding&gt;Codificació d'entrada&lt;/InputEncoding&gt;
&lt;SuggestionUrl&gt;URL de suggeriments&lt;/SuggestionUrl&gt;
&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,dades de la imatge&lt;/image&gt;
&lt;Url type="text/plain" method="method" template="searchURL"&gt;
  &lt;Param name="nom del paràmetre 1" value="valor del paràmetre 1"/&gt;
  ...
  &lt;Param name="nom del paràmetre 1" value="valor del paràmetre N"/&gt;
&lt;/Url&gt;
&lt;SearchForm&gt;URL del formulari de cerca&lt;/SearchForm&gt; 
&lt;/SearchPlugin&gt;
</pre>
<dl><dt> <b>ShortName</b>
</dt><dd> Un nom curt per al motor de cerca. 
</dd></dl>
<dl><dt> '<i>Description</i>
</dt><dd> Una breu descripció del motor de cerca. 
</dd></dl>
<dl><dt> <b>InputEncoding</b>
</dt><dd> La codificació que s'utilitzarà a l'entrada de dades del motor de cerca.
</dd></dl>
<dl><dt> <b>SuggestionUrl</b>
</dt><dd> Si el motor de cerca permet fer-vos suggeriments a mesura que escriviu, aquest URL s'utilitza per a fer consultes basades en el contingut actual del quadre de cerca mentre teclegeu, per a proporcionar un menú desplegable amb un llistat que retorni els resultats de la cerca. Es tracta d'un element opcional; si el motor de cerca no incorpora suggeriments a mesura que escriviu, podeu obviar-ho.
</dd></dl>
<div class="note">En les alfes del Firefox 2, aquest element s'anomenava <code>SuggestionURL</code>. S'ha canviat per <code>SuggestionUrl</code> per a tenir consistència amb l'element <code>Url</code> del Firefox 2 Beta 1 ({{template.Bug(340444)}})</div>
<p><img alt="Image:SearchSuggestionSample.png" src="File:ca/Media_Gallery/SearchSuggestionSample.png">
</p>
<dl><dt> <b>Image</b>
</dt><dd> Una icona de 16x16 codificada en Base-64 i representativa del motor de cerca. Una eina util, que podeu utilitzar per a construir les dades que han d'emplaçar-se aquí, és The Data: URI kitchen.
</dd></dl>
<dl><dt> <b>Url</b>
</dt><dd> Descriu l'URL que s'utilitzara en la consulta de cerca. L'atribut mètode indica si s'utilitzarà una sol·licitud GET o POST per a recollir el resultat. L'atribut template indica l'URL base de la consulta de cerca.
</dd></dl>
<dl><dt><b>Param</b>
</dt><dt> Els paràmetres que cal passar juntament amb la consulta de cerca, en la forma de parells de clau/valor. Quan s'especifica valors, podeu utilitzar {searchTerms} per a inserir els termes de cerca introduït per l'usuari en el quadre de cerca.
</dt></dl>
<dl><dt> <b>SearchForm</b>
</dt><dd> L'URL on anar a obrir la pàgina de cerca del lloc al qual el connector està dissenyat. Proporciona una forma que el Firefox permeti a l'usuari visitar el lloc web directament. 
</dd></dl>
<h2 name="Descobriment_autom.C3.A0tic_de_connectors_de_cerca">Descobriment automàtic de connectors de cerca</h2>
<p>Un lloc web que ofereix un connector de cerca pot notificar-ho perquè així els usuaris del Firefox puguin baixar-se i instal·lar el connector fàcilment.
</p><p>Per a activar el descobriment automàtic, només cal que afegiu una línea a la secció <code>&lt;HEAD&gt;</code> de la vostra pàgina web:
</p><p>&lt;link rel="search" type="application/opensearchdescription+xml" title="searchTitle" href="pluginURL"&gt;
</p><p>Substituïu els elements en cursiva com s'explica a sota:
</p>
<dl><dt> <b>searchTitle</b>
</dt><dd> El nom de la cerca que es realitza, com ara «Cerca el MDC» o «Cerca de Yahoo!». 
</dd></dl>
<dl><dt> <b>pluginURL</b>
</dt><dd> L'URL del connector de cerca XML, des d'on el navegador podrà baixar-lo.
</dd></dl>
<p>Si el vostre lloc ofereix més d'un connector de cerca, només cal que ho implementeu per a tots ells. Per exemple:
</p><p>&lt;pree&gt;
&lt;link rel="search" type="application/opensearchdescription+xml" title="Mon lloc: By Author" href="http://www.monlloc.cat/autormonlloc.xml"&gt;
&lt;link rel="search" type="application/opensearchdescription+xml" title="MySite: By Title" href="http://www.monlloc.cat/titolmonlloc.xml"&gt;
&lt;/pre&gt;
</p><p>D'aquesta manera, el vostre lloc pot oferir múltiples connectors per a cercar tant per autor com per títol des d'entitats separades.
</p>
<h2 name="Exemple:_cercar_amb_Yahoo.21">Exemple: cercar amb Yahoo!</h2>
<p>El següent XML és el connector de cerca de Yahoo! que s'inclou al Firefox 2:
</p>
<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
&lt;ShortName&gt;Yahoo&lt;/ShortName&gt;
&lt;Description&gt;Yahoo Search&lt;/Description&gt;
&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
&lt;SuggestionUrl&gt;http://ff.search.yahoo.com/gossip?output=fxjson&amp;command=&lt;/SuggestionUrl&gt;
&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,R0lGODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0NogQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==&lt;/Image&gt;
&lt;Url type="text/html" method="GET" template="http://search.yahoo.com/search"&gt;
  &lt;Param name="p" value="{searchTerms}"/&gt;
  &lt;Param name="ei" value="UTF-8"/&gt;
  &lt;Param name="fr" value="moz2"/&gt;
&lt;/Url&gt;
&lt;SearchForm&gt;http://search.yahoo.com/&lt;/SearchForm&gt;
&lt;/SearchPlugin&gt;
</pre>
<p>Suposem que l'usuari tria el connector del motor de cerca de Yahoo! i introdueix «mozilla» en el quadre de cerca, i a continuacó prem la tecla Retorn. El Firefox farà servir la descripció del motor de cerca anterior per a construir la següent URL de cerca:
</p><p><span class="plain">http://search.yahoo.com/search?p=mozilla&amp;ei=UTF-8&amp;fr=moz2</span>
</p><p>Si l'usuari clica la icona de la lupa de barra de cerca, o bé tria l'opció de Cerca Web al menú d'Eines quan la barra de cerca no sigui visible, el navegador el portarà a <tt><span class="plain">http://search.yahoo.com/</span></tt>, el valor de l'element <code>&lt;SearchForm&gt;</code>. 
</p>
<h2 name="Exemple:_cercar_al_MDC">Exemple: cercar al MDC</h2>
<p>Aquest connector us permet cercar fàcilment el lloc web del Centre de desenvolupament de Mozilla.
</p>
<pre>&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;
&lt;ShortName&gt;MDC&lt;/ShortName&gt;
&lt;Description&gt;Cerca del Centre de desenvolupament de Mozilla&lt;/Description&gt;
&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2BrVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D&lt;/Image&gt;
&lt;Url type="text/html" method="GET" template="http://developer.mozilla.org/ca/docs/Special:Search?search={searchTerms}"/&gt;
&lt;SearchForm&gt;http://developer.mozilla.org/ca/docs/Special:Search&lt;/SearchForm&gt; 
&lt;/SearchPlugin&gt;
</pre>
<p>Tingueu en compte que en aquest cas, en comptes de fer servir <code>&lt;Param&gt;</code> per a definir els paràmetres per al motor de cerca, aquests simplement s'inclouen dins de l'URL de plantilla. Aquesta és, de fet, la forma recomanable de fer-ho quan s'utilitzi <code>GET</code> com a mètode. <code>&lt;Param&gt;</code> ha d'utilitzar-se per a <code>POST</code>.
</p>
<h2 name="Consells_per_a_la_resoluci.C3.B3_de_problemes">Consells per a la resolució de problemes</h2>
<p>Si hi ha algun equivocació en l'XML del vostre connector de cerca, podeu trobar-vos amb errors en descobrir i afegir un connector en el Firefox (Bon Echo) Alfa 3. El missatge d'error pot ser que no serveixi de massa ajuda, per això els següents consells poden servir-vos per a trobar el problema.
</p>
<ul><li>Assegureu-vos que l'XML del connector de cerca està ben format. Podeu comprovar-ho carregant el fitxer directament en el Firefox. Els símbols «&amp;» en l'url de plantilla cal que estiguin escrits en format HTML: «&amp;amp;». Cal també tancar les etiquetes amb una barra inclinada o una etiqueta de tancament.
</li><li>L'atribut <code>xmlns</code> és important, sense ell podríeu rebre un missatge d'error indicant que «El Bon Echo no ha pogut baixar-se el connector de l'(URL)»
</li></ul>
<h2 name="OpenSearch">OpenSearch</h2>
<p>El format de descripció de l'OpenSearch és similar al del Mozilla SearchPlugin. La principal diferència és l'element arrel i l'espai de noms XML.
</p>
<pre>&lt;xml version="1.0"  encoding="UTF-8"?&gt;
&lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"&gt;
...
&lt;/OpenSearchDescription&gt;
</pre>
<h2 name="Material_de_refer.C3.A8ncia">Material de referència</h2>
<ul><li><a class="external" href="http://opensearch.a9.com/Documentació">d'OpenSearch d'A9.com</a>
</li><li>Technorati.com té un <a class="external" href="http://technorati.com/osd.xml">osd.xml funcional</a>
</li><li>Més sobre les dificultats en el descobriment automàtic al bugzilla {{template.Bug(340208)}}
</li><li><a class="external" href="http://en.wikipedia.org/wiki/Data:_URL">Dades</a>: esquema URI
</li></ul>
Revert to this revision