LoginRSS 2.0 Feed

Widgets, widgets ¡más widgets!

Enviado el lunes, 09 de junio de 2008 17:09

Recordando la frase de "Johnny 5" en la vieja película "Cortocirtuito 2" 'Datos, Datos, ¡Más Datos!' he creado el título de esta entrada. Los widgets son pequeños trozos de código que proporcionan funcionalidades sencillas, pero necesarias (calculadoras, información meteorológica, vuelos disponibles, etc...), integradas en algún tipo de entorno (escritorios, teléfonos móviles, navegadores, etc...). Por ejemplo ya hay un intento de estandarización de los widgets por parte de la W3C, Google tiene su propio sistema de gadgets para su iGoogle, Yahoo! provee su propio sistema de widgets (con programas para poder lanzarlos en diversas plataformas), el navegador Opera lleva bastante tiempo con esa tecnología, sistemas como Mac OS X (dashboard), Windows Vista (gadgets) o KDE4 (Plasma) los integran en el escritorio, y sistemas como Konfabulator o Superkaramba los popularizaron.

Uno de los primeros mensajes que subí a este blog fue el de ProteinGlimpse un widget hecho por un antiguo alumno, y ahora compañero de trabajo y amigo, Jaime Fernández. Pues bien, este widget como tal ha llegado a la versión 1.5, y pronto será usable en Linux gracias a las mejoras de KDE 4.1. Tanto él como yo y vari@s de mis compañer@s estamos involucrados en el desarrollo del sistema CARGO (enlace a la publicación), que intenta desarrollar el concepto de widget en el ámbito bioinformático.
Uno de ellos, José Manuel Rodríguez, estuvo investigando cómo poder integrar los widgets de CARGO en iGoogle, y tras perseguirlo un poco he conseguido que escriba la siguiente documentación de cómo hacer un iGoogle gadget:

Se ha creado para Cargo un iGoogle Gadget para poder así tener la funcionalidad de esta aplicación web en varios sitios. La vista inicial de Cargo como un iGoogle Gadget es la siguiente:

La API de Google Gadgets es un método simple para crear pequeñas aplicaciones que se ejecuten en varios sitios web, incluido la Página de iGoogle, Google Desktop, Google Page Creator y miles de sitios de Internet que utilizan Google Gadgets para tu página web. Google Gadgets llega a decenas de millones de usuarios cada semana; mejor aún, Google proporciona alojamiento gratuito, ancho de banda gratuito y un método fácil para enviar tus gadgets al directorio oficial, desde donde podrán acceder a ellos usuarios de todo el mundo.

Los gadgets son fáciles de crear. La Guía para programadores te explica cómo utilizar la API de Google Gadgets y cómo crear un gadget. En un nivel básico, un gadget es sólo un archivo XML que recoge contenidos o aplicaciones web ya existentes. Por ejmplo:

<?xml version="1.0" encoding="UTF-8" ?>

<Module>

<ModulePrefs title="hello world example" />

<Content type="html">

<![CDATA[

Hello, world!

]]>

</Content>

</Module>

Hello, world!

Una de las primeras decisiones que se deben tomar a la hora de crear un gadget es el tipo de contenido (vea los Principios de programación).

Tipo de contenido

Descripción

html

Con un tipo de contenido html, todo el contenido reside en la especificación del gadget. Un gadget que incluya type="html" contiene código HTML, posiblemente con JavaScript, Flash, ActiveX u otros objetos del navegador incrustados. Este es el tipo de contenido predeterminado.

html-inline

El código HTML del gadget se ejecuta como parte de la página principal en lugar de hacerlo en un iframe. De esta manera, el gadget podrá modificar la página principal, por ejemplo, para cambiar el color de la fuente.

url

Aquí el contenido del gadget se aloja en una página web remota a la que hace referencia una URL en la especificación del gadget. La página web remota es el lugar donde reside todo el lenguaje de marcas HTML y JavaScript. NO se puede insertar ningún código de lenguaje de marcas HTML ni JavaScript en la especificación del gadget propiamente dicha.

El iGoogle Gadget de Cargo se trata de un tipo “url”, con lo que la administración y mantenimiento del Gadget depende totalmente del servidor remoto.

La descripción del iGoogle Gadget de Cargo se muestra a continuación.

<Module>

<ModulePrefs title="Cargo" title_url="http://cargo2.bioinfo.cnio.es" directory_title="Cancer and Related Gene Online" description="CARGO displays biological information from different sources. We are thankful to the developers and Institutions for providing freely available services." thumbnail="http://cargo2.bioinfo.cnio.es/iGoogleGadget/cargo.png" width="365" height="400" author="Jose Manuel Rodriguez Carrasco" author_email="jmrodriguez@cnio.es" author_location="Madrid, Spain"/>

<Content type="url" ref="http://cargo2.bioinfo.cnio.es/iGoogleGadget/cargo.html"/>

</Module>

Aquí se detalla diferentes campos de información cómo el nombre del Gadget, una decripción, el tipo de contenido, etc. Cómo se ha dicho, el tipo de contenido de Cargo se trata de una URL.

A continuación se describen los pasos básicos que debes seguir para crear e instalar un gadget:

  1. Usa un editor de textos para escribir la especificación del gadget y guárdala en un servidor público. Si no tienes acceso a un servidor público, puedes usar una de las alternativas disponibles.
  2. Ve a http://www.google.com/ig. Si aún no dispones de una página de iGoogle, debes crear una como se describe en API de Google Gadgets: introducción.
  3. Haz clic en Añadir elementos. Esto te llevará al directorio de contenido. Puedes usar dicho directorio para buscar gadgets y añadirlos a tu página principal.
  4. Haz clic en el vínculo Añadir por URL, junto al botón "Buscar contenido en la página principal".
  5. En el cuadro de texto Añadir por URL, escribe la URL de la especificación de gadget XML que deseas añadir y haz clic en Añadir. Para averiguar cuál es la URL, es posible que necesites ayuda del webmaster. También puedes usar el gadget del programador para añadir gadgets a tu página de iGoogle.
Espero que os sirva esta introducción.

Compartir:

añadir a furl añadir a del.icio.us añadir a technorati añadir a blinklist añadir a digg añadir a google añadir a stumbleupon añadir a yahoo añadir a meneame ¿Qué es?

Comentarios

# re: Widgets, widgets ¡más widgets!

26/06/2008 10:06 por gio
Esta muy bien, he utilizado alguna widget alguna vez.
Pero este tutorial no esta en ingles? no lo he podido encontrar en la pagina de cargo.

# re: Widgets, widgets ¡más widgets!

26/06/2008 11:35 por José Manuel Rodríguez
Hola Gio,

No te entiendo bién que quieres decir. ¿Preguntas si el tutorial de creación de un iGoogle Gadget está en inglés?
Si es así, aqui adjunto este link:
http://code.google.com/apis/gadgets/

Sino es así. Por favor, dame más detalles y te contestaré gustoso.

Saludos,
José Manuel.

# re: Widgets, widgets ¡más widgets!

01/07/2008 10:28 por gio
Hola!
No, entendia decir que podriais traducir este mismo tutorial sobre como integrar los widgets de CARGO en iGoogle, y añadirlo en la pagina de ayuda de cargo.

No es muy importante, pero me parece que la guia esta escrita bien, y podria ser util a alguien mas que utiliza cargo.
Enviar Comentario
Titulo
 
Nombre
 
Correo electrónico
Comentario  
Por favor, escriba el código que ve a su izquierda (en mayúsculas):