Una de ellas es Google Docs, especialmente las llamadas planillas de cálculo (spreadsheets) ... y antes que quienes odien estas cosas o se hayan indigestado con la palabra cáculo huyan despavoridos, déjenme aclarar que quiero mostrar como usar una de esas planillas para crear una galería de imágenes aleatorias.
Entramos a Google Docs con nuestra cuenta de GMail y allí hacemos click en el menú New | Spreadsheet lo que nos abrirá una ventana con una hoja nueva que no es otra cosas que una grilla formada por columnas y filas; una hoja cuadriculada donde cada sector es una celda en la que podemos escribir algo. Lo primero que haremos es ponerle un nombre.
![]() | ![]() |
Sin demasiados problemas, hemos creado una base de datos, hiper-simple pero base de datos al fin.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlKfHs0qsaeTnDcr19CBbNilc0EievWopwQCPKKe2-tLLPusoAN9W0SdHEKWMN1ZLPK6-IE0769aUVi3Fvwxf_onFs5yxJOHpu7_Im66S1tBAqMfYMG9a9h4VIlmV3mc6uHz3Fr8nB5opK/s0/gdocs_3.png)
Click en el botón SHARE que está arriba a la derecha y seleccionamos Publish as web page.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhc2G_QlaLCiJBmCTo22Ef0bPKqApG0Iy0tR4FV4YGv2DwiV9cur5jd8RPx3K5oliWHNbwZSi-WSSTcS_YoATlg2EjCXrIXJPAhjnOeRkjCGuFzlYiOUpXsexfK3c9lQWVrjsoNuvYvozS6/s0/gdocs_4.png)
http://spreadsheets.google.com/feeds/list/RPd2ssiQhWQVretbgDHGOD/od6/public/basic?alt=rss
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYBC-8F1VSuKp1YBWMJB0h3M4NWsa7LMBMTVPOyuzQM1ompmRqhnjxb-QywBHkzjYjjp3OnOAj4_D-OOqvUjUVjZ6pruX0mXhHaOvO87IAgiq41KacfPjPTh_Q3KPp34MtrYyNl6IfCGYP/s0/gdocs_5.png)
![]() | ![]() |
¿Cuál es su característica principal? Que, al publicarlas, obtenemos un feed y ese feed es accesible, podemos leerlo con JavaScript porque Google nos dice cómo hacerlo.
Vamos entonces a agregar un pequeño script en la plantilla del blog que leerá ese feed y usará los datos de las direcciones URL de las imágenes para crear una tabla donde mostraremos seis de ellas elegidas de manera aleatoria y que, en este caso, se abrirán con LightWindow.
Justo antes de </head> ponemos esto:
<script type='text/javascript'>
//<![CDATA[
planillaURL = new Array();
planillaTIT = new Array();
cantidadplanilla = 0;
function leerGDOCS(json) {
cantidadplanilla = json.feed.entry.length;
for(i=0; i<cantidadplanilla; i++) {
planillaURL[i] = json.feed.entry[i].gsx$imagen.$t;
planillaTIT[i] = json.feed.entry[i].gsx$titulo.$t;
}
}
function mostrarGDOCS(donde) {
var salida = "";
var max = cantidadplanilla-1;
var alea = Math.round(Math.random()*max);
var cual = alea;
var anchoTHUMB = 90; // el ancho de la miniatura
var altoTHUMB = 90; // el alto de la miniatura
salida += "<table class='demoGDOCS' cellspacing='5' cellpadding='0'>";
salida += "<tr>";
for (i=0; i<=5; i++) {
// cada miniatura es una celda de la tabla
salida += "<td align='center' valign='middle'>";
// si se usa otro modelo de ventana modal, debería cambiarse este enlace
salida += "<a class='lightwindow' rel='demoGDOCS[GDOCS]' href='" + planillaURL[cual] + "'>";
salida += "<img width='" + anchoTHUMB + "' height='" + altoTHUMB + "' src='" + planillaURL[cual] + "' />";
salida += "</a>";
salida += "</td>";
cual ++;
if(cual>max) { cual = 0; }
}
salida += "</tr>";
salida += "</table>";
document.getElementById(donde).innerHTML = salida;
}
//]]>
</script>
<script src='http://spreadsheets.google.com/feeds/list/_aquí_el_valor_de_nuestra_clave_/od6/public/values?alt=json-in-script&callback=leerGDOCS' type='text/javascript'/>
.demoGDOCS {
/* es la tabla en si misma */
}
.demoGDOCS td {
/* cada celda de la tabla */
}
.demoGDOCS td img {
/* las miniaturas */
}
<div id="unNombreUNICO"></div>
<script>mostrarGDOCS('unNombreUNICO');</script>
Otra variante donde se lee otro dato más, un texto para cada imagen: