PaaSOSUn problema, una solución

PaaSOS, Diseñando un nuevo módulo tuiRssReader (Parte XIV)

Lo prometido deuda… continuamos con la serie de artículos. Hoy toca entender como se ha resuelto el principal escollo en nuestro lector, el parser xml para leer e incorporar la información a nuestro lector Rss.

Por un lado tenemos nuestro lector con el modelo de datos ya definido, por otro las fuentes rss en distintos formatos;

  • Una de las opciones es crear un conjunto de funciones y procedimientos que realicen las labores de parser (echamos de menos el objeto TCP/IP en Velneo). El problema es que si lo realizamos de esta forma habría que implementar toda la funcionalidad necesaria para leer todos los posibles formatos Rss existentes en el mercado (que no son pocos).
  • Otra era utilizar un parser “Abierto” y multiplataforma para estas mismas funciones, haciendo de intermediario entre las fuentes Rss y Velneo. Implicaría tener que distribuir el parser con nuestra solución y estar invocando comandos que extrajesen la información deseada.
  • Y por último, la que hemos elegido. Desde nuestro punto de vista la mas simple. Utilizar SimplePie para leer las fuentes Rss y transformarlas a un formato adecuado para cualquier plataforma; “Texto plano”.

Para nuestra implementación se han creado tres ficheros php que son capaces de transformar una fuente Rss en un fichero plano o visualizarlo en el navegador;

  • header.php; genera como resultado un fichero texto plano con el encabezado Rss
  • items.php; genera como resultado un fichero texto plano con los elementos Rss
  • index.php; Visualiza la fuente Rss mediante un formato claro y conciso.
    Para entender como se han codificado estas tres páginas php sirva como ejemplo parte del fichero header.php. Hemos de recurrir a los ejemplos de SimplePie para entender su API y al siguiente fragmento de código para entender el montaje:

image 

Cuando se invoca desde la web (http://rss.tipesoft.com/simplepie/rss/header.php?feed=cloudcomputing.blogspot.com/feeds/posts/default) pasándole como parámetro el feed el nos retorna la cabecera en formato texto plano delimitado por el carácter |

image

Otro caso seria el de items.php (http://rss.tipesoft.com/simplepie/rss/items.php?feed=cloudcomputing.blogspot.com/feeds/posts/default)

image
Como podéis apreciar simplemente obtenemos los los elementos de la fuente Rss y los procesamos. Para extraer un texto plano en base al origen HTML utilizamos la clase html2text.

image

Como os podéis imaginar integrar estos ficheros va a resultar relativamente sencillo en Velneo ya que están pre-procesados a nuestra conveniencia.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *