Cambio de hosting

Estaba a puno de expirarme el hosting que tenía contratado con alojalia y me he cambiado a dreamhost.

Si véis alguna cosa rara comentármelo, que he aprovechado también a actualizar la versión de wordpress a la 2.0.10. Hasta el momento habido un par de problemas, al entrar a ver los detalles de las entradas, no las encontraba pero ya está solucionado y el otro es que han dejado de funcionar las estadísticas con StatCounter, algo raro porque el código javascript sigue estando ahí ¿alguna idea?.

Las razones del cambio de hosting, principalmente por lo económico, que con un cupón de descuento me ha salido este primer año por 22$.

Otras cosas interesantes de este hosting son:

Posibilidad "ilimitada" de crear bases de datos Mysql.
Ancho de banda y tamaño en disco brutales (que sí, que ya sé que lo venden y revenden una y otra vez).
Servidor de Jabber.
Servidor se Subversion y CVS.
Soporta Ruby On Rails.
Soporte de PHP4 y PHP5.
Hospedaje ilimitado de dominios y subdominios (+1 dominio).

Lo que echo mucho de menos es soporte de PostgreSql, al haber empezado a jugar con este gestor de bases de datos.

Actualización: Parece que ya vuelven a funcionar las estadísticas.

Vídeo sobre usabilidad

Me entero en el blog de Isabel Casanova, que está disponible en google video la charla que dió Daniel Torres Burriel (Net2u_)en la Jornada de Usabilidad que se dió en el parque tecnológico Walqa.

También están disponibles las transparencias utilizadas: Comercio electrónico. Más allá de la tecnología.

Lástima que no esté disponible el material de la presentación de Luis Villa (The Cocktail), o al menos yo no la he encontrado.

Se puede ver un resumen sobre la jornada en el blog del Laboratorio Aragonés de Usabilidad.

Actualización 09/07/07: Me avisa Dani Torres, que ya están disponibles las transparencias de Luis Villa: Usabilidad Web. Un impacto postivo en el negocio, habrá que verlas.

Empezando con Facelets

Estoy teniendo mis primeros contactos con Facelets, un sistema de plantillas para JavaServer Faces, lo que sería un tiles para struts.

Ha sido bastante fácil utilizar Facelets en una micro-aplicación de ejemplo de JSF, sobre todo gracias a la buena documentación que tiene el proyecto.

Para utilizarlo me ha sido necesario modificar lo siguiente:
-La configuración de web.xml poniendo un context-param javax.faces.DEFAULT_SUFFIX con value .html y otro facelets.DEVELOPMENT con value a true para tener, durante el desarrollo, salida de debug por el navegador.
-La de faces-config.xml poniéndole un view-handler, com.sun.facelets.FaceletViewHandler.
-Crear un template para las vistas.
-Modificar los nombres de archivos que utilizan JSF de .jsp a .html y en los archivos modificar lo necesario para dejarlos
con el formato de páginas facelets, quitando los taglib y f:view...
-Y modificando también las reglas de navegación de faces-config, cambiándoles la extensión de los archivos de .jsp a .html.

Una de las cosas que me ha parecido muy buena idea dentro de Facelets, es el poder utilizar de una forma alternativa los tags de jsf, al menos para los componentes del core de JSF pero supongo que para cualquier otro, utilizando etiquetas html de siempre con un atributo jsfc que dice cuál es el tag JSF que debe renderizar. Lo que a un diseñador/maquetador creo que le facilita bastante la vida al no tener que aprenderse los tags de JSF.

Liberado Zend Framework 1.0

Me entero en barrapunto que Zend, creadores del lenguaje PHP, ha liberado por fin la versión 1 de Zend Framework.

Para quien no lo conozca, es un framework que trabaja sobre PHP5 y está orientado a objetos, y entre otras cosas implementa el patrón MVC, más detalles en su web.
Creo que la última vez que seguía los diferentes frameworks que implementaban el patrón MVC en PHP, Zend Framework todavía estaba en la 0.3, y entonces fué después de Symfony el que más me gustó.

Habrá que ver si a nivel de empresarial y desarrollos libres, empiezan o han empezado ya a despegar estos frameworks y cuál predomina. Lo más lógico es que acabe siendo el de Zend aunque me parece a mi que nos queda código spaghetti para un buen rato, a no ser que se adapte PHP6 más rápido que PHP5(no lo creo) ya que dicen que será orientado a objetos sin compatibilidad hacia los malos vicios.

Clase XHConn

Hasta ahora no he utilizado librerías javascript, únicamente algún componente configurable (calendario, autocompletado...), quizás porque no soy un apasionado de javascript y no las he trasteado, además de que utilizando algunos de esos componentes me he tenido que liar con su código para modificar algún detalle a mi gusto.

Cosa que nunca me ha pasado con la clase XHConn, que es una sencilla clase que soluciona los problemas de las compatibilidades entre navegadores al crear un objeto XMLHTTPRequest, y nos ahorra ese trabajo.

Su uso es muy sencillo, sólo tiene un método, connect al que se le pasan la url, el method(POST/GET), parametros de la url y la función de callback

Aquí un ejemplo:

//Instanciamos el objeto
var con = new XHConn();
//Comprobamos que el navegador tenga soporte al objeto XMLHTTPRequest
if (!con) alert("El navegador no soporta el objeto XMLHTTPRequest.");
//Definimos la función de callback
var fnWhenDone = function (obj) { alert(obj.responseText); };
//Llamamos al método connect
con.connect("urldeejemplo.php", "POST", "parametro1=a¶metro2=b", fnWhenDone);