Confronta le versioni

Creare Plugin MozSearch

Versione 192474:

Versione 192474 di Federico del

Versione 192475:

Versione 192475 di Marcellotalon del

Titolo:
Creare Plugin MozSearch
Creare Plugin MozSearch
Slug:
Creare_Plugin_MozSearch
Creare_Plugin_MozSearch
Etichette:
Plugin_di_ricerca
Plugin_di_ricerca
Contenuto:

Versione 192474
Versione 192475
n8      Firefox 2 supporta MozSearch, una versione semplificata deln8      <span class="comment">Generated by searchplugins.net search
> formato OpenSearch di A9 per creare i plugin di ricerca. Anche i> plugin generator</span> <span class="comment">http://www.searchp
> plugin OpenSearch sono supportati; vedi il sito di <a class="ext>lugins.net/generate.aspx</span> − <span class="comment">Plugin li
>ernal" href="http://opensearch.a9.com/">OpenSearch</a> per ulteri>st available at http://www.searchplugins.net/pluginlist.aspx</spa
>ori dettagli.>n> &lt;OpenSearchDescription&gt; &lt;ShortName&gt;Giurisprudenza.
 >Appalti.org&lt;/ShortName&gt; &lt;Description&gt;Ricerca Giurispr
 >udenza Appalti&lt;/Description&gt; &lt;Tags&gt;motore ricerca giu
 >risprudenza appalti pubblici&lt;/Tags&gt; &lt;Image height="16" w
 >idth="16" type="image/x-icon"&gt;http://www.appaltiinlinea.it/fav
 >icon.ico&lt;/Image&gt; &lt;Url type="text/html" method="GET" temp
 >late="http://www.appalti.org/2004/bancadati_leggi/ricerca_semplic
 >e.asp?nr=100&amp;descrizione4=&amp;descrizione3={searchTerms}&amp
 >;Submit=CERCA&amp;page=1&amp;tbdati=GIURISPRUDENZA&gt; &lt;InputE
 >ncoding&gt;UTF-8&lt;/InputEncoding&gt; &lt;AdultContent&gt;false&
 >lt;/AdultContent&gt; &lt;/OpenSearchDescription&gt;
t10    <p>t
11      Un plugin MozSearch è un file XML che descrive il motore di
> ricerca, il suo URL e i parametri che occorre passare a questo U 
>RL. 
12    </p>
13    <div class="note">
14      <b>Nota:</b> MozSearch è un formato specifico di Firefox; s
>e si desidera scrivere un plugin che sia compatibile con altri br 
>owser, occorre utilizzare il sistema OpenSearch. Fortunatamente i 
> due formati sono molto simili ed è facile passare da uno all'alt 
>ro a seconda delle proprie necessità. 
15    </div>
16    <h2 name="Il_file_di_plugin">
17      Il file di plugin
18    </h2>
19    <p>
20      Il file XMl che descrive un motore di ricerca è abbastanza 
>semplice e segue il template basilare sotto riportato. Le sezioni 
> in corsivo devono essere personalizzate basandosi sui bisogni de 
>llo specifico plugin di ricerca che si sta scrivendo. 
21    </p>
22    <pre class="eval">
23&lt;SearchPlugin xmlns="<span class="plain">http://www.mozilla.or
>g/2006/browser/search/</span>"&gt; 
24&lt;ShortName&gt;<i>nomeMotore</i>&lt;/ShortName&gt;
25&lt;Description&gt;<i>descrizioneMotore</i>&lt;/Description&gt;
26&lt;InputEncoding&gt;<i>codificaInput</i>&lt;/InputEncoding&gt;
27&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,<i>i
>mmagine</i>&lt;/image&gt; 
28&lt;Url type="text/html" method="<i>metodo</i>" template="<i>URLd
>iRicerca</i>"&gt; 
29  &lt;Param name="<i>nomeParametro1</i>" value="<i>valoreParametr
>o1</i>"/&gt; 
30  ...
31  &lt;Param name="<i>nomeParametroN</i>" value="<i>valoreParametr
>oN</i>"/&gt; 
32&lt;/Url&gt;
33&lt;Url type="application/x-suggestions+json" template="<i>sugger
>imentoURL</i>"/&gt; 
34&lt;SearchForm&gt;<i>cercaDaURL</i>&lt;/SearchForm&gt; 
35&lt;/SearchPlugin&gt;
36</pre>
37    <dl>
38      <dt>
39        <b>nomeMotore</b>
40      </dt>
41      <dd>
42        Un nome in breve per il motore di ricerca.
43      </dd>
44    </dl>
45    <dl>
46      <dt>
47        <b>descrizioneMotore</b>
48      </dt>
49      <dd>
50        Una breve descrizione del motore di ricerca.
51      </dd>
52    </dl>
53    <dl>
54      <dt>
55        <b>codificaInput</b>
56      </dt>
57      <dd>
58        La codifica utilizzata per i dati in input.
59      </dd>
60    </dl>
61    <dl>
62      <dt>
63        <b>immagine</b>
64      </dt>
65      <dd>
66        Un'icona a 64 bit di 16x16 pixel che rappresenta il logo 
>del motore di ricerca. Un tool utile per costruire i dati da imme 
>ttere qui si trova al seguente URL: <a class="external" href="htt 
>p://software.hixie.ch/utilities/cgi/data/data">The data: URI kitc 
>hen</a>. 
67      </dd>
68    </dl>
69    <dl>
70      <dt>
71        <b>URLdiRicerca</b>
72      </dt>
73      <dd>
74        Descrive l'URL o gli URL da usare per la ricerca. L'attri
>buto <code>metodo</code> indica se si debba utilizzare il metodo  
>di ricerca <code>GET</code> o <code>POST</code>. L'attributo <cod 
>e>template</code> indica l'URL di base per l'interrogazione del m 
>otore di ricerca. 
75      </dd>
76    </dl>
77    <dl>
78      <dd>
79        E' possibile specificare due tipi di URL:
80      </dd>
81    </dl>
82    <ul>
83      <li>
84        <code>type="text/html"</code> è utilizzato per indicare l
>'URL dell'interrogazione effettiva. 
85      </li>
86      <li>
87        <code>type="application/x-suggestions+json"</code> è util
>izzato per indicare l'URL da usare per i suggerimenti sulla ricer 
>ca.. 
88      </li>
89    </ul>
90    <dl>
91      <dd>
92        Per entrambi i tipi di URL è possibile utilizzare <code>{
>searchTerms}</code> per sostituire i termini di ricerca inseriti  
>dall'utente nella barra di ricerca. 
93      </dd>
94    </dl>
95    <dl>
96      <dd>
97        Per i suggerimenti sulla ricerca, l'URL del template spec
>ificato viene utilizzato per recuperare una lista di suggerimenti 
> nel formato JavaScript Object Notation (JSON). Per ulteriori det 
>tagli su come implementare il supporto ai suggerimenti di ricerca 
> su un server, si veda <a href="it/Supportare_i_suggerimenti_nei_ 
>plugin_di_ricerca">Supportare i suggerimenti nei plugin di ricerc 
>a</a>. 
98      </dd>
99    </dl>
100    <p>
101      <img alt="Image:SearchSuggestionSample.png" src="File:it/Me
>dia_Gallery/SearchSuggestionSample.png"> 
102    </p>
103    <dl>
104      <dt>
105        <b>Parametri</b>
106      </dt>
107      <dd>
108        I parametri che occorre passare insieme all'interrogazion
>e, come coppie chiave/valore. Quando si specifica i valori, è pos 
>sibile utilizzare <code>{searchTerms}</code> per inserire i termi 
>ni di ricerca inseriti dall'utente nella barra di ricerca. 
109      </dd>
110    </dl>
111    <dl>
112      <dt>
113        <b>Form di ricerca</b>
114      </dt>
115      <dd>
116        L'URL da richiedere per aprire la pagina di ricerca nel s
>ito per il quale il plugin di ricerca è stato progettato. Questo  
>fornisce un modo per Firefox per permettere all'utente di visitar 
>e il direttamente il sito. 
117      </dd>
118    </dl>
119    <h2 name="Ricerca_automatica_dei_plugin">
120      Ricerca automatica dei plugin
121    </h2>
122    <p>
123      Un sito web che offre un plugin di ricerca può pubblicizzar
>lo in modo che gli utenti di Firefox possano facilmente scaricarl 
>o e installarlo. 
124    </p>
125    <p>
126      Per supportare la ricerca automatica dei plugin, occorre se
>mplicemente aggiungere una linea alla sezione <code>&lt;HEAD&gt;< 
>/code> della pagina web: 
127    </p>
128    <pre class="eval">
129&lt;link rel="search" type="application/opensearchdescription+xml
>" title="<i>nomeRicerca</i>" href="<i>urlPlugin</i>"&gt; 
130</pre>
131    <p>
132      Gli elementi da sostituire sono spiegati di seguito:
133    </p>
134    <dl>
135      <dt>
136        <b>nomeRicerca</b>
137      </dt>
138      <dd>
139        Il nome della ricerca, come "Cerca in MDC" o "Cerca in Ya
>hoo!". 
140      </dd>
141    </dl>
142    <dl>
143      <dt>
144        <b>urlPlugin</b>
145      </dt>
146      <dd>
147        L'URL del plugin di ricerca in XML, dal quale il browser 
>può scaricarlo. 
148      </dd>
149    </dl>
150    <p>
151      Se il sito offre più plugin di ricerca, è possibile support
>are la ricerca automatica per tutti quanti. Un esempio: 
152    </p>
153    <pre class="eval">
154&lt;link rel="search" type="application/opensearchdescription+xml
>" title="MioSito: cerca per autore" href="http://www.miosito.com/ 
>per_autore.xml"&gt; 
155&lt;link rel="search" type="application/opensearchdescription+xml
>" title="Miosito: cerca per titolo" href="http://www.miosito.com/ 
>per_titolo.xml"&gt; 
156</pre>
157    <p>
158      In questo modo, il sito può offrire entrambi i plugin di ri
>cerca (ricerca per titolo e ricerca per autore) come entità separ 
>ate. 
159    </p>
160    <h2 name="Esempio:_cercare_in_Yahoo.21">
161      Esempio: cercare in Yahoo!
162    </h2>
163    <p>
164      Il seguente XML è il plugin di ricerca per Firefox 2 per le
> ricerche attraverso Yahoo!: 
165    </p>
166    <pre>
167&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/searc
>h/"&gt; 
168&lt;ShortName&gt;Yahoo&lt;/ShortName&gt;
169&lt;Description&gt;Cerca in Yahoo&lt;/Description&gt;
170&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
171&lt;SuggestionUrl&gt;http://ff.search.yahoo.com/gossip?output=fxj
>son&amp;command=&lt;/SuggestionUrl&gt; 
172&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,R0lG
>ODlhEAAQAJECAP8AAAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIplI+py+0No 
>gQuyBDEnEd2kHkfFWUamEzmpZSfmaIHPHrRguUm/fT+UwAAOw==&lt;/Image&gt; 
173&lt;Url type="text/html" method="GET" template="http://search.yah
>oo.com/search"&gt; 
174  &lt;Param name="p" value="{searchTerms}"/&gt;
175  &lt;Param name="ei" value="UTF-8"/&gt;
176  &lt;Param name="fr" value="moz2"/&gt;
177&lt;/Url&gt;
178&lt;SearchForm&gt;http://search.yahoo.com/&lt;/SearchForm&gt;
179&lt;/SearchPlugin&gt;
180</pre>
181    <p>
182      Diciamo che l'utente sceglie di utilizzare Yahoo! come moto
>re di ricerca: inserisce "mozilla" nella barra di ricerca e preme 
> il tasto invio. Firefox utilizzerà la descrizione qui sopra per  
>costruire il seguente URL: 
183    </p>
184    <p>
185      <span class="plain">http://search.yahoo.com/search?p=mozill
>a&amp;ei=UTF-8&amp;fr=moz2</span> 
186    </p>
187    <p>
188      Se l'utente clicca sull'icona nella barra di ricerca, o sce
>glie l'opzione "Cerca sul web" nel menu Strumenti quando la barra 
> non è visibile, il browser lo porterà a <tt><span class="plain"> 
>http://search.yahoo.com/</span></tt>, il valore dell'elemento <co 
>de>&lt;SearchForm&gt;</code>. 
189    </p>
190    <h2 name="Esempio:_cercare_in_MDC">
191      Esempio: cercare in MDC
192    </h2>
193    <p>
194      Questo plugin permette di cercare facilmente dei termini ne
>l sito Mozilla Developer Center. 
195    </p>
196    <pre>
197&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/searc
>h/"&gt; 
198&lt;ShortName&gt;MDC&lt;/ShortName&gt;
199&lt;Description&gt;Cerca in Mozilla Developer Center&lt;/Descript
>ion&gt; 
200&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;
201&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,iVBO
>Rw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABGdBTUEAAK%2FINwWK6 
>QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYv 
>z%2F%2Fz8DJQAggJiQOe%2Ffv2fv7Oz8rays%2FN%2BVkfG%2FiYnJfyD%2F1%2Br 
>Vq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw%2F8zQLwKiO8CcRoQu0DxqlWrds 
>HUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi 
>%2FG%2BQKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo%2BMXA9R2kAHvGBA2ww 
>x6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia%2BCuotgACCueD3TDQN75D4x 
>mAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2 
>d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq%2FvLz8P4MSkJ2W9 
>h8ggBjevXvHDo4FQUQg%2FkdypqCg4H8lUIACnQ%2FSOBMYI8bAsAJFPcj1AAEEjw 
>VQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493u 
>g21ZD%2BaDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBg 
>AMJ5THwGvJLAAAAABJRU5ErkJggg%3D%3D&lt;/Image&gt; 
202&lt;Url type="text/html" method="GET" template="http://developer.
>mozilla.org/en/docs/Special:Search?search={searchTerms}"/&gt; 
203&lt;SearchForm&gt;http://developer.mozilla.org/en/docs/Special:Se
>arch&lt;/SearchForm&gt;  
204&lt;/SearchPlugin&gt;
205</pre>
206    <p>
207      Si noti in questo caso che invece di utilizzare <code>&lt;P
>aram&gt;</code> per definire i parametri del motore di ricerca, s 
>ono stati semplicemente incorporati dentro il modello di URL. Que 
>sto in effetti è il metodo preferibile quando si utilizza il meto 
>do <code>GET</code>. <code>&lt;Param&gt;</code> dovrebbe essere u 
>tilizzato per il metodo <code>POST</code>. 
208    </p>
209    <h2 name="Suggerimenti_per_la_risoluzione_dei_problemi">
210      Suggerimenti per la risoluzione dei problemi
211    </h2>
212    <p>
213      Se c'è un errore nell'XML del plugin di ricerca, si dovrebb
>ero incontrare degli errori mentre il plugin viene aggiunto in Fi 
>refox (Bon Echo) Alpha 3. Il messaggio d'errore però potrebbe non 
> essere molto d'aiuto, perciò i seguenti suggerimenti potrebbero  
>aiutare a risolvere il problema. 
214    </p>
215    <ul>
216      <li>Assicurarsi per l'XML sia ben formato. E' possibile ese
>guire questo controllo caricando il file direttamente in Firefox. 
> Le "e commerciali" nell'URL del template devono essere sostituit 
>e con &amp;amp; e i tag devono essere chiusi con un / finale o co 
>n un tag di chiusura. 
217      </li>
218      <li>L'attributo <code>xmlns</code> è importante: senza di e
>sso potrebbe apparire un messaggio di errore che dice: "Bon Echo  
>could not download the plugin from (URL)" (o la sua traduzione in 
> italiano). 
219      </li>
220    </ul>
221    <p>
222      Inoltre, servizio di plugin di ricerca fornisce un meccanis
>mo di log che potrebbe tornare utile agli sviluppatori di plugin. 
> Si utilizzi <i>about:config</i> per impostare la preferenza '<co 
>de>browser.search.log</code>' a <code>true</code>. Quando si aggi 
>unge un plugin di ricerca, appariranno le informazioni loggate ne 
>lla Console degli errori (Tools-&gt;Error Console). 
223    </p>
224    <h2 name="OpenSearch">
225      OpenSearch
226    </h2>
227    <p>
228      Firefox 2 supporta anche il formato <a class="external" hre
>f="http://opensearch.a9.com/">OpenSearch</a> di Amazon A9 per con 
>dividere i risultari delle ricerche. Se si scrive un plugin XML u 
>tilizzando le specifiche che si trovano in <a class="external" hr 
>ef="http://opensearch.a9.com/spec/1.1/description/">OpenSearch de 
>scription syntax</a>, può successivamente essere inserito nella d 
>irectory <tt>searchengines</tt>. 
229    </p>
230    <p>
231      Il formato OpenSearch Description è simile al formato Mozil
>la SearchPlugin. Le differenze principali sono l'elemento radice  
>e il namespace XML: 
232    </p>
233    <pre>
234&lt;xml version="1.0"  encoding="UTF-8"?&gt;
235&lt;OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/
>1.1/"&gt; 
236...
237&lt;/OpenSearchDescription&gt;
238</pre>
239    <h2 name="Materiale_di_riferimento">
240      Materiale di riferimento
241    </h2>
242    <ul>
243      <li>A9.com <a class="external" href="http://opensearch.a9.c
>om/">OpenSearch Documentation</a> 
244      </li>
245      <li>Su technorati.com: <a class="external" href="http://tec
>hnorati.com/osd.xml">working osd.xml</a> 
246      </li>
247      <li>Ulteriori informazioni sui problemi della ricerca autom
>atica su Bugzilla [<a class="external" href="https://bugzilla.moz 
>illa.org/show_bug.cgi?id=340208">]</a> 
248      </li>
249      <li>
250        <a class="external" href="http://en.wikipedia.org/wiki/Da
>ta:_URL">Data:</a> Schema degli URI 
251      </li>
252      <li>
253        <a class="external" href="http://www.edazzle.net/os/gener
>ate.aspx">OpenSearch Plugin Generator</a> - crea dei plugin OpenS 
>earch per Firefox2. - <a class="external" href="http://www.edazzl 
>e.net/os/pluginlist.aspx">Lista dei plugin generati</a> 
254      </li>
255    </ul>{{ wiki.languages( { "ca": "ca/Creaci\u00f3_de_connector
>s_MozSearch", "ja": "ja/Creating_MozSearch_plugins", "en": "en/Cr 
>eating_MozSearch_plugins" } ) }} 

Torna allo storico