7 marzo 2008, 17:46
En los últimos días se me ha planteado un problema en el trabajo que consiste en: ¿qué pasa cuando un usuario está rellenando un formulario muy extenso (hablo incluso de horas) y por cualquier motivo, transcurrido un tiempo, la página del formulario se pierde?
La verdad es que es una faena que después de estar introduciendo datos durante mucho tiempo, éstos se pierdan por cualquier motivo así que me puse a idear una forma de guardar los datos introducidos hasta el momento sin que el usuario tenga que hacer nada y después de darle vueltas, la mejor forma que encontré fue hacerlo utilizando AJAX.
La idea es que cada cierto tiempo, en mi caso cinco minutos, se guarden los datos introducidos en el formulario en una base de datos, para en el caso de que se pierda la página, poder recuperarlo sin problemas.
Para ello, utilizaremos la librería Prototype que tiene una clase llamada PeriodicalExecuter, y que su función, como su propio nombre indica, es ejecutar una determinada función cada cierto tiempo. La creación de un objeto de esta clase recibo parámetros: la función a la cual invocar y los segundos que tarde en ejecutarse una nueva instancia.
La función a la cual vamos a invocar creará una instancia Ajax.request, a la cual le debemos pasar por parámetro los valores de los elementos del formulario, el método por el cual se pasan (post o get) y la página que queremos que actúe sobre esos datos (en nuestro un script php). Veamos como quedaría el código en la página que contiene el formulario:
<script src="prototype.js" language="javascript"></script>
<script language="javascript">
new PeriodicalExecuter(savetest, 300);
function guardadatos(){
new Ajax.Request('guardadatos.php', {
parameters: { question1: $F('question1'), question2: $F('question2'), question3: $F('question3'), },
method: 'post',
});
}
</script>
Hay que tener en cuenta que se debe conocer, que usuario ha introducido esos datos. En mi aplicación, los usuarios que rellenan los formularios son usuarios registrados, con lo que sé en cada momento la identidad del que rellena dicho formulario. Ahora vemos el código del script que almacena la información en la base de datos:
<?php
session_start();
includes
("databaseconnection.php");
//Antes de insertar nada, elimino los datos de este usuario
mysql_query("DELETE FROM datos_guardados WHERE id_user='".
$_SESSION['username'].
"'")
$keys =
array_keys($_POST);
foreach ($keys as $key){
mysql_query("INSERT INTO datos_guardados (id_user, element_form, value) VALUES ('".
$_SESSION['username'].
"', '$key', '".
$_POST[$key].
"')");
}
?>
Ya sólo nos quedaría añadir el código para que, al cargar el formulario, se compruebe si ese usuario tiene datos almacenados y recuperarlos en los elementos del propio formulario. Pero eso os lo voy a dejar como ejercicio.
13 diciembre 2007, 16:49
Hoy mismo, día 13 de Diciembre se está celebrando en la Escuela Técnica Superior de Ingenieros en Telecomunicación de la Universidad Politécnica de Madrid, la primera edición de la Barcamp, un evento en el que se está hablando sobre mashups, localización, movilidad y sms, entre otras cosas. Una de las acciones diseñadas para el evento ha sido organizar un concurso de creación de aplicaciones informáticas, para el cual conseguí terminar algo a tiempo.

La aplicación se llama Peticiones al DJ y la idea diseñar una aplicación para que los clientes de un pub o discoteca envien un mensaje de texto con sus móviles a un número de móvil realizando peticiones de canciones a los dj’s. Este número de móvil está relacionado con una dirección de correo electrónico, de tal forma que, cualquier mensaje que le llegue a este móvil se remite automáticamente a esa dirección, la cual puede ser analizada para actuar en consecuencia.
El sistema funciona en un servidor web con Apache, PHP y MySql, y aunque todavía quedan muchas cosas por hacer, me gustaría poco a poco ir mejorándolo y no dejarlo tal cual está. Por supuesto, acepto vuestras sugerencias.
12 junio 2007, 17:33
Tienes 7 minutos para decir todas las propiedades de CSS2 que sepas. Yo la verdad es que no he recordado muchas.
Free Online Dating30
12 junio 2007, 17:06
Desde Mootools han creado una aplicación web, SlickSpeed, que permite comparar los rendimientos de cinco frameworks para trabajar con AJAX. Estos cinco frameworks son Prototype, jQuery, Mootools, ext y cssQuery y la comparación se realiza comprobando la velocidad de acceso a diferentes selectores. Parece que no me he equivocado al empezar a utilizar Prototype, aunque Mootools no se queda muy atrás.

Via: Ajaxian
9 febrero 2007, 23:11
En un momento de inspiración se me ha ocurrido desarrollar un buscador de vídeos alojados en Youtube que utilice tecnología AJAX. En el próximo post os explicaré los sencillos pasos para construir este buscador (a estas horas casi nadie conseguiría sacar nada más de mi), pero de momento os dejo el buscador para que le echeis un vistazo y me comenteis mejoras, sugerencias y como no, todas las críticas que se os ocurran.
BUSCADOR AJAX
5 febrero 2007, 19:14
Si quieres empezar a desarrollar aplicación utilizando la tecnología AJAX, <sarcastico>antes incluso de empezar por algún sencillo tutorial </sarcastico>>, deberías elegir cual será el gif animado que utilizarás en tus aplicaciones mientras se realiza la carga de datos. Puedes generar tantos como quieras en Ajax Load Info

Una vez elegida la imagen, ya puede visitar un tutorial cualquiera, seguir los ejemplos y pensar que puedes desarrollar con esta tecnología, que aportará una mejor experiencia a los usuarios de tus aplicaciones.
También te aconsejo echarle un vistazo a Prototype, una framework javascript que te facilitará el desarrollo de aplicaciones web con mucho contenido javascript. Sigue su API, desde hace poco disponible incluso en formato PDF.

15 enero 2007, 18:48
Weebly es un nuevo servicio gratuito creado con tecnología AJAX que permite generar tus propias páginas web rápidamente. Como su propio autor indica, David Rusenko, con este nuevo servicio pretende llegar a algo más que tener un simple procesador de textos on-line.
Entre sus características cuenta con la posibilidad de añadir contenido de servicios como Flickr, Youtube o Google Video
Además, también presenta varios temas al estilo wordpress o textpattern y la generación de contenido se basa en el método de arrastrar y soltar. Con las primeras pruebas que he realizado he llegado a generar esto en apenas un cuarto de hora.

Fuente de la noticia: Ajaxian
2 noviembre 2006, 15:23
Un gran amigo me ha recomendado echar un vistazo a Library Thing, algo así como un sistema de catalogación de tus libros favoritos, pero que además incorpora el componente social típico de otros sitios como por ejemplo last.fm, permitiendo relacionar a usuarios con similares gustos lectivos.

La búsqueda de libros incorpora en torno a 60 fuentes bibliotecarías de todo el mundo, entre las que destaca por supuesto
Amazon y la
Biblioteca del Congreso de los EEUU. Entre las españolas que hay de momento, están las de las universidades de
Zaragoza y la
Autónoma de Madrid
La web está prácticamente en su totalidad realizada utilizando técnicas AJAX lo que facilita muchísimo la navegación y la interacción con el sistema. Por supuesto, permite visualizar desde sitios web externos, aquellos libros de nuestro catálogo.
17 mayo 2006, 05:49
Una de las conferencias impartidas en las Primeras Jornadas de Tecnología Java trataba sobre la Web 2.0 (Web 2.0, un mundo de nuevas posibilidades) y aunque sinceramente me esperaba algo más de ella, trato a fondo el tema de las aplicaciones AJAX.
Y es ahora cuando Google, quien ya he utilizado esta tecnología tanto en Google Maps como en Gmail, ha lanzado una herramienta que permite crear aplicaciones AJAX fácilmente. La herramienta se llama Google Web Toolkit y pretende facilitar la labor de los desarrolladores en la ardua tarea de programar para aplicaciones AJAX.