Crear un buscador para Firefox

Hola gente,

Me gustaría crear un motor de búsqueda para Firefox, que me permitiera mandar rápidamente un bug a Launchpad para el paquete que yo quiera. En concreto, que me dirija a https://bugs.launchpad.net/ubuntu/+source/XXX/+filebug donde XXX es el nombre del paquete que yo introduzca en la búsqueda.

¿Podéis explicarme por encima cómo tendría que hacerlo? En Epiphany sustituía el término por %s y listos, pero en Firefox... no tengo ni idea.
¿Qué es más recomendable? ¿Crear un plugin OpenSearch o MozSearch?
La verdad es que no tengo ni idea del asunto, sólo he buscado ahí y te he puesto los enlaces.

Por el aviso que pone en MozSearch, supongo que es mejor OpenSearch.
Gracias de todos modos :)

En el primer enlace da un modelo a rellenar con los diferentes campos:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>engineName</ShortName>
<Description>engineDescription</Description>
<InputEncoding>inputEncoding</InputEncoding>
<Image width="16" height="16">data:image/x-icon;base64,imageData</Image>
<Url type="text/html" method="method" template="searchURL">
<Param name="paramName1" value="paramValue1"/>
...
<Param name="paramNameN" value="paramValueN"/>
</Url>
<Url type="application/x-suggestions+json" template="suggestionURL"/>
<moz:SearchForm>searchFormURL</moz:SearchForm>
</OpenSearchDescription>


Los campos que hay que rellenar:

ShortName → ubuntunewbug

Description → Create a new bug for a given package

InputEncoding → Aquí no tengo ni idea, a ver si me echáis un cable.

Image → data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%07tIME%07%D6%0C%09%15%24%0CR%F8%3B%0F%00%00%02%EDIDAT8%8D%8D%93%5Dh%9Be%18%86%AF%F7%FB%ED%D2%24%B5%B1%E9%FAg7!%EB%04'%9AN%C3%0ED%A9%E0%DC%81sc%DD%0Et's%ED%BA1%3C%89%E0yOd%EA%04'%0CGC%8FDz%A2%14%11Z%07%FE%8C1%3Am%B7%A4(%5B%D6%8D%B4%CD%17%91%C6%95%E6%C7fm%93%EF%CB%FBz0%26%DA%A1%EC9~%AE%0B%1E%EE%E7%16%3C%E2%0C%0F%0F%1B%95Jy%BF%BD%C5%3E*%A5%7C%C5%F3%BC%80%26DN%3C%0A%1C%7F%2F%BE%AF%C1%B6FB%CD%A1%E6%DD%D1%DE%C0%8E%9E%1E%D6%D7%D7%18I%8C(%E3%FF%C0%A1%A1!%B3%A5%B5y%D42%AD%C3%AF%ED%DD%E7K%FEn%F0%D1%E4o%BC%BA%94e%CFv%89%AE%1B%85%FF%14%C4%E3%F1PC%A35%D9%D9%D9%F5L%FF%A1~%9FeZ%0C%7Fu%89%9D%3B%BA%F8%F6%9A%C3%E3%DE%AA%D2%04%93%06%C0%C9w%06%07%A8%8BQ%BB%C1%5E%40%92v%A5%9B%D2%0D%8EE%22%91%B6%83%FB%0FZB%DC%BFtoo%2B%17%AF%E7%D8%13%B1%C9%3A7W%EB%5E%FD%0Bq%FA%F4%C97M%CB%1C%3D%D0%7F%C0%87T%14%0A%05VV%0A*%95%9C%15%00g%DE%3F%03%40%B9%5C%A2X%5C%A1T*%90%CF%FF%C1%2F%BF%DE%B8%F5%E1%07%1F%3Fm%D4%95%1C%7B%3E%FA%9C%0A%B7%B4%00%10n%0D%93%C9%CC%0B%BF%DF%CF%E0%C0%E0C%B0%EB%BA%DCH%CFUd%DD%3B%01(M%0A%A2%C9d%B2%E2d%1D%00%9C%AC%C3%8F%DF_Ro%1F%3B%CE%D6%D6%AD%FF%82%A5%94%24S%B3kR%BAcg%CF%9E%9B%02%D0S%D7R%F9%DD%D1g%7FX%CC%3Ao%D5j%AE5%FD%D3%D5z%5B%7B%7B%B5%EF%E5%3E%F3%01%9C%CB9%7C%FD%CD%04%D5%EAF%ADX%2C%A7%162%B9%C3%E9tZ%01%E8%00%D3%13%DD%AFG%B6m%1C%1A%9F(q%A4%FB%B6%E6%94%FDfUiX%A6%C1%E2%E2%02%97%AFL%E1y%1E%1B%D5%AAch%D6K%89Db%FDAZ%BAZ~%A3C%22%3Eo%B8w%AF)f%E7%C0)%10%C8.2%5BQ%DC%CC%2C%AC%DF%9A%BBc%F4%F6FEc%A3O%DD%BD%BB%7C%FE%DC'%9F%5E%FCg%DCZ%5Dh1%14OHO!4%81%194%E9%D8%A6x1%94%A6%5C*Z%B1%D8%0B%A2%B3%AB%83%60SP%18%A6%1E%DD%FC%2F%06%AEt%D1%C4%AA%E97%02v%8B%0D%80%92%8A%CF%AEF%D8%F9TDoko%03%20%18%08%82b%D7f%81%A6c%CF%80%F8%CE%0EY4v%FB%08%F4%04xlW%13%EF%1E%2F2%9F%99_%CB%2F%E5%EFo%0A%A8%D5%DC'%1F%12%88%F6%2F%97%15%EA%02%88q%3Bd%FD%E9%EF%F6%E1%EB%D8%92%EB%D9%EE%9E%A8%BBn%DF%CF%D33%AB%B7%E7%EE%A8%2B%97%A7%D6%84%60h%B3%E0%EF6%AA%A5%23%E1%3A%D5%18%A6n%E8J%CC%88%F0%F8%12%C0%A9S%03Q%25%B4%94%A6%8B%A3%17%CE'%C66%0B%FE%02f%0BIU%C368%A5%00%00%00%00IEND%AEB%60%82 (es lo que me ha salido al subir la imagen a la página a la que enlaza el tutorial)

Url → https://bugs.launchpad.net/ubuntu/+source/{searchTerms}/+filebug no estoy muy seguro de si esto es correcto o no.

Param → ni idea de qué es esto ni de qué tengo que poner.

SearchForm → ni idea de qué es esto ni de qué tengo que poner.

¿Alguien que pueda echarme un cable con las partes que me faltan?
¿Estás seguro de que lo que quieres es crear un plugin de búsqueda? Es decir, ¿quieres crear un archivo que la gente pueda instalar para usar un motor de búsqueda desde la caja de búsqueda de Firefox?

¿O quieres una forma de buscar un bug fácilmente, sólo para tí?


Si lo que quieres es lo primero:
http://mundogeek.net/archivos/2005/01/0 ... sitio-web/

Si lo que quieres es lo segundo, basta con que uses las palabras clave de Firefox
http://www.pablogeo.com/busquedas-con-p ... en-firefox
zootropo escribió:¿Estás seguro de que lo que quieres es crear un plugin de búsqueda? Es decir, ¿quieres crear un archivo que la gente pueda instalar para usar un motor de búsqueda desde la caja de búsqueda de Firefox?

¿O quieres una forma de buscar un bug fácilmente, sólo para tí?


Me gustaría crear lo primero, ya que lo hago que la gente pueda usarlo.

zootropo escribió:Si lo que quieres es lo primero:
http://mundogeek.net/archivos/2005/01/0 ... sitio-web/


Este tipo de situaciones hacen que me sienta muy cortico, pero es que la página ni siquiera consta de un campo de búsqueda que me dirija a donde yo quiero.

A ver si me explico:

-Para mandar un bug de nautilus visito esta URL: https://bugs.launchpad.net/ubuntu/+sour ... s/+filebug
-Para mandar un bug de gedit visito esta URL: https://bugs.launchpad.net/ubuntu/+sour ... t/+filebug

Conque simplemente metiendo una variable entre '+source' y '+filebug' me lleva a la página que yo quiero. Sin embargo, Launchpad no tiene un campo de búsqueda que introduciendo 'nautilus' me lleve a https://bugs.launchpad.net/ubuntu/+sour ... s/+filebug. Conque la búsqueda de la página no me vale.

Lo que quiero es que el plugin de algún modo me permita meter una variable en https://bugs.launchpad.net/ubuntu/+source/%s/+filebug, para ir directamente a la página que me interesa. Y bueno, a poder ser que la gente luego pueda instalarlo.

La verdad, no sé si me he explicado.
Yo creo que ya casi lo tienes ;)

Bou escribió:En el primer enlace da un modelo a rellenar con los diferentes campos:
Los campos que hay que rellenar:

InputEncoding → Aquí no tengo ni idea, a ver si me echáis un cable.

InputEncoding -> codificación de caracteres.

En Ubuntu, por ejemplo, se utiliza UTF-8 por defecto.

Para no aburrirte, echa un ojo aquí: Unicode.

Bou escribió:Url → https://bugs.launchpad.net/ubuntu/+source/{searchTerms}/+filebug no estoy muy seguro de si esto es correcto o no.

Sí, es correcto.

Te falta:
Method -> Puede ser GET o POST.

Bou escribió:Param → ni idea de qué es esto ni de qué tengo que poner.

Parámetros adicionales para la búsqueda. No los necesitas.

Si te fijas en la url de ElOtroLado, verás que está compuesta por la dirección más una serie de parámetros separados por el carácter &

En mi caso (estoy escribiendo un mensaje XD):
http://www.elotrolado.net/posting.php?mode=quote&f=84&p=1711988658

Los parámtros de la url son:

    mode=quote
    f=84
    p=1711988658

mode indica el tipo de respuesta, en este caso una cita.
f indica el foro, el número 84, Software Libre.
p me imagino que será el número de post.

Todo eso es lo que necesita posting.php para determinar lo que va a ver el usuario a la hora de escribir un nuevo mensaje. Me imagino que esos parámetros serán pasados a otro script cuando el usuario le de al botón enviar, para que sepa a qué foro e hilo hace referencia el post que se va a insertar en la base datos.

Bou escribió:SearchForm → ni idea de qué es esto ni de qué tengo que poner.

Es la url de la página web para la que has diseñado el plugin de búsqueda.

En tu caso, si sólo pretendes reportar bugs y no buscarlos, podría ser:

https://bugs.launchpad.net/ubuntu/+filebug

O puedes mandarlos a la página principal de Ubuntu en Launchpad:

https://bugs.launchpad.net/ubuntu/

O a la página principal de Launchpad (la de todos los proyectos)

https://bugs.launchpad.net/

Si un usuario no introduce términos de búsqueda (deja la casilla en blanco) y le da a buscar, lo va a mandar a la url que especifiques en SearchForm.

Por cierto ...
<Url type="application/x-suggestions+json" template="suggestionURL"/>

Ese tipo de etiqueta URL (application/x-suggestions+json) se utiliza para desplegar un menú de sugerencias que ayude al usuario a completar el campo de búsqueda:

Imagen

En tu caso estaría muy bien que mostrara una lista de los paquetes disponibles, pero me da que no va a ser posible, porque http://packages.ubuntu.com/ no ofrece ese servicio y sería de ahí de donde podrías sacar el nombre de los paquetes.

Mira, para que quede más claro: un usuario quiere buscar "nautilus" con tu extensión para reportar un bug en launchpad. Pues bien, al teclear "nau", se desplegaría un menú sugiriendo posibles coincidencias, que serían: nautilus, nautilus-actions, nautilus-cd-burner, nautilus-data, nautilus-image-converter ...

Pero ya te digo que hace falta que http://packages.ubuntu.com/ lo implemente, y no lo hace.
Esta es la url de sugerencias que ofrece Google:

Haz click aquí:
http://suggestqueries.google.com/comple ... efox&q=nau

Eso es un array de términos que Firefox utilizaría para mostrar el desplegable.

Resumiendo, ésto es lo que pides:

<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
<ShortName>Report a Problem | Ubuntu</ShortName>
<Description>Create a new bug for a given package</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">data:image/png,%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR%00%00%00%10%00%00%00%10%08%06%00%00%00%1F%F3%FFa%00%00%00%06bKGD%00%FF%00%FF%00%FF%A0%BD%A7%93%00%00%00%07tIME%07%D6%0C%09%15%24%0CR%F8%3B%0F%00%00%02%EDIDAT8%8D%8D%93%5Dh%9Be%18%86%AF%F7%FB%ED%D2%24%B5%B1%E9%FAg7!%EB%04'%9AN%C3%0ED%A9%E0%DC%81sc%DD%0Et's%ED%BA1%3C%89%E0yOd%EA%04'%0CGC%8FDz%A2%14%11Z%07%FE%8C1%3Am%B7%A4(%5B%D6%8D%B4%CD%17%91%C6%95%E6%C7fm%93%EF%CB%FBz0%26%DA%A1%EC9~%AE%0B%1E%EE%E7%16%3C%E2%0C%0F%0F%1B%95Jy%BF%BD%C5%3E*%A5%7C%C5%F3%BC%80%26DN%3C%0A%1C%7F%2F%BE%AF%C1%B6FB%CD%A1%E6%DD%D1%DE%C0%8E%9E%1E%D6%D7%D7%18I%8C(%E3%FF%C0%A1%A1!%B3%A5%B5y%D42%AD%C3%AF%ED%DD%E7K%FEn%F0%D1%E4o%BC%BA%94e%CFv%89%AE%1B%85%FF%14%C4%E3%F1PC%A35%D9%D9%D9%F5L%FF%A1~%9FeZ%0C%7Fu%89%9D%3B%BA%F8%F6%9A%C3%E3%DE%AA%D2%04%93%06%C0%C9w%06%07%A8%8BQ%BB%C1%5E%40%92v%A5%9B%D2%0D%8EE%22%91%B6%83%FB%0FZB%DC%BFtoo%2B%17%AF%E7%D8%13%B1%C9%3A7W%EB%5E%FD%0Bq%FA%F4%C97M%CB%1C%3D%D0%7F%C0%87T%14%0A%05VV%0A*%95%9C%15%00g%DE%3F%03%40%B9%5C%A2X%5C%A1T*%90%CF%FF%C1%2F%BF%DE%B8%F5%E1%07%1F%3Fm%D4%95%1C%7B%3E%FA%9C%0A%B7%B4%00%10n%0D%93%C9%CC%0B%BF%DF%CF%E0%C0%E0C%B0%EB%BA%DCH%CFUd%DD%3B%01(M%0A%A2%C9d%B2%E2d%1D%00%9C%AC%C3%8F%DF_Ro%1F%3B%CE%D6%D6%AD%FF%82%A5%94%24S%B3kR%BAcg%CF%9E%9B%02%D0S%D7R%F9%DD%D1g%7FX%CC%3Ao%D5j%AE5%FD%D3%D5z%5B%7B%7B%B5%EF%E5%3E%F3%01%9C%CB9%7C%FD%CD%04%D5%EAF%ADX%2C%A7%162%B9%C3%E9tZ%01%E8%00%D3%13%DD%AFG%B6m%1C%1A%9F(q%A4%FB%B6%E6%94%FDfUiX%A6%C1%E2%E2%02%97%AFL%E1y%1E%1B%D5%AAch%D6K%89Db%FDAZ%BAZ~%A3C%22%3Eo%B8w%AF)f%E7%C0)%10%C8.2%5BQ%DC%CC%2C%AC%DF%9A%BBc%F4%F6FEc%A3O%DD%BD%BB%7C%FE%DC'%9F%5E%FCg%DCZ%5Dh1%14OHO!4%81%194%E9%D8%A6x1%94%A6%5C*Z%B1%D8%0B%A2%B3%AB%83%60SP%18%A6%1E%DD%FC%2F%06%AEt%D1%C4%AA%E97%02v%8B%0D%80%92%8A%CF%AEF%D8%F9TDoko%03%20%18%08%82b%D7f%81%A6c%CF%80%F8%CE%0EY4v%FB%08%F4%04xlW%13%EF%1E%2F2%9F%99_%CB%2F%E5%EFo%0A%A8%D5%DC'%1F%12%88%F6%2F%97%15%EA%02%88q%3Bd%FD%E9%EF%F6%E1%EB%D8%92%EB%D9%EE%9E%A8%BBn%DF%CF%D33%AB%B7%E7%EE%A8%2B%97%A7%D6%84%60h%B3%E0%EF6%AA%A5%23%E1%3A%D5%18%A6n%E8J%CC%88%F0%F8%12%C0%A9S%03Q%25%B4%94%A6%8B%A3%17%CE'%C66%0B%FE%02f%0BIU%C368%A5%00%00%00%00IEND%AEB%60%82</Image>
<Url type="text/html" method="GET" template="https://bugs.launchpad.net/ubuntu/+source/{searchTerms}/+filebug">
</Url>
<SearchForm>https://bugs.launchpad.net/ubuntu/+filebug</SearchForm>
</SearchPlugin>

En SearchForm he dejado la página para reportar bugs sobre cualquier paquete de Ubuntu, porque es lo que más sentido tiene (es un plugin para repotar bugs), pero a mí me gusta más que los mande a la página principal XD, que además de reportar se puede buscar si lo que vas a reportar está ya reportado (vaya lío [qmparto]).

Ala, saludos ;)

Adjuntos

launchpad.tar.gz (1.63 KB)

Plugin para reportar bugs de Ubuntu en Launchpad (SearchForm=https://bugs.launchpad.net/ubuntu/)
Te lo has currado muchísimo, Willow. Te lo agradezco porque iba muy perdido, y gracias a que te has tomado tu tiempo para explicarlo "pa tontos" seguramente la próxima pueda hacerlo por mi cuenta.

Conque te debo una [beer] tío.

P.D. Tengo que preguntar otra cosa más: ¿Cómo puedo subirlo para que puedan usarlo otras personas? en http://mycroft.mozdev.org/ me dicen que tengo que subir archivos .src, y si lo intento subir como addon a https://addons.mozilla.org también me dice que no aceptan extensiones en .xml.
El src es un xml renombrado
Mmmm ... pues no entiendo porqué no admite este tipo de plugins.
En Firefox Addons sólo admiten temas, extensiones y diccionarios, pero no plugins de búsqueda :?

Y en MyCraft no admiten plugins OpenSearch ni MozPlugin.

Lo mejor es que les mandes un email.


NOTAS:

1. El plugin launchpad.xml está en formato MozPlugin. Si quieres adaptarlo a OpenSearch, sólo tienes que cambiar un par de etiquetas.

2. Ten en cuenta que el fin de los plugins de búsqueda es mostrar RESULTADOS, no llevarte a urls donde poder hacer otras cosas, como reportar bugs ;) Te digo ésto porque, si consigues subirlo, es posible que te lo echen para atrás, que te pongan pegas o que directamente no lo admitan. Si el searchplugin buscara bugs ya publicados, no tendrías ningún problema.


Saludos.
Resulta que en http://mycroft.mozdev.org/submitos.html el plugin se genera y sube sólo con rellenar los campos necesarios. Qué fácil era al final.
Pues vaya [+risas]

¿Podrías dar el enlace cuando lo hayas terminado? ;)
aquí

Lo que no entiendo muy bien es por qué en vez de ponerse el icono que le he indicado (el logo de Ubuntu) se pone el de mycroft, un godzilla bastante feo.
Gracias ;)

Toma, arreglado.

He sustituido el icono de MyCraft por el de Launchpad y eliminado la línea que hace referencia a la actualización del icono, para que no vuelva a cambiar.

Un saludo.


EDIT: He vuelto a adjuntar el archivo (había un problema con el anterior)

Adjuntos

14 respuestas