Feedorss’s Weblog


¡Feedo ya habla!

Posted in Uncategorized by feedorss on the December 16, 2008

Feedo, el agregador de canales RSS vocal, ya cuenta con un sistema de respuesta interactiva de voz,  disponible para teléfonos voz sobre IP utilizando el protocolo SIP.

Este sistema, implementado sobre la centralita telefónica Asterisk, generá menús de voz sintética. Estos menús asocian distintas opciones a dígitos de forma que el usuario puede hacer su elección pulsando la  tecla correspondiente en su teléfono.  De este modo se puede navegar por las distintas categorías escuchando las noticias de los feeds que nos resulten interesantes.

Los terminales de voz sobre IP no son necesariamente teléfonos. También existen aplicaciones de escritorio que ofrecen las mismas funcionalidades. Un terminal de voz sobre IP es básicamente un dispositivo que permite efectuar y recibir llamades a través de internet.

Para hacer uso del servicio de voz ofrecido por Feedo se debe disponer de una cuenta de usuario en el sistema y un terminal voz sobre IP con soporte para el protocolo SIP. Se trata de un protocolo de gestión de sesiones donde intervienen elementos multimedia, SIP son las siglas en inglés de Protocolo de Inicio de Sesiones (Session Initation Protocol).   Antes de efectuar la primera llamada al servicio de voz es necesario configurar un par de parámetros relacionados con este protocolo. El primero de ellos  es el servidor de registro o registrar. Basta con indicar la IP 156.35.94.5. El segundo es la dirección SIP. Para ilustrar este parámetro utilizaré un ejemplo. Si el correo electrónico de tu cuenta de usuario en Feedo fuese “siptest@maildomain.com” la dirección SIP sería “sip:siptest_maildomain.com@156.35.94.5″.

Finalmente podremos escuchar nuestros canales de noticias favoritos marcando la extensión 1000.

¡Feedo LIVE!

Posted in Uncategorized by feedorss on the July 22, 2008

Desde Junio está disponible una versión LIVE de Feedo accesible desde la URL, http://156.35.94.5/feedo.

Para probar la aplicación no es necesario registrase, existe una cuenta de usuario compartida con nombre “invitado@midominio.com” y contraseña “invitado”.

Además Feedo está disponible en dos idiomas Inglés y español.

Se trata de una buena forma de comprobar el grado de desarrollo de la aplicación y colaborar con el mismo.

Para cualquier sugerencia se encuentra disponible la dirección de correo electrónico isaac@users.forja.rediris.es.

¡Feedo ya está aquí!

Posted in Uncategorized by feedorss on the May 14, 2008

Por fin, ha sido publicada una versión beta del agregador RSS vocal Feedo.

A la espera de encontrar un servidor donde alojarlo,  se ha decidido publicar un paquete que permitirá a aquellos que lo deseen probar la aplicación desarrollada en PHP, utilizando como servidor su propio equipo.

Para ello será necesario disponer de un servidor web que soporte PHP, además del servidor de bases de datos MySQL. Este último se puede obtener de forma totalmente gratuita: MySQL. También existen alternativas gratuitas para obtener un servidor de páginas web, por ejemplo Apache. Aunque la solución más sencilla tal vez sea buscar un paquete con todo incluido. Algunos ejemplos son: XAMPP, AppServ, etc. Todos ellos incluyen Apache con PHP 5 y MySQL.

Esta versión beta de Feedo consiste en un paquete en formato tar.gz disponible en RedIris y en SourceForge. Dicho paquete contiene, además del código de la aplicación y su base de datos (en forma de script sql), instrucciones de instalación paso a paso, documentación HTML (generada con PHPDocumentor) y un conjunto de pruebas unitarias y funcionales. Ésto último está destinado a facilitar la creación de un entorno de desarrollo que permita modificar y/o ampliar el programa a aquellos que lo estimen oportuno. Para tal caso sería necesaria la instalación de symfony, framework PHP con el que se desarrolla Feedo.

Como se trata de una versión beta y por lo tanto no definitiva, se ha tomado la decisión de no incluir aún la parte de voz, que permitirá en versiones posteriores de Feedo acceder a él a través de un dispositivo con soporte para VozIP.

Registrarse en Feedo

Posted in Uncategorized by feedorss on the February 18, 2008

He decidido que los datos necesarios para crear una cuenta en Feedo sean solamente un correo electrónico y una contraseña.

El motivo que me lleva a tal decisión es sencillamente facilitar el registro a los usuarios. Últimamente están apareciendo opiniones a través de la red que ponen de manifiesto las múltiples ventajas de realizar este tipo de sistemas de registro. Entre ellas destacán la brevedad y sencillez del proceso y la garantía de un identificador único para todo internet dado que una dirección de correo electrónico así nos lo garantiza.

He encontrado este enlace, que trata sobre el tema, interesantísimo: TiRSO!Blog.

Internacionalización y localización en Symfony

Posted in Uncategorized by feedorss on the February 15, 2008

Como ya he dicho en un post anterior Symfony es un framework de PHP que ofrece soporte para internacionalización (i18n) y localización (l10n).

En primer lugar definiré brevemente ambos conceptos.

Por internacionalización se entiende el proceso de generación de distintas versiones de un mismo contenido en idiomas diferentes.

Por otra parte localización se refiere al proceso de adaptación de los contenidos a un determinado país o región del mundo.

 

El soporte que ofrece Symfony a dichos procesos se centra principalmente en tres aspectos:

 

Traducción de textos.

 

Estándares y formatos. Me refiero a fechas, unidades monetarias etc.

 

Localización de contenidos.

 

Para manejar todas estás cuestiones de una manera más sencilla Symfony trabaja con el concepto de “Cultura del Usuario”. Que no es más que una cadena de texto donde se indican el idioma y el país a los cuales se debe ajustar la interfaz y el contenido. Un ejemplo de cultura de usuario puede ser la cadena “en_US”. “en” es el código del ingles según el estándar ISO 639-1 y “US” es el código de los Estados Unidos de América según el estándar ISO 3166-1. El país también tiene su importancia en los procesos de internacionalización y localización puesto que países que comparten un idioma pueden por ejemplo tener distinto sistema métrico o monetario.

De esté modo cuando el usuario elige traducir la página a un idioma distinto al idioma por defecto el código PHP puede llegar a ser tan sencillo como cambiar la cultura del usuario, para lo que el framework ofrece métodos setter y getter.

Lo más habitual es que la cultura del usuario se obtenga de las preferencias del navegador en la primera petición http. Symfony obtiene la cultura por defecto de la aplicación de un archivo de configuración externo llamado i18n.yml.

 

Dentro del tema de estándares y formatos  Symfony ofrece principalmente dos herramientas. La primera es un amplio conjunto de helpers de internacionalización que facilitan la tarea de ofrecer y obtener información del usuario.

La segunda es la forma en que realiza Symfony el mapeo de la base de datos a través de Propel. Para llevar a cabo la localización de una aplicación la base de datos debe permitir almacenar distintas versiones de un mismo contenido. Cada tabla que ofrece información localizada se debe dividir en dos. Una sin ningún tipo de información localizada y otra con toda la información localizada. La segunda tendrá el mismo nombre que la primera pero con el sufijo “_i18n”. Si ambas tablas están relacionadas por una columna “id”, tras generar el modelo con Propel, las consultas realizadas devolverán solamente los resultados relacionados con la “cultura del usuario” actual.

 

En cuanto a la traducción de textos Symfony ofrece el uso de diccionarios. Un diccionario es un archivo en xml que almacena la traducción de las frases del interfaz a un determinado idioma. Para ello se emplea el formato XLIFF (XML Localization Interchange File Format). Este formato define parejas entrada-valor, donde la entrada se corresponde a la frase utilizada en el interfaz, normalmente en el idioma de la cultura por defecto, y el valor a su traducción en el idioma para el que se define el diccionario.  

Por cada nuevo idioma al que deseemos traducir la interfaz deberemos generar uno de estos diccionarios.

Para declarar una frase como traducible se utiliza el helper __(). Symfony sustituye cada frase dentro de este helper por la encontrada en el diccionario correspondiente al idioma indicado en la “cultura del usuario” actual. En el caso de que la cultura actual coincida con la cultura por defecto no se realiza ninguna sustitución.    

 

Esta información se obtuvo del manual de uso de Symfony, Capítulo 13.

Feedo elige Symfony

Posted in Uncategorized by feedorss on the December 14, 2007

He elegido Symfony como framework de trabajo.

Symfony es un framework de desarrollo web en php5 que facilita la creación aplicaciones acordes a la arquitectura MVC (Model View Controller). Entre otras características técnicas destacan: soporte para internacionalización (i18n), uso de helpers, herramientas para validación de formularios mediante archivos de configuración externos, gestión de caché, soporte para URLs limpias (Smart URLs) y scaffolding.

Entre los motivos que me llevaron a su elección frente a otros como Phrame o CakePHP cabe reseñar varios: facilidad para refactorizar el código (característica de mucha utilidad si se producen cambios en algún planteamiento del proyecto), soporte a técnicas como scaffolding que enlazan con las metodologías ágiles de desarrollo (se pretende que el proyecto sirva también para introducirme en el tema), la organización que demuestra la comunidad de software libre que hay detrás del proyecto y la cantidad de documentación disponible en varios idiomas.

Para más información sobre Symfony se pueden consultar los siguientes enlaces:
Ingles:www.symfony-project.org
Español:http://www.symfony.es/

¡Aceptado en el Segundo Concurso de SW Libre!

Posted in Uncategorized by feedorss on the November 16, 2007

Feedo, el agregador RSS vocal ha sido admitido en el Segundo Concurso Universitario de Software Libre.

Aquí podeís ver una lista con todos los participantes en el concurso: http://concursosoftwarelibre.org/node/43