Lo primero que debemos saber es que Google Apps permite embeber (en Google Sites) pequeñas aplicaciones (desarrolladas en HTML y en JavaScript) que despliegan información de diferente tipo  o permiten realizar tareas simples como una lista To-do.   En términos de Google y de su tecnología, estas  aplicaciones son los llamados Gadgets.


La mayoría de los Gadgets disponibles están alojados en servidores públicos de internet y el código que los construye puede ser leido por cualquier persona.   Pero en un ambiente empresarial en el que se despliegen datos importantes de la organización dicha exposición se convierte en un tema de alta sensibilidad.  Google teniendo en cuenta esta necesidad desarrolló un mecanismo a través del cual las empresas pueden desarrollar gadgets que desplieguen información interna y SOLO ser visualizada por los usuarios del dominio de la compañia (es decir que dichos gadgets no pueden ser consultados por los usuarios de Internet fuera del dominio).   Estos son los llamados Gadgets Privados.  


Una vez el Gadget ha sido desarrollado (tema de otro blog), el administrador del dominio en Google Apps debe cumplir ciertas acciones y tareas para hacer disponible el Gadget Privado, dentro del Directorio de Gadgets de la compañia para que puedan ser embebidos en los sites.

A continuación presento los conceptos y las tareas requeridas para hacer disponibles dichos Gadgets privados.


En Sites, hay dos espacios disponibles en los cuales se pueden trabajar los gadgets privados.  El primero se llama el feed PrivateGadgetSpec del dominio.   Este feed es como un sandbox donde se salva el código del gadget y es donde se pueden hacer pruebas mientras se desarrolla o ajusta dicho Gadget.   El segundo espacio es el feed PrivateGadget que es usado para controlar y administrar cuales de los Gadgets desarrollados aparecen disponibles en el Directorio de Gadgets del dominio.   Esto quiere decir que una vez el Gadget ha cumplido con las pruebas del caso en el feed PrivateGadgetSpec y esta listo para ser usado, dicho Gadget es publicado al directorio de Gadgets privados (la tarea de publicación se encarga de copiar el gadget del feed PrivateGadgetSpec al feed PrivateGadget).


Google ha desarrollado la herramienta Feed Server Client Tool (FSCT)  que permite administrar los Gadgets privados en un dominio.   Esta herramienta incluye una serie de scripts para Lunix y Windows que facilitan la realización de las tareas de upload, revisión y publicación de los Gadgets Privados.   La documentación del FSCT y todos los comandos disponibles pueden ser  consultarlos en FSCT wiki.

Para el ejemplo de carga y publicación utilizaré el conocido Hello World como Gadget Privado de ejemplo (archivo hello.xml):


<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="hello world example" />
<Content type="html"><![CDATA[
Hello, world!
]]>
</Content>
</Module>


Adicionalmente, todos los pasos presentados acá se realizaron usando el conjunto de scripts para Linux (también hay scripts para Windows en la distribución descargada).

Para crear el gadget en el feed PrivateGadgetSpec (es decir en el sandbox), use el script insertGadgetSpec.sh de la siguiente forma:

$ ./insertGadgetSpec.sh PrivateGadgetSpec hello-gadget hello.xml


Donde hello-gadget es el nombre de identificación del gadget y hello.xml es el archivo xml que contiene la espeficificación del mismo.

Una vez se tiene el gadget en el feed PrivateGadgetSpec, a través de los scripts se pueden realizar labores de consulta, actualización, borrado y publicación de los gadgets.   Adicionalmente a scripts, Google ha desarrollado un gadget llamado Directory Manager (disponible solo para firefox) que permite de forma visual realizar acciones de administración.


La recomendación acá es crear un sitio y embeber el Directory Manager en una página.  La url del Gadget es: http://google-feedserver.googlecode.com/svn/trunk/resources/gadgets/domain-gadget-directory-manager/spec.xml


Ya teniendo el Gadget en el Feed PrivateGadgetSpec el siguiente paso es publicarlo para que este disponible en el directorio de Gadgets de la empresa.   Esta acción se realiza con el siguiente script:

$ ./publishGadget.sh PrivateGadget PrivateGadgetSpec/hello-gadget


Aquí se puede consultar la disponibilidad del gadget a través del Directory Gadget Manager:



Un usuario final puede adicionar el gadget en un site, editando la pagina y haciendo insert -> gadgets -> more gadgets, donde aparece el siguiente dialogo:




Donde además del directorio público de Gadgets que normalmente aparece, también se tiene el directorio privado del dominio donde esta incluido nuestro ejemplo.   Desde acá el usuario lo selecciona y lo puede incorparar en su pagina:




Para los administradores que quieran limitar los gadgets públicos que los usuarios puedan adicionar a sus paginas, el Directory Gadget Manager les permite hacerlo a través de la pestaña llamada Public Directory.  Con esta pestaña el administrador selecciona que gadgets deja en la lista blanca (disponibles para el usuarios) y cuales en la lista negra (no disponibles).  Esta funcionalidad es muy util en ambientes en los que no se quiere que los usuarios adicionen Gadgets no apropiados a su labor.





Por Ultimo quisiera decir que el poder de los Gadgets Privados radica en que de una forma muy rápida y sencilla el administrador puede exponer información al interior de su dominio en Google Apps.

Jorge Forero
Preventa Eforcers.

Suscribirse a: Entradas (Atom)