Extiende Thunderbird a un programa de agenda personal y mensajería

Thunderbird me parece un excelente cliente de correo (solo he probado Outlook, Evolution y Kmail) y maneja mi correo desde el 2008 cuando abandoné los clientes web al no encontrar una solución para manejar múltiples cuentas de diferentes compañías. Pero hace unos días revisando las extensiones disponibles encontré unas para aumentar las funcionalidades de Thunderbird pues por defecto es un programa muy simple, y con ello, sustituir  programas o webs  para estos servicios.

Gestor de correo y RSS por defecto

Sin instalar ningún complemento, es un excelente gestor de correo y un cliente para leer entradas RSS (utilizadas en páginas de blogs, noticias y algunas redes sociales), hace unos años hice un artículo sobre Thunderbird por ello no voy a repetir todas las buenas funcionalidades básicas del programa.

Servicios de mensajería instantánea incluida

Desde la versión 15, ahora incorpora soporte para muchas mensajerías instantáneas  y desde una pestaña podremos chatear con todos nuestros contactos. La interfaz es sencilla, limpia y mezcla todas las cuentas en una sola, para mí es bien porque no pierdes tanto tiempo en navegar entre cuentas y vez quien está o no conectado. El único inconveniente por los momentos es la falta de notificaciones visuales al momento de llegar un mensaje, puede hacerse con sonidos pero a veces uno no se da cuenta. La ventaja de tener el chat integrado, es como se muestra el estado de conexión de cada contacto al momento de leer los correos, de esta manera puedo saber si respondo por correo o le escribo por mensajería, ahorrando tiempo.  Se muestra si está ocupado, disponible o sin conexión.

El cliente de IRC es bueno, permite hacer todas las tareas básicas de este protocolo, pero si buscas soporte para mostrar la canción que escuchas, comentarios desde terceros y otros no podrás hacerlo por aquí. Además, la interfaz se enfoca en mostrar los canales y nos los servidores, haciendo un poco difícil ejecutar comandos del servidor IRC o entrar a canales nuevos.

Agenda y Calendario

Gracias al complemento Lightning, se incorpora una agenda y calendario, en mi opinión superior a la incorporada por la suite de KDE, posee soporte para sincronizar con Google Calendar y Google Tasks. La interfaz es muy sencilla y parecida a Google Calendar, con la diferencia de no requerir acceder a la interfaz web y hacer todo por allí. Además, permite crear tareas locales no sincronizadas con el resto de las máquinas, por ejemplo, en mi portátil donde suelo trabajar coloco tareas de mis proyectos, en cambio, en la de escritorio coloco tareas personales que debo hacer en casa como gastos personales y pago de deudas.

 

Conclusiones

Thunderbird es un buen gestor de correo, Mozilla casi no le invierte tiempo porque no hay mucho por hacer respecto a funcionalidades, si ya lo están usando les recomiendo instalar los complementos de Lighting y probar los servicios de mensajería. Con tan solo abrir este programa, ya pueden tener acceso a sus correos, noticias, estar conectado por l distintos medios y organizar su agenda. Esta es la principal razón por lo que lo uso, pues me parece mejor abrir un solo programa que estar entrando a varias páginas web y tener abierta cada una de ellas en el navegador. Se que cada quien posee su forma de trabajar pero para mí es la mejor.

Les invito descargar Thunderbird  y prueben como gestionar su correo a través de este programa.

Hace 2 años en esa fecha: Como indexar múltiples índices de Solr

Automatización de pruebas funcionales con Selenium en Yii usando Netbeans

El título de esta entrada es un poco largo, pero intentaré de explicarles de una manera sencilla como podemos hacer pruebas funcionales en nuestras aplicaciones hechas con el framework de PHP Yii, usando Selenium y Netbeans. Para quienes no conocen las pruebas funcionales, son aquellas para comprobar la correcta ejecución de cada una de las funcionalidades del sistema, muchas veces hacemos este proceso manualmente: entrando al sitio, escribiendo a mano (o usando un plugin del navegador) cada campo, haciendo clic en los botones y así sucesivamente. Pero cuando el sistema se hace muy grande o estamos en agregando funcionalidades, se puede perder mucho tiempo en realizar este proceso, si se deja para el final (como en las metodologías antiguas) puede ser muy tarde y si se omite tendremos un software con potenciales fallas.
La idea es automatizar este proceso, para que con un solo clic se ejecuten muchas pruebas y asegurarnos el correcto funcionamiento del programa a lo largo del desarrollo y mantenimiento del mismo.

Configuración en Netbeans

Para esta guía deben tener ya instalado y configurado los siguientes programas: Netbeans, PHP Unit, un programa hecho con Yii framework, Selenium Server, Firefox (Debe ser igual para otro navegador pero no lo probé), Linux (No sé si este proceso es igual para Windows).

Primero lo que vamos a hacer es instalar un plugin de Netbeans para manipular el servidor de Selenium desde el IDE, este paso es opcional pero me parece mas fácil iniciarlo / detenerlo con un clic que a través de comandos. Para ello vamos a:

  1. Entrar en Netbeans.
  2. Luego en el menú “Tools -> Plugins -> Available Plugins“.
  3. Allí buscamos el que tenga el nombre de “Selenium Module for PHP” le damos clic en Install.
  4. Una vez finalizada la instalación, en la pestaña de Servicios en la parte de Servidores tendremos el de Selenium.
Servidor Selenium

Servidor Selenium

Antes de iniciar las pruebas, debemos arrancar el servidor de Selenium con clic derecho y luego en “Start”. Luego procedemos a configurar el proyecto actual (el realizado en Yii) para indicar a Netbeans donde se encuentran las pruebas y PHP Unit:

  1. Hacemos click derecho en el proyecto y luego en “Properties”.
  2. En la sección “Sources” existe una caja llamada “Test Folder”, en ella vamos a colocar la ruta absoluta a la carpeta /protected/tests del proyecto (en caso de no funcionar, entonces a /protected/tests/unit).
  3. Luego en la misma ventana, cambiamos la sección “PHPUnit” y activamos donde dice “Use Bootstrap” donde rellenamos la caja de texto a la ruta absoluta de /protected/tests/bootstrap.php
  4. Luego activamos la opción “Use XML Configuration” y rellenamos en la caja la ruta absoluta de /protected/tests/phpunit.xml.

Con esto ya esta configurado Netbeans, sin embargo, en mi caso no funcionó de una vez hasta hacer unos pequeños ajustes:

  1. En mi caso no quería detectar al navegador Firefox, para hacerlo funcionar en el archivo de configuración (phpunit.xml) tuve que eliminar todo el contenido dentro de las etiquetas <selenium></selenium> dejándolas como las acabo de escribir.
  2. En el archivo WebTestCase.php,en la función setUp() necesité colocar $this->setBrowser(‘*firefox’); para indicar el navegador por defecto.
  3. Como estaba usando Bootstrap para el frontend, Selenium debe esperar un poco hasta que algunos eventos de Javascript terminen de mejorar la apariencia visual, para ello en el archivo /protected/config/main.php se agrega enla sección de preload lo siguiente (asumiendo la carga de log como se encuentra por defecto):
    'preload' => array('log',
        php_sapi_name() !== 'cli' ? 'bootstrap' : '',
    ),
  4. Listo, ya con presionar Alt + F6 empezará a ejecutar todas las pruebas, si solo quieren para la clase actual deben presionar Shift + F6.

Consejos para las pruebas

A continuación les doy unos consejos y extractos de código, pues al principio me costó encontrar como realizar las siguientes tareas en Selenium.

  • Iniciar sesión en cada prueba: para ello deben crear en WebTestCase.php (la clase principal para las pruebas) un método para el login que comience con _ (piso), pues éstos no se ejecutarán en las pruebas, aquí mi les dejo código y luego en cada prueba hacen un $this->_login() donde requieran identificarse.
    protected function _login() {
     $this->windowMaximize();
     $this->open("site/login");
     $this->type("LoginForm_username", "skatox"); //Donde LoginForm_username es el id del usuario
     $this->type("LoginForm_password", "contrasena");
     $this->click("LoginForm_rememberMe"); //Permite recordar y no estar autenticando cada rato
     $this->click("name=yt0");
     $this->waitForPageToLoad(self::PAGE_LOAD_WAIT_TIME); //constante que declaré para esperar un tiempo
    }
  • Interactuar con la ventana de confirmación al eliminar un elemento del grid: En este caso se me complicó porque se debe interactuar con una ventana de javascript, el siguiente código también está en WebTestCase.php porque lo utilizo a lo largo de todas las pruebas, los parámetros son: $confirmMsg que es el mensaje de confirmación que aparece en la ventana y $nonFoundMsg, mensaje de cuando se ha borrado el elemento.
    protected function _testDelete($confirmMsg, $nonFoundMsg){
     sleep(self::WAIT_JS_TIME); //tiempo para esperar la ventana de javascript
     $this->chooseCancelOnNextConfirmation(); //Selecciona el boton cancelar para probar este paso
     $this->click($this->firstDeleteXpath); //Hace clic en el boton de eliminar del grid (Xpath)
     $this->assertConfirmationPresent($confirmMsg); //Se asegura que esta bien el mensaje
     $this->getConfirmation();
     sleep(self::WAIT_JS_TIME);
     $this->chooseOkOnNextConfirmation(); //Escoge aceptar
     $this->click($this->firstDeleteXpath);
     $this->assertConfirmationPresent($confirmMsg);
     $this->getConfirmation();
     $this->waitForTextPresent($nonFoundMsg); //Espera que no hayan resultados porque los borró
    }

Ya con estos pasos pueden empezar a realizar las pruebas funcionales de forma automática, si quieren conocer como se vé, les dejo un vídeo de unas pruebas de un módulo de una aplicación que estoy realizando:

 

Mi breve análisis de Window 8

Hace unos días recibí una licencia de Windows 8 en una jornada de la UNET y decidí actualizar mi instalación de Windows 7 para ver las “mejoras” que ofrece Microsoft en su último sistema operativo.

Instalación

La instalación no ha cambiado desde Windows  7 simplemente escoger: el idioma, el país, disposición del teclado y presionar siguiente. Por defecto, Windows detecta si tienes una instalación previa y te ofrece actualizarla o instalar desde 0. Si tienen otras instalaciones de otros sistemas operativos (como en mi caso que tengo Archlinux y Backtrack en otras particiones) se debe seleccionar la instalación avanzada (en realidad no tiene nada de avanzado) y seleccionar la partición (aqui se llama volumen) para formatear en instalar allí. Como siempre, no respeta si tienes un cargador de arranque instalado así que debes volver a instalarlo luego de tener Windows 8.

Arranque y Apagado

El primer arranque o cuando existen actualizaciones tarda 30-40 sg lo normal en Win7, sin embargo, luego de ello el arranque es muy rápido (mas que  Linux) esto se logra a que Windows no inicia desde 0 el sistema operativo sino que lo hiberna cada vez que “apagamos” permitiendo cargar una sesión de Windows en menos tiempo. Si quieren mas detalles pueden leer en inglés el artículo sobre Fast Boot.

Interfaz gráfica

Éste es el punto fuerte de Windows, con cada lanzamiento se esperan mejoras en esta área y en mi opinión Win8 presenta los mayores cambios desde Windows 95. Ahora se ha introducido la interfaz ModernUI (antes conocida como Metro) que ha debutado antes en otros dispositivos de Microsoft como el X-Box y Windows Phone.

Para mí, la interfaz ModernUI es muy pulida, sencilla y limpia. Realmente es agradable usar esta interfaz pero esta muy diseñada para dispositivos táctiles, mi laptop no posee pantalla de este tipo por lo que usar el mouse para realizar ciertas acciones es muy fastidioso o no intuitivo. Microsoft hizo un buen trabajo pero aún es muy temprano imponer esta tecnología sobre el hardware existe.

Debido a estos cambios, ahora se cuentan con 2 escritorios (¡Si! como leen, dos escritorios) uno el tradicional de Windows 7 y el nuevo con la interfaz metro. Esto me causa mucha confusión porque las aplicaciones estan diseñada para un escritorio u el otro, por ejemplo, estaba usando Skype y usa ModernUI, luego abrí Firefox para navegar y automáticamente cambia al escritorio tradicional, esto confunde, además, no hay manera desde el escritorio tradicional acceder a las aplicaciones Metro sin cambiar de tipo de escritorio. Esto ocasiona que no sabes si tienes una aplicación Metro abierta o vicevers y debes cambiar para darte cuenta de ello.

El menú inicio desaparece y ahora en vez de estar todo categorizado, por defecto te arroja toda la lista de cosas que tiene instalada, primero aparecen las aplicaciones Metro y luego si las tradicionales, aunque puedes organizarlas a tu gusto. Personalmente prefiero este menú al tradicional de inicio, es mas cómodo e incluye como widgets para obtener información de algunas cosas sin tener que abrir programas.

Aplicaciones incluidas

Como siempre, se incluyen aplicaciones sencillas, entre las que pude probar fue la de correo la cual me pareció muy chévere por ser liviana, buena interfaz Metro y configuración sencilla. Pero cada cierto tiempo se cerraba sola sin avisar y sin informarme del error para ver si es posible arreglarlo. La galería de imágenes es muy buena, con mejores animaciones, mejor organización y ahora permite integrar servicios de Internet como Flickr para incluir imágenes desde allí. Por cierto, ahora Windows 8 se integra mucho con redes sociales o servicios de internet para guardar configuración general, sincronizar archivos, entre otros. El gestor de tareas también recibió un cambio, la interfaz es mejor y muestra mejor información que en versiones anteriores.

Tienda

La tienda de aplicaciones es similar a la de Apple o Android, pero no encontré buenas aplicaciones disponibles y creo que solo instala aplicaciones Metro, nada tradicional, pues no aparecen las aplicaciones gratuitas mas usadas en este sistema operativo. Creo que todavía le falta bastante (bueno apenas comienza) para igualar a las tiendas de la competencia, sin embargo, espero que se integre con Windows Update para tener el sistema operativo actualizado. A windows le faltaba un medio integrado para conseguir mas aplicaciones o mantener las existentes.

Conclusiones

Windows 8 es un sistema operativo que mezcla la interfaz para dispositivos táctiles con la interfaz de Windows 7, me parece un decisión arriesgada por parte de Microsoft pero el tiempo dirá si funciona, en mi opinión todavía es temprano realizar este tipo de cambios porque el hardware de este tipo no se ha generalizado y ademas el cambio de como se debe usar el sistema operativo frutará a la mayoría de usuarios.

Si tienes una licencia de Windows 7 te recomiendo quedarte allí, este S.O. es bueno si tienes una tablet o computadora táctil, si lo usas para trabajo diario o usando las aplicaciones “tradicionales” este Windows será malo para ti.

Deja tu comentario si ya probaste este S.O. y deseas aportar algo a los demás.

Hace 4 años en esa fecha: Unreal Tournament 3 contra Halo 3

Hace 6 años en esa fecha: El nuevo Ipod GIGANTE (1TB de música)