Archivo de la categoría: web

Internet Explorer Encoding Fail

…o como un buen día acaba arruinado por esa basura.

Ayer fue un día prolífico de web-developeo, gracias a que me tope con parte del trabajo ya implementado (y libre), facilitándome mucho las cosas :D. Gracias a eso, podré añadirle otro toque “2.0” a Gonium.

En los últimos días, por motivos de fuerza mayor, he estado trabajando con otro laptop, … con windows xp (chan!). Es acá donde recordé que gran cantidad de las herramientas que ocupaba para desarrollar, cuando desconocía Linux, eran propietarias, pesadas y expiraban a los 10-15-30 días (a menos claro que…). Aproveche esta oportunidad para hacer las pruebas de rigor en Internet Explorer. Como era de suponerse, me causo algunas reacciones urticantes.

Entonces investigando encontré algunas cosas útiles, libres y para windows:

  • 7-zip sino como diablos abro un tar.gz o un tar.bz2 😆
  • Xampp un instalador de Apache+PHP(4/5)+Mysql5 y PHPMyAdmin. Lo bueno es que trae además:
    • mod_rewrite (Apache) Necesario para trabajar con Zend_framework y las urls para SEO. Hay que activarlo en el httpd.conf descomentado la linea que lo carga).
    • xdebug (PHP) Aunque no viene preinstalado, pero es cosa de editar el php.ini, sacar zend_optimizer y descomentar las lineas de xdebug (vienen seguidas).
  • Zend Framework, pack de clases + documentación + … + guías, para trabajar con PHP5
  • Notepad++ Editor te texto plano, para trabajar con código fuente en un montón de lenguajes.
  • Poedit Interfaz gráfica para gettex, una aplicación que permite realizar traducciones desde y en nuestro código fuente.

Con todo esto, más un buen pack de navegadores (Firefox, Arora (basado en webkit), Opera, Safari, IE en todas sus repugnantes versiones), ¿necesito pagar un peso para aprender/trabajar?

Construcción

Basado en el código que me encontré, quería implementar un nuevo módulo para mi sitio. Como trabajo con Zend Framework, es cosa de crear una nueva carpeta con la siguiente estructura:

root/modules
root/modules/my_new_module
root/modules/my_new_module/controllers
root/modules/my_new_module/models
root/modules/my_new_module/views
root/modules/my_new_module/views/scripts

Luego cree mi “MyNewModule_IndexController” (en root/modules/my_new_module/controllers) y mi script de vista index.phtml (en root/modules/my_new_module/views/scripts).

Es tan sencillo y corto que no lo voy a postear.

¿Y donde esta el EPIC FAIL?

Probé el nuevo módulo en Firefox durante todo el día, hasta que se me ocurrió ¿porque no probarlo en IE7 si estoy en windows?

EPIC FAIL:

Módulo pwneado en Internet Explorer 7

Todo el div central se desencuadro 👿 !!!

Las consecuencias eran evidentes. ¿Tendría que cambiar el Layout completo? ¿Tendría que cambiar el css? Afortunadamente, este incidente me obligo a replantear el CSS, que ya estaba algo desordenado. Ajustando perillas por aquí y por allá arregle algunos div’s y formularios rebeldes, pero del misterioso div desencuadrado nada…

Mis otros módulos seguían estando bien.

Probé mil y un arreglos, pero en mis otros navegadores seguía viéndose correctamente:

adasd
Módulo pwneado en Mozilla Firefox 3.0.1

Incluso en Safari (que recordemos, al principio entendía pésimo el HTML 😆 ):

fasdfdf
Módulo pwneado en Safari 3.1

Una delicia visual 😀

WTF :S

Cuando prácticamente dí por perdido el asunto, recorde a un colega, cuando trabajaba su código fuente, se enfrentó a un problema de codificación de caracteres. ¿Ha tenido problemas para mostrar caracteres acentuados en php/html? a esos mismos problemas me refiero. ¡Pero si no tiene nada que ver! ¿o si?

No perdía nada con probar. Todo el código fuente base de Gonium lo desarrollé con Kate y Quanta Plus en Kubuntu, que por defecto, trae codificación utf-8 en TODO el sistema (hasta los sistemas de archivos). Para mantener “compatibilidad” de mi código fuente, configuré Notepad++ desde el principio para producir archivos nuevos como utf-8 con saltos de linea unix.

¿Y si lo cambio a ANSI? Problema resuelto (uff!!!

Cambiando el Editor de Joomla

Ya cuando instale Joomla en Promolibros había experimentado inconvenientes con TinyMCE, su “Editor Wysiwyg” predeterminado.

Inconvenientes del tipo “presiono un botón y no ocurre lo que debiera ocurrir”. En ese tiempo, me dí cuenta que en ocasiones era AdBlock Plus el culpable que bloqueaba los scripts necesarios para el funcionamiento.

Hoy después de mucho tiempo sin haber ocupado el editor de contenido, me di cuenta que con ningún navegador fue capaz de funcionar correctamente (el que llegó más lejos fue Safari).

Comprendí entonces que si la cosa fallaba desde el principio, menos estaría pensada para funcionar con navegadores actuales.

Entonces, en menos de 5 minutos buscando, dí con otro editor en javascript que si funciona. Damas y caballeros, les presento a JCE.

Para instalarlo, baje el componente, el mambot y language pack en español. Primero instalo el componente, luego el mambot. Para dejarlo en español, es necesario ir al Menu de Componentes en el panel de Administración, y hacer click en el icono “install”, luego es como cualquier oto paquete de joomla tipo “subir e instalar”.

Para activar el editor y finalmente reemplazarlo por el funesto TinyMCE, es necesario ir Sitio -> Configuración Global, donde basta seleccionarlo en donde dice “Default WYSIWYG Editor:”.

Así que ya saben, si hay algo en Joomla que no les gusta o no funciona, es muy probable que exista un reemplazo, uno de los motivos por los que prefiero el software libre

Corto tiempo de las sesiones PHP en K/Ubuntu Feisty

PHP LogoEn este prolífico día de blog, me dí cuenta que mientras trabajaba con aplicaciones PHP en el servidor local Apache que tengo instalado en Kubuntu, al estar alejado mucho tiempo con una página abierta sin tocarla, se pierde muy rápido la sesión.

Lógicamente la página debe iniciar una sesión.

El problema es que si me demoro mucho en escribir un pedazo de código y probarlo, debo volver a hacer login.

La solución al parecer es bastante sencilla.

Seguir leyendo Corto tiempo de las sesiones PHP en K/Ubuntu Feisty

Ajax. No tan dificil como pensaba

Extraño, pero me vi en la NECESIDAD de implementar Ajax. y destaco necesidad, porque perfectamente se puede hacer una app basada en web sin una linea de javascript.

El problema surgió porque en el modulo de ingreso de ventas de mi “sistema-manejador-de-tiendas-sin-nombre” necesitaba un formulario que se pudiera llenar de productos, a partir de una lista de productos preexistente.

Podría haberlo hecho con un formulario con un campo select, y un boton añadir que al presionarlo añadiera un producto, recargara la página y perder precioso tiempo en la tediosa tarea de ingresar los productos.

Sin embargo, con Ajax resulto mucho más rápido, y de un acabado más fino.

Seguir leyendo Ajax. No tan dificil como pensaba