David

Categories

Latest News

Monthly archives

Links


Search




AJAX File Upload con JSF

Voy a describir el modo de hacer carga de ficheros mediante JSF utilizando AJAX. El método esta adaptado del que utiliza Martin Konicek en PHP.

Utilizaremos el componente FileUpload incluido en el Tomahawk de Apache Myfaces. En primer lugar creamos dos páginas web, una será la que contenga la imagen y otra el formulario. Incluimos la segunda en la primera mediante un iframe.

Configuramos la opción onChange del componente FileUpload para que ejecute un código javascript que cambia la imagen actual por otra imagen de carga (un indicador ajax por ejemplo). La forma de hacerlo es accediendo al documento padre y modificando el atributo src del img. A continuacion, se ejecutará un submit(). Esto establecerá el valor del UploadedFile del managed bean que da soporte al FileUpload. En el cuerpo del método setImage (o como se llame) del managed bean se guardará la imagen del modo que sea más adecuado (un fichero, una base de datos, en memoria, etc).

El iframe se recargará y se debe añadir un método en el onLoad del body. Éste método se encargará de modificar la imagen del documento padre para que apunte a la nueva imagen subida. Lo normal será pasarle como parámetro la localización de la nueva imagen, que habrá sido establecida por el setImage mencionado en el párrafo anterior.

Si todo es correcto, se vería el cambio de imagen :-)

Posted by dsuarez Posted in: informática, java 3 Comments » April 2006


Proyecto de fin de carrera: Interfaz Gráfica de Usuario

Después de algún tiempo sin reunirme con el tutor del proyecto, por fin logré tener un hueco y entrevistarme con él. Estuvimos hablando de dos cosas principalmente, el formato de los ficheros de salida y entrada de la aplicación y de la interfaz gráfica de usuario.

Con respecto a esta última, el enfoque que pretendía darle a la IGU no es el que realmente le interesa a los miembros del grupo de investigación. Mi planteamiento inicial, y ahora descartado, era el de crear una interfaz de ventanas clásico, posiblemente un programa Java usando Swing. Después de la entrevista, la conclusión a la que llegamos es que se necesita un interfaz tipo web.

¿Por qué una WUI (Web User Interface)? Pues porque uno de los objetivos es promocionar el código de cálculo y los algoritmos, permitiendo a investigadores de otros grupos a lo largo y ancho del mundo probar la aplicación. La mejor manera de hacerlo sin tener que estar distribuyendo código y ejecutables es mediante este sistema. De este modo todo el sistema esta centralizado en el cluster del grupo de investigación de modo que actualizar el software es trivial; además, podrán diseñarse políticas de control de acceso al cluster y sus recursos de forma integrada con el servidor web.

Ahora mi pregunta es que tecnología emplear para implementarlo. Estoy pensando en emplear PHP o J2EE. Quizá montar un sistema J2EE es un tanto excesivo para una aplicación web que no requiere de toda la arquitectura de servidores de aplicaciones y pools de conexiones a DBs entre otras cosas que si requiere una aplicación corporativa. Sin embargo, la ventaja sería que estoy acostumbrado a utilizar Java Server Faces y sus herramientas, implementar la interfaz sería poco más que un juego de niños.

PHP tiene una curva de aprendizaje más corta, y un mantenimiento más sencillo. Sin embargo no dispone de las características de seguridad intrínsecas asociadas con un servidor J2EE.

Estas son mis desavenencias actuales, espero tomar la decisión en los próximos días. Veremos como queda.

El comentario es correcto, el mantenimiento de una aplicación PHP grande es muy complejo debido a la falta de estructura intrínseca de esa tecnología. Mi comentario se refería al software: servidor Apache, PHP y listo. J2EE requiere una configuración un poco más detallada.

Posted by dsuarez Posted in: informática, pfc, ulpgc 1 Comment » April 2006


AjaxWrite

Este post lo estoy escribiendo desde el ajaxwrite, un procesador de textos on-line. Se basa en la tecnología ajax para permitir escribir textos en internet utilizando las herramientas clásicas de otros procesadores más ortodoxos como el Microsoft Office o el OpenOffice. Mi intención es hacer el comentario según pruebo las características.

En principio, he tenido problemas para poner el link de más arriba (el que enlace a ajaxwrite) porque seguía escribiendo y no podía decirle al programa que el estilo de hiperenlace se había acabado. Un punto negativo. Tal vez tenga esa capacidad, pero yo no la veo.

Las teclas de acceso funcionan bien, deshacer (ctrl+z), copiar (ctrl+c), etc. Puede leer muchos formatos, incluido el doc del MS Office. veo que los botones de insertar objetos e insertar imágenes están deshabilitados, con lo que no lo han implementado todavía. Tiene soporte para cambiar el tipo de letra y tamaño, pero no para controlar estilos de letra (cabecera, título, párrafo normal, etc) que facilita mucho la edición, la maquetación y la creación de la tabla de contenidos automáticamente, cosa que tampoco tiene evidentamente.

Puede crear tablas, pero el control del ancho de las columnas es un complejo y no parece que permita mucha flexibilidad.

En definitiva, un procesador de textos sencillo, a la altura del Wordpad de Windows, esperemos que continúen desarrollándolo y llegue a ofrecer las mismas prestaciones que los procesaores comerciales offline.

Posted by dsuarez Posted in: informática No Comments » April 2006


log4tran: The Fortran logging system

Nada. No hay ningún sistema de logging open source para Fortran, o por lo menos no sale en las dos primeras páginas de resultados de búsqueda de Google. Asi que he decidido crear mi primer proyecto en Sourceforge e intentar implementar esta utilidad para Fortran, ¿lo conseguiré?

El proyecto surge de la necesidad de llevar un registro de ejecución del módulo de cálculo de mi proyecto de fin de carrera. Me parece útil tener un sistema de logging, ya que me facilitará la depuración y el seguimiento de la ejecución; y eso siempre es bueno.

Estoy a la espera de que me acepten el proyecto en Sourceforge. La verdad es que tengo hecho un pequeño esqueleto que funciona, aunque tengo graves problemas con la gestión de ristras, que en Fortran es horrible, como todo el mundo que lo haya intentado sabrá. Si tuviera las clásicas sprintf y printf, todo sería distinto :`(. Tanto que me estoy planteando hacer una librería escrita en C y acceder desde Fortran.

Mi idea es ir implementando funciones según me hagan falta, cogiendo ideas del apache log4j (log for Java). Por el momento hay 4 niveles de importancia a la hora de escribir los logs, sólo se pueden escribir en un fichero (no por consola), y en cada log se imprime la fecha, la hora y el nivel de importania.

Pondré el link a la eb del proyecto en cuanto esté activo y haya algo para descargarse ;-)

Posted by dsuarez Posted in: informática, pfc No Comments » April 2006


« Previous Entries