<?xml version="1.0"?>
     <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
     <channel>
      <link>http://www.bitacora.gesbit.com/</link>
      <title>Bitácora de Gesbit - Archivo del autor "David Esperalta" en la bitácora</title>
      <generator>Gesbit</generator>
      <description>Bitácora del gestor de bitácoras Gesbit</description>
      <atom:link href="http://www.bitacora.gesbit.com/rss/" rel="self"
       type="application/rss+xml" />
    
      <item>
       <link>http://www.bitacora.gesbit.com/nuevo-plugin-gbnofollow/</link>
       <guid>http://www.bitacora.gesbit.com/nuevo-plugin-gbnofollow/</guid>
       <pubDate>Thu, 20 Nov 2008 20:05:35 +0100</pubDate>
       <title><![CDATA[ Nuevo plugin GbNoFollow ]]></title>
       <description><![CDATA[<p>Con un peso de 1,54 KB comprimido y una sóla línea de código, se presenta el <a title="Plugin GbNoFollow para Gesbit" href="http://www.wiki.gesbit.com/doku.php/es_downloads_plugins_gbnofollow">plugin GbNoFollow</a>, que, sencillamente, como no podía ser de otra manera, puede usarse para añadir el <a title="Más información en la Wikipedia" href="http://en.wikipedia.org/wiki/Nofollow">atributo "nofollow"</a> a los enlaces que se incluyan en el cuerpo de los comentarios de las bitácoras. El atributo "nofollow", mejor dicho, el valor del atributo "rel", "nofollow", se utiliza por algunos buscadores para "no seguir" ciertos enlaces, con el fin de evitar posibles "enlaces spam", por ejemplo, en los comentarios de los sitios web (escritos por terceros, por decirlo así), y de modo además que se mejore en lo posible la calidad de los resultados de dichos buscadores, al no incluir los sitios web enlazados usando esas técnicas de "spam".</p>
<p>En definitiva, un plugin realmente sencillo, como prácticamente todos los "filtros", que, si le hace falta a alguien, podrá utilizar en su bitácora. Personalmente, no creo que lo utilice, puesto que suelo controlar bastante bien, hasta el momento, los comentarios que recibo, de modo que todos son "amigos", por decirlo así, a los cuales se les permite enlazar lo que quieran, porque confío en ellos. Pero, en fin, ahí queda GbNoFollow para quien quiera usarlo, como digo, y también quien quiera puede echar un vistazo a su código fuente, a su línea de código, al plugin, vaya, a ver qué le parece, si es que le parece algo. ;)</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/gbmobile-un-poco-mas-mobile/</link>
       <guid>http://www.bitacora.gesbit.com/gbmobile-un-poco-mas-mobile/</guid>
       <pubDate>Mon, 17 Nov 2008 08:52:39 +0100</pubDate>
       <title><![CDATA[ GbMobile un poco más "mobile" ]]></title>
       <description><![CDATA[<p><img class="floatleft" src="http://www.bitacora.gesbit.com/archives/images/captura-emulador-opera-mini.png" alt="Captura del emulador del navegador Opera Mini" width="239" height="482" /> El plugin GbMobile para Gesbit es ahora un poco más "mobile". Concretamente, he añadido al tema que se utiliza en el mismo el "tipo de documento" correspondiente a la especificación XHTML Mobile Profile 1.0, y no a la especificación XHTML Strict 1.0 (la misma que los temas "normales" para Gesbit). En realidad el tema no parecía más complicado que cambiar un tipo de documento por otro, puesto que en Gesbit se usa XHTML, y en tema GbMobile se usa únicamente un "subconjunto" de XHTML.</p>
<p>Sin embargo, a la hora de validar las páginas de la bitácora usando el tema GbMobile con el nuevo tipo de documento, me he encontrado conque el <a title="W3C.org" href="http://www.w3c.org">W3C</a> me advertía del uso del atributo "onclick" en ciertos elementos, en concreto, los que tienen que ver con el CAPTCHA de Gesbit, puesto que este permite "recargarse" y "escucharse", y para esto hace uso de los atributos "onclick" y su poquito de Javascript. pero XHTML Mobile Profile 1.0 no pasa por ahí, amigo.</p>
<p>Así que he aprovechado para mejorar un aspecto de la clase CAPTCHA que me viene preocupando desde hace tiempo: la personalización de los elementos del formulario "HTML" en que se muestra la imagen en cuestión, y el resto de código HTML necesario. Ahora, el método "FormFields()" de la clase Captcha de Gesbit permite especificar, entre otras cosas, si se requieren los enlaces para "recargar" y "escuchar" la imagen CAPTCHA, de modo que GbMobile, simplemente, los omite.</p>
<p>Esto no significa que no puedan escribirse comentarios, pero, la mecánica cambia un poco respecto de la habitual en el resto de temas de Gesbit: en el tema de GbMobile no hay "vista previa" del comentario, porque para esto también se usaba cierto atributo "onclick", y, como podrá imaginarse, tampoco es posible "recargar" ni "escuchar" el CAPTCHA. Sin embargo, es posible añadir comentarios, y por supuesto el test CAPTCHA estará ahí si se está usando en la bitácora, que, como sabes, es opcional.</p>
<p>En fin. Termino recomendando la lectura de cierto artículo que me parece muy útil y curioso: <a title="Artículo de Luca Passani" href="http://www.passani.it/gap/">Global Authoring Practices for the Mobile Web</a>, de <a title="Sitio web de Luca Passani" href="http://www.passani.it/">Luca Passani</a>. Y, por cierto, la demostración de Gesbit cuenta con el <a title="Entrada en esta bitácora" href="http://www.bitacora.gesbit.com/el-nuevo-gbmobile-para-gesbit/">plugin GbMobile</a>, y puedes probarlo, si te apetece, en el <a title="Emulador del navegador Opera Mini" href="http://www.operamini.com/demo/">emulador del navegador Opera Mini</a>. Abre el enlace anterior y escribe en el navegador: <a title="Demostración de Gesbit" href="http://www.demo.gesbit.com">www.demo.gesbit.com</a> ¡Que usted lo pase bien! ;-)</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/gzip-y-el-panel-de-administracion/</link>
       <guid>http://www.bitacora.gesbit.com/gzip-y-el-panel-de-administracion/</guid>
       <pubDate>Sun, 16 Nov 2008 20:26:32 +0100</pubDate>
       <title><![CDATA[ GZip y el panel de administración ]]></title>
       <description><![CDATA[<p>¿Cómo funciona realmente la compresión GZip en PHP? El asunto tiene que tener miga, o yo soy muy torpe, porque, no termino de aclararme con este asunto. Sea como sea, he hecho unos cuantos en Gesbit que tienen en parte que ver con la compresión GZip que se utiliza, siempre que esté disponible, en la salida de las páginas de una bitácora, y, ahora también, en el panel de administración de Gesbit.</p>
<p>De hecho, tenía un tanto abandonado el panel de administración en este sentido, y es que, aunque para las páginas de una bitácora procuraba enviar las cabeceras HTTP correspondientes, mediante la clase "FrontEnd" de Gesbit, no era así para los "scripts" del panel de administración, puesto que para estos "scripts" no se utiliza la clase "FrontEnd" en absoluto, pensada sólo para las páginas de las bitácoras.</p>
<p>Sea como sea, trabajando en otra cuestión, me he dado cuenta de que no estaba comprobando correctamente si un agente de usuario acepta la compresión GZip. Concretamente, el validador del <a title="W3C.org" href="http://www.w3c.org">W3C</a> no acepta este tipo de compresión en los documentos para validar, y, había un error cuando se comprobaba esto, de modo que no se habilitaba la compresión Gzip correctamente. Al arreglar esto he trasteado en la clase "FrontEnd" y al cabo he acabado con una clase nueva: "UserAgent".</p>
<p>Como una forma de evitar el duplicado de código, y también para poner ciertas cosas en su sitio. Efectivamente, la clase "FrontEnd" contenía métodos que comprobaban si el agente de usuario aceptaba la compresión Gzip, y, por extensión, si este era el validador del "W3C", métodos estos que quedan mejor en una clase aparte, como es "UserAgent", puesto que se trata de obtener información del agente de usuario. Pero además se evita desde ya cierto duplicado de código.</p>
<p>Y es que, como he dicho, ahora se envían las correspondientes cabeceras HTTP también en los "scripts" del panel de administración, y se ha de comprobar si el agente de usuario acepta la compresión GZip, para habilitarla si es el caso, de modo que también la clase "Admin" hace uso de la nueva clase "FrontEnd", y no tiene que implementar (duplicar) lo necesario para averiguar si el agente de usuario soporta este tipo de compresión o no la soporta.</p>
<p>En definitiva, que, en virtud de estos cambios que relato, Gesbit sirve ya las páginas con compresión GZip, si está disponible (la correspondiente extensión para PHP) y la acepta el agente de usuario. Y que esto mismo se hace en los "scripts" del panel de administración. La clase "FrontEnd" se ha aligerado y existe una nueva clase "UserAgent" que ya es ciertamente útil y acaso puede serlo más aún en el futuro. Y esto es lo que tenía que decir respecto a la compresión Gzip. ;-)</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/gbcache-y-el-checkeo-de-expiracion/</link>
       <guid>http://www.bitacora.gesbit.com/gbcache-y-el-checkeo-de-expiracion/</guid>
       <pubDate>Fri, 14 Nov 2008 15:13:54 +0100</pubDate>
       <title><![CDATA[ GbCache y el checkeo de expiración ]]></title>
       <description><![CDATA[<p>La clase GbCache de Gesbit se encarga, entre otras cosas, de comprobar si existe contenido "cacheado" cuyo tiempo de vida haya expirado, es decir, de modo que borra el contenido del caché cada cierto tiempo, actualmente, el caché de Gesbit expira cada seis horas. Sin embargo, esta funcionalidad tenía un problema, y es que no se me ocurrió otra cosa que comprobar si existía contenido "cacheado" y expirado a cada petición de usuario, siempre que se use el caché de Gesbit, justo antes de enviar el contenido "cacheado" al usuario, o al menos tratar de hacerlo.</p>
<p>Hasta ahora estaba funcionando bien; aparentemente, comprobar si en el directorio del caché existían archivos expirados, lo que significa revisar todos los archivos de dicho directorio, no llevaba mucho tiempo, aunque, como un egregio lector de esta bitácora apuntaba en <a title="Comentario en esta bitácora" href="http://www.bitacora.gesbit.com/es-un-fallo-o-una-funcionalidad/#comment-63">un comentario</a>, quizá era demasiado revisar esta cuestión a cada petición de los usuarios, puesto que, si la bitácora tenía muchas visitas, muchos archivos "cacheados", esto podía implicar un consumo excesivo de recursos. No quedó claro cómo de excesivo, pero, ciertamente, tampoco se puede dejar de pensar en ello.</p>
<p>Mientras se implementa o no en Gesbit una especie de "Cron", una especie de "gestor de tareas", se me ha ocurrido algo muy sencillo, pero, que, no se me ocurrió en su momento, y es utilizar una variable de sesión para comprobar si ya hemos comprobado el contenido del caché expirado para una determinada sesión de usuario. Es decir, ahora no se comprueba la expiración del caché a cada petición de usuario, sino a cada sesión de usuario, quiere decirse, que nos ahorramos todas las peticiones del mismo usuario, aunque, por supuesto, otros usuarios podrán ejecutar la limpieza del caché, en otra sesión de usuario.</p>
<p>Además, he "movido" el punto en que se comprueba si existe contenido en el caché expirado o no. Efectivamente, este punto es justo el momento en que se va a proceder a enviar contenido cacheado al usuario, por supuesto, si antes ha sido guardado. El cambio consiste en comprobar el caché expirado sólo si la petición del usuario es "cacheable", lo que quiere decir que es posible que exista contenido cacheado para ella. Si la petición de usuario no es cacheable, tampoco se comprobará el caché expirado, y no como se hacía hasta ahora, que se comprobaba en todo caso.</p>
<p>La verdad es que apenas si se nota diferencia. Mejor dicho, no se nota, porque, como he dicho arriba, tampoco se notaba ninguna "perturbación" por comprobar el caché expirado a cada petición del usuario, pero, es de suponer (o al menos así lo he supuesto) que algo se habrá ganado con esta medida. Sobre todo, si llega el caso de que una determinada bitácora gestionada con Gesbit, y que use el caché de contenido integrado, cuenta con una cantidad de visitas formidable. Quizá hasta podría realizarse alguna prueba sobre este asunto, pero, de momento, quédese como está.</p>
<p>Ahora bien, acaso el egregio lector a que me he referido esté leyendo esto, y quisiera preguntarle, ¿qué te parece, maestro, esta solución "ad hoc"? ¿Puede valer o qué? ;-)</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/tenemos-nuevo-tema-kubrick/</link>
       <guid>http://www.bitacora.gesbit.com/tenemos-nuevo-tema-kubrick/</guid>
       <pubDate>Tue, 11 Nov 2008 00:57:52 +0100</pubDate>
       <title><![CDATA[ Tenemos nuevo tema: Kubrick ]]></title>
       <description><![CDATA[<p>Me complace anunciar que Gesbit cuenta con un nuevo tema: Kubrick, basado en el tema "Tradition" de Gesbit, pero, inspirado en uno muy popular de <a title="Wordpress.org" href="http://wordpress.org/">Wordpress</a>: Kubrick. Esta vez no se trata de un desarrollo propio, sino que Kubrick lo ha llevado a cabo mi amigo y compañero del <a title="ClubDelphi.com" href="http://www.clubdelphi.com">ClubDelphi</a>, <a title="Pabernosmatao.com" href="http://pabernosmatao.com/">Julián Torres</a>, tal como comenta en una reciente <a title="Comentario de Julián Torres en esta bitácora" href="http://www.bitacora.gesbit.com/gesbit-11-pink-floyd-estable/#comment-94">entrada de esta bitácora</a>. Lo cierto es que GbKubrick luce muy bien, incluso mejor que el tema "Tradition" que se encuentra en Gesbit de forma predeterminda, como alternativa al tema "Simple", también incluido en Gesbit "de serie".</p>
<p>Si quieres, puedes ver el tema Kubrick en el <a title="Blog de Julián Torres" href="http://pabernosmatao.com/blog/">blog de Julián Torres</a>, que, hay que decirlo, es la segunda persona de que tengo constancia que hace uso de Gesbit (*), además de yo mismo en esta bitácora y otras bitácoras que llevo a cabo. Espero que pronto Kubrick esté disponible en la <a title="Wiki del gestor de bitácoras Gesbit" href="http://www.wiki.gesbit.com/doku.php/es">wiki de Gesbit</a>, y, desde aquí agradezco de nuevo a Julián Torres que se tomara el trabajo en su desarrollo. ¡Muchas gracias Julián! Doblemente además, por confiar en Gesbit para tu blog, y por el desarrollo de Kubrick. Bueno, y, también por otras cosas, por estar ahí, simplemente, que no es poco. Qué pelota soy, je je je. XD</p>
<p>(*) En realidad me consta que otra persona ha hecho también algunos pinitos con Gesbit, y me hizo cierta ilusión saberlo. Pero el blog de esta persona no está publicado, y yo no debo tampoco, creo, darlo a conocer. Sea como sea, se trata de las únicas personas que yo conozco, casi personalmente, que se han dispuesto a usar Gesbit. ¡Ellos sabrán lo que hacen! :D</p>
<p><strong>Actualización:</strong> Ya es posible encontrar el <a title="Wiki del gestor de bitácoras Gesbit" href="http://www.wiki.gesbit.com/doku.php/es_downloads_plugins_kubrick">tema Kubrick en la wiki de Gesbit</a>.</p>]]></description>
      </item>
      
     </channel>
    </rss>