Todas las páginas de una bitácora gestionada con Gesbit, o prácticamente todas ellas, ofrecen la posibilidad de suscribirse a sus novedades, por decirlo así, mediante el correspondiente "Feed RSS". A veces se ofrecen enlaces de forma explícita, por ejemplo, cuando se está leyendo el archivo de entradas de una determinada categoría. Pero, también se ofrece la posibilidad de suscribirse a un Feed mediante "meta enlaces", que reconocen los navegadores, y que, por ejemplo Firefox, muestra en la barra de direcciones, a la izquierda, con el típico icono de los "Feeds RSS".
Todo esto está muy bien, pero, se producían una serie de incongruencias, como, por ejemplo, la posibilidad de suscribirse a una determinada página de una categoría. Esto es, navegando por la página 2 del archivo de una categoría, podía obtenerse un Feed partiendo de la siguiente URL:
http://www.url-bitacora.com/category/desarrollo/page/2/rss/
Lo que no tiene demasiado sentido, ¿verdad? O el Feed de una fecha dada, por ejemplo:
http://www.url-bitacora.com/2008/5/rss/
Tampoco tiene demasiado sentido, sobre todo si fuera una fecha pasada, puesto que no habría ya entradas dentro de esa fecha para mostrar en el Feed, dicho de otro modo, siempre se mostrarían las últimas entradas de esa fecha... sería una especie de Feed "muerto" por decirlo así. Pues bien. Esto puede ser un "fallo" de la clase "GbRssFeed", encargada de estos menesteres, pero, en todo caso, he comenzado por otro sitio a tratar de arreglarlo.
Por ejemplo, desde el mismo tema de Gesbit, se puede discriminar si el usuario está navegando por el archivo de entradas de una determinada fecha, y, si es así, no mostrar al usuario el enlace para suscribirse al correspondiente Feed. Esto estaba haciendo hasta hoy mismo en el tema "por defecto" en Gesbit, pero, al cabo he decidido ir un poco más allá y hacer cambios en el método "G::SiteSingleFeedUrl()".
Efectivamente, este método imprime el "Feed" de la página de una bitácora de Gesbit, sea esta cual sea, prácticamente, y puede usarse tanto para imprimir enlaces en los temas de Gesbit, de los que ve el usuario, y también uno de los "meta enlaces" de que hablé más arriba, que luego puede usarse directamente desde el navegador, por ejemplo Firefox, como dije.
Ahora se comprueba desde este método que el usuario está navegando por el archivo de una categoría, por ejemplo, y que está leyendo una página, concretamente, y el Feed resultante es el que apunta a la categoría en cuestión, de forma que no añade a su URL la información relativa a la página que el usuario está viendo. De igual forma se hace si el usuario navega por el archivo de una fecha.
En este último caso el Feed que retorna el método susomentado es el Feed principal de la bitácora, y, no sólo no incluye en su URL la información acerca de la fecha, sino que tampoco lo haría si el usuario además estuviera viendo una página concreta de dicha archivo de entradas de una fecha. Creo que de momento es suficiente, es decir, no quiero meterme de momento con la clase "GbRssFeed".
Podría ser que esta misma clase se encargara de comprobar si la URL de un Feed es "válida", por decirlo así, e incluso redirigir al usuario a la URL "correcta" (sin información sobre páginas o fechas), pero, en todo caso el primer problema se seguiría dando: no es cuestión de imprimir en los temas URLs que luego no servirían y que tendrían que ser validadas y corregidas. ¿Verdad?
Sobre si es la clase "GbRssFeed" la encargada de dilucidar o no si la URL de una petición resulta un feed válido o no, la verdad es que no lo tengo muy claro. Quizás la propia clase "Query" (que entra en juego antes) podría encargarse de ello. Disculpa si me lío un poco, pero, según escribo esto voy dándole vueltas al asunto. Creo que no me viene mal hacerlo así. Pero sigo sin verlo claro. Ya veremos. Todo se andará.
Publicada el 24/5/2008 20:19 PM por David Esperalta
Suscribirse a esta entrada - URL para Trackbacks