Con el fin de probar Ophal en un caso de uso real, acabo de implementar una prueba de concepto.

El resultado es el pre-alpha de: MeQuejo.PE, que a simple vista parece un agregador de noticias, pero en realidad es un listado de resultados de búsqueda provistos por Google Custom Search API, gracias a un motor de búsqueda con varios criterios personalizados. Dichos resultados son consumidos con la ayuda del módulo Lua Spore.

La implementación de ésta prueba de concepto resultó muy productiva para el proyecto Ophal, ya que móstró la necesidad de una caché estática, para guardar localmente los resultados provistos por el motor de búsqueda. Es así que se añadió una implementación minimalista del módulo Boost, que se basa en el módulo Drupal de mismo nombre. A su vez, se tuvo que implementar soporte para “output buffering” en el core de Ophal, aunque no se utilizó las facilidades ya implementadas por la librería Nutria Seawolf, porque Ophal no necesita un stack de buffers (ala PHP) por el momento.

Y aprovechando que se menciona a Nutria Seawolf, en la implementación de Boost surgió la idea de reorganizar las funciones de la librería, ya que heredar la nomenclatura de PHP no significa necesariamente tener que heredar su desorden. Como es el caso del módulo “fs” (abreviación de Filesystem), que contiene la implementación de funciones estándar de PHP, pero en realidad debería extender al módulo “lfs” (abreviación de Lua FileSystem). En el código fuente se puede apreciar que no resulta muy consistente usar dos objetos de nombre parecido.

En resumen, MeQuejo.PE aportó mucho como caso de prueba para Ophal e hizo notar puntos débiles en al arquitectura de Nutria Seawolf.

¡Bendiciones!