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:
- 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.
- 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.
- 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.
- Haz clic en el
vínculo Añadir por URL, junto al botón
"Buscar contenido en la página principal".
- 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.