6

Plugins de búsqueda para Firefox

31Ene
en Desarrollo web, Firefox, Tutoriales, Web

OpenSearch es un formato de descripción parar crear plugins de búsqueda. Este formato basado en xml es compatible con Firefox e Internet Explorer. Para que tengan una idea de lo que hablo, estos plugins son los que permiten iniciar una búsqueda desde el navegador sin entrar a la página.

  box

El fichero de descripción debe tener extensión XML y debe seguir la siguiente plantilla.

<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/">
 <ShortName>Orion</ShortName>
 <Description>Buscador Cubano</Description>
 <InputEncoding>UTF-8</InputEncoding>
 <Image width="16" height="16"">
	Imagen en data URI
 </Image>
 <Url type="text/html" method="method" template="searchURL">
  <Param name="key" value="{searchTerms}"/>
   ...
  <Param name="key" value="utf-8"/>
 </Url>
<Url type="application/x-suggestions+json" template="suggestionURL"/>
<SearchForm>https://orion.mes.edu.cu/</SearchForm>
</OpenSearchDescription>

ShortName: Un nombre para que aparezca en la caja de búsqueda, debe tener menos de 16 caracteres y no debe contener etiquetas HTML.

Description: Una breve descripción del motor de búsqueda, debe tener menos de 1024 caracteres y no debe contener etiquetas HTML.

InputEncoding: El tipo de codificación de la entrada de datos.

Image: URI del icono que representa el motor de búsqueda.

Para obtener una imagen en el esquema data URI pueden utilizar esta sencilla herramienta, la cual utiliza la API FileReader(). Copiamos el data URI de la imagen y lo pegamos en el xml.

Firefox no utilizará íconos que sobrepasen los 10000 bytes.

Url: Describen las URLs a utilizar para las búsquedas. El atributo method define si el envio de datos es mediante POST o GET. El atributo template indica la URL base para las peticiones de búsqueda.

Se utilizan dos tipos de URL:

  • type=”text/html” es utilizada para especificar la URL de la consulta.
  • type=”application/x-suggestions+json” es utilizada para especificar la URL usada para recibir sugerencias de auto-completamiento.

En las URLs se puede utilizar la clave {searchTerms} para sustituirla por los términos entrados por el usuario en la barra de búsqueda. Sería algo así como una variable.

Param: Se utiliza dentro de la etiqueta Url para especificar los parámetros que se deseen enviar junto con la consulta de búsqueda, para los valores también se puede utilizar {searchTerms}.

Veamos cómo quedaría el plugin para el buscador cubano Orion.

<SearchPlugin xmlns="https://www.mozilla.org/2006/browser/search/">
<ShortName>Orion</ShortName>
<Description>Buscador Orion</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image width="16" height="16">
Data Uri de la imagen
</Image>
<Url type="application/x-suggestions+json" method="GET" template="https://orion.mes.edu.cu/autocompletar?term={searchTerms}"/>
<Url type="text/html" method="GET" template="https://orion.mes.edu.cu/resultados1/1">
 <Param name="consulta" value="{searchTerms}"/>
</Url>
<SearchForm>https://orion.mes.edu.cu/</SearchForm>
</SearchPlugin>

Para agregarlo al navegador tenemos varias vías, la primera es copiando el fichero xml dentro de la carpeta de instalación de mozilla en browser/searchplugins/.

La otra forma es con autodescubrimiento, agregándole a la web esta línea:

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

Donde searchtitle es el nombre de la plataforma de búsqueda y pluginURL es la dirección donde se encuentra el fichero xml con la descripción del plugin.

Cuando se entre al sitio, aparecería la opción en la caja de búsqueda de esta manera.

 exEspero les sirva de ayuda, y si creas uno no dudes en compartirlo para la comunidad.

6 Comentarios

  1. Erick dice:

    @abs, quisiera agregar que estos dos métodos que planteas, son bastante poco intuitivos. El primero de copiar el xml en la carpeta, es bastante complicado para los usuarios comunes y el segundo, ha de ser poco sugerente, es decir, el usuario tendría que saber que eso existe, eso de que un sitio web es capaz de sugerir un motor de búsqueda, de lo contrario, como sabes que te lo está sugiriendo.
    Por eso, una solución puede ser, desde la propia interfaz del sitio web, sugerir agregar a los motores de búsqueda del navegador, con un botón, que ejecute es sencillo código JS que hace el trabajo por tí

    var engineURL = "https://firefoxmania.uci.cu/common/buscadores/orion.xml";
    window.external.AddSearchProvider(engineURL)

    Esta es la forma general para los navegadores, no recuerdo de cual versión en adelante. Porque hay otras formas para navegadores viejos. Saludos.

    • Orlando López Morales dice:

      Estoy trabado en esto tanto en Orión como en Firefox no tengo donde sacar los plujins como me puden ayudar, además de lo que está escrito.

    • Luis Reinier dice:

      Estoy intentando hacerlo pero en realidad no funciona. Solo desde los 2 métodos pocos intuitivos es como lo he logrado y me urge saber como hacerlo de la forma en que lo dices.

      • Erick dice:

        Ahí lo dejé en el comentario.
        En el JavaScript pones esto:

        var engineURL = “https://firefoxmania.uci.cu/common/buscadores/orion.xml”;

        y después desde el click en un botón o en el load, donde quieras, mandas a ejecutar esto.

        window.external.AddSearchProvider(engineURL)

        Si te fijas la variable engineURL tiene la dirección al XML de tu plugin de búsqueda.

  2. Aniel dice:

    hola pues yo he sido un poco mas habilidoso tan solo fui a la carpeta que contiene los buscares y agrege el archivo este orion.xml que lo hice desde un txt, en el txt copie el plugin para el buscador cubano Orion y lo guarde con la extencion (.xml). La carpeta donde se debe poner es C:\Program Files\Mozilla Firefox\browser\searchplugins para Firefox.

  3. Y por fin ¿que fue de Orion? Desde que salí de la UCI no lo oigo sonar.
    Elisa

Dejar un comentario