<?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 de la categoría "Plugins" en la bitácora</title>
      <generator>Gesbit</generator>
      <description>Bitácora del gestor de bitácoras</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-gbanalytics/</link>
       <guid>http://www.bitacora.gesbit.com/nuevo-plugin-gbanalytics/</guid>
       <pubDate>Thu, 01 Jan 2009 01:45:02 +0100</pubDate>
       <title><![CDATA[ Nuevo plugin GbAnalytics ]]></title>
       <description><![CDATA[<p><img class="floatleft" src="http://www.bitacora.gesbit.com/archives/images/logotipo-google-analytics.png" alt="Logotipo de Google Analytics" width="144" height="104" /> De acuerdo, no es la bomba, no se trata de un plugin que vaya a asombrar al mundo ni nada por el estilo, pero, lo cierto es que tiene cierta utilidad, como lo es usar en tu bitácora el servicio que ofrece <a title="Sitio web de Google Analytics" href="https://www.google.com/analytics/">Google Analytics</a>.</p>
<p>Basta conque proporciones al plugin tu clave "UA" (que te proporciona Google Analytics), bien sea por medio del archivo de configuración del plugin, bien sea mediante el formulario de opciones, para que GbAnalytics añada el código Javascript necesario en las páginas de tu bitácora.</p>
<p>Puedes descargar el plugin GbAnalytics <a title="Wiki de Gesbit" href="http://www.wiki.gesbit.com/doku.php/es_downloads_plugins_gbanalytics">desde la wiki de Gesbit</a>. Lo dicho, nada del otro mundo, pero, útil, claro está, siempre que uses Google Analytics. <img src="http://www.bitacora.gesbit.com/gbaddon/plugins/gbsmileys/images/smile.gif" alt="Smiley"
              width="18" height="18" /></p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/presentando-el-plugin-gbblogsearch/</link>
       <guid>http://www.bitacora.gesbit.com/presentando-el-plugin-gbblogsearch/</guid>
       <pubDate>Sat, 13 Dec 2008 21:50:32 +0100</pubDate>
       <title><![CDATA[ Presentando el plugin GbBlogSearch ]]></title>
       <description><![CDATA[<p>Como sabes, he venido hablando sobre los Widgets del escritorio de Gesbit <a title="Entrada en esta bitácora" href="http://www.bitacora.gesbit.com/widgets-en-el-escritorio-de-gesbit/">en esta</a>, <a title="Entrada en esta bitácora" href="http://www.bitacora.gesbit.com/ya-estan-aqui-los-widgets-de-gesbit/">esta</a> y <a title="Entrada en esta bitácora" href="http://www.bitacora.gesbit.com/mas-sobre-los-widgets-de-gesbit/">esta otra</a> recientes entradas. En la última que enlazo incluso adelanté el código fuente del <a title="Plugin GbBlogSearch para Gesbit" href="http://www.wiki.gesbit.com/doku.php/es_downloads_plugins_gbblogsearch">plugin GbBlogSearch</a>, que, viene a ser una especie de "ejemplo de Widget de escritorio", aunque, ciertamente, tiene cierta funcionalidad, o sea que puede ser práctico para realizar búsquedas en una bitácora, directamente, desde el panel de administración. Sea como sea, esto significa que el "sistema de Widgets" están en marcha, después de consultarlo con la almohada (qué bonita palabra, almohada).</p>
<p>Efectivamente, el asunto está planteado de forma que "todo queda en casa", me estoy refiriendo a la configuración de los Widgets, puesto que las posiciones de estos, además de otros posibles "estados" de los mismos, se guardan en el navegador del usuario en sendas "cookies". Esto puede tener y de hecho tiene sus ventajas y desventajas. Por ahora van ganando las ventajas. De momento todo queda de forma bastante sencilla, y ha sido de absoluta ayuda el <a title="Entrada en mi bitácora personal" href="http://www.bitacora.davidesperalta.com/jquery-easywidgets/">plugin Easy Widgets para jQuery</a>, y más aún que yo mismo desarrolle este plugin, pues he podido ir trasteando con el plugin y con una implementación suya: en los Widgets de Gesbit.</p>
<p>Esto de los Widgets en el escritorio de Gesbit me lo he tomado desde un principio como una forma de dar otro aire al aspecto del escritorio. Creo que esto se ha conseguido, y que los Widgets famosos quedan bastante bien. Además, es posible que surga algún plugin, además del que presento en esta entrada, que logre aportar cierta funcionalidad y pueda resultar útil. Sea como sea, ha sido divertido, han sido unos días muy entretenidos. Para terminar me gustaría decir que he podido probar el invento en el navegador <a title="Sitio web de Konqueror" href="http://www.konqueror.org/">Konqueror</a>, algo que me preocupaba, pues todo en Gesbit funciona también en este navegador (bueno, todo, todo, no, el editor TinyMCE no funciona en Konqueror), pero, no suelo probarlo como en otros.</p>
<p>Y eso es todo por el momento. ¡Que tengas un buen día! ¡O una buena noche! :)</p>
<p><strong>Actualización:</strong> He instalado el plugin en la <a title="Demostración del gestor de bitácoras Gesbit" href="http://www.demo.gesbit.com/es/gbadmin/">bitácora de demostración</a>, por si quieres echar un vistazo.</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/mas-sobre-los-widgets-de-gesbit/</link>
       <guid>http://www.bitacora.gesbit.com/mas-sobre-los-widgets-de-gesbit/</guid>
       <pubDate>Fri, 12 Dec 2008 22:43:13 +0100</pubDate>
       <title><![CDATA[ Más sobre los Widgets de Gesbit ]]></title>
       <description><![CDATA[<p>Me ha costado un Widget, quiero decir un huevo, pero, parece que vamos adelante con el asunto que últimamente me traigo entre manos. Los Widgets, quiero decir. Efectivamente, Gesbit cuenta ya con sendas clases "GbWidget" y "GbWidgets", que son las utilizadas no ya para "imprimir" los Widgets delpropio Gesbit, pero, también los de los plugins que se apunten a la reciente acción añadida para tal efecto. No creas, lo de menos ha sido el asunto de las clases. Y temo que me esté tirando a la piscina desde demasiado alto. Verás.</p>
<p>Lo que me ha costado un Widget, concretamente, un plugin que he llevado a cabo a modo de ejemplo (luego lo verás), ha sido el problema de la "desinstalación" de dicho Widget. Resulta que el <a title="Página en mi bitácora personal" href="http://www.bitacora.davidesperalta.com/jquery-easywidgets/">plugin jQuery Easy Widgets</a> puede guardar las posiciones y ciertos "estados" de los Widgets en varias "cookies". Así, cuando se añade un nuevo Widget a través de un plugin, Easy Widgets le tiene en cuenta, como no podía ser de otro modo, y guarda también sus "opciones" en las "cookies" correspondientes. Ahora bien, ¿qué pasa cuando se desinstala el Widget de marras? ¿Y qué pasa si no se desinstala (no se "desactiva") sino que se borra a lo bruto?</p>
<p>No era un asunto baladí, porque, era posible que se fueran acumulando opciones de Widgets en las "cookies" que, realmente, no tenían ningún sentido luego de que un Widget ya no se encontrara disponible. Así que he tomado varios caminos, esto ha sido lo que me ha costado un Widget de verdad, ¡llegando a escribir cierta solución primero en PHP y luego en Javascript, a partir de la primera! Y al cabo me he quedado con esta segunda, y no implementada en Gesbit, sino como una opción más en el plugin Easy Widgets: la opción de "limpiar" las "cookies" de modo que no queden "residuos" de Widgets inexistentes.</p>
<p>Me da un poco de miedo, porque, la solución en PHP (que era la misma exactamente) es algo más rápida que en Javascript. Sin embargo, el plugin Easy Widgets que llevo a cabo, opcionalmente, permite el uso de "cookies" para almacenar información, y, puesto que esto es así, tal vez es el más indicado para llevar a cabo la limpieza correspondiente, como el principal interesado en que las "cookies" contengan información válida, y porque además es este plugin quien trabaja directamente con las cookies, y no Gesbit, que, de momento, delega completamente esta tarea en el plugin para jQuery que estoy desarrollando.</p>
<p>Dicho esto, ¡el asunto parece que funciona! ¿Quieres ver el plugin "GbSearchBlog" que me he "inventado" a modo de ejemplo de Widgets para el escritorio de Gesbit? Helo aquí, todo se resume en un método:</p><div class="gbhighlighcode"><div class="sourcecode"><pre class="php">  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ActionCallback<span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$actionID</span>, <span style="color: #0000ff;">$args</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$actionID</span> == GBPLUGINS_ACTION_DASHBOARD_WIDGETS<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
      <span style="color: #0000ff;">$widget</span> = <span style="color: #000000; font-weight: bold;">new</span> GbWidget<span style="color: #66cc66;">&#40;</span>
        GBBLOGSEARCH_ID,
        GBBLOGSEARCH_COLUMN
      <span style="color: #66cc66;">&#41;</span>;
      <span style="color: #0000ff;">$widget</span>-&gt;<span style="color: #006600;">SetContent</span><span style="color: #66cc66;">&#40;</span><a href="http://www.php.net/sprintf"><span style="color: #000066;">sprintf</span></a><span style="color: #66cc66;">&#40;</span>
       GBBLOGSEARCH_CONTENT, <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">r</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Search'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
      <span style="color: #0000ff;">$widget</span>-&gt;<span style="color: #006600;">SetTitle</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">r</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Blog search'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
      <span style="color: #0000ff;">$widget</span>-&gt;<span style="color: #006600;">SetOptions</span><span style="color: #66cc66;">&#40;</span>GBBLOGSEARCH_OPTIONS<span style="color: #66cc66;">&#41;</span>;
      <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">$widget</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">null</span>;
  <span style="color: #66cc66;">&#125;</span></pre></div></div>
<p>Como ves, el plugin espera la acción correspondiente, y, cuando se encuentra con ella, crea un nuevo objeto de la clase "GbWidget" que se limita a retornar a Gesbit. Ahí donde lo ves, sin dejar de ser simple, cumple cierto cometido, como es permitir realizar búsquedas en la bitácora, directamente, desde el panel de administración. No es un prodigio de funcionalidad, pero, creo que puede dar una idea. ¿No te parece? Gesbit espera de la acción en cuestión espera uno o varios Widgets, que serán añadidos al escritorio de gestor de bitácoras.</p>
<p>Gesbit no envía (de momento) ningún argumento. El plugin puede determinar el título del Widget, sus opciones (cualquiera o todas estas: "collapsable", "collapse", "editable", "movable", "removable", "confirmClose"), exactamente las que espera el plugin jQuery Easy Widgets, digo, el plugin también determina el contenido del Widget (texto plano o HTML), un identificador (obligatorio) y el número de columna donde se alojará el Widget "de entrada". Está por ver qué ocurre con Widgets más complejos, pero, al menos estos sencillos "funcionan" muy bien. Aunque, por otro lado, tal vez debería dejar de pensar mal, pues a veces no se acierta.</p>
<p>Como curiosidad, cuando Gesbit añade los Widgets al escritorio, en uno de ellos, el de los "enlaces rápidos", se encuentra una especie de formulario de edición, que, precisamente, permite mostrar u ocultar los Widgets a voluntad. Con los Widgets de los plugins se hace exactamente lo mismo, contando también con esta opción. Si bien es cierto que esto me deja todavía un poco preocupado, porque, se consigue imprimiendo los Widgets de todas formas, encargándose de ocultarlos el plugin jQuery Easy Widgets. Esto quiere decir que un Widget que haga una consulta SQL, por ejemplo, la hará de todas formas, se muestre o no.</p>
<p>Esto podría evitarse acaso no imprimiendo el Widget "oculto". De hecho es perfectamente posible, desde el punto y hora en que Gesbit tiene acceso a las "cookies" correspondientes y por tanto sabe qué Widget está ocultado en un momento dado. Pero, entonces la implementación llevada a cabo en este sentido se vendría abajo. Habría que buscar una forma de que desde los "enlaces" rápidos pudieran "mostrar" widgets que en principio no se han impreso. Es factible, creo, mediante HTTP en segundo plano, el amigo AJAX, pero, de momento no me lo he planteado. ¡Si es que no lo estoy haciendo ahora mismo!</p>
<p>Pero, creo que voy a dejarlo por hoy. De hecho, pensaba publicar estos últimos cambios hoy mismo, y el plugin "Widget" que he llevado a cabo a modo de ejemplo, pero, creo que voy a esperar a mañana, si es que consigo descansar, para sopesar un poco todo este asunto, sobre todo esto último que he mencionado. ¡Faltaría ahora que después de que me costase un Widget el trabajo de hoy este no sirviera para nada! Menos mal que al menos quedará en el plugin Easy Widgets, pues todo indica que las cosas se pueden hacer de muchas formas, al menos de las dos apuntadas, y así dependerá de lo que más nos interese hacerlo de una forma u otra. Y ya no digo más, que, luego todo se sabe. :)</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/evitando-el-cache-de-contenidos/</link>
       <guid>http://www.bitacora.gesbit.com/evitando-el-cache-de-contenidos/</guid>
       <pubDate>Tue, 09 Dec 2008 21:13:55 +0100</pubDate>
       <title><![CDATA[ Evitando el caché de contenidos ]]></title>
       <description><![CDATA[<p>Ayer hablaba del nuevo <a title="Entrada en esta bitácora" href="http://www.bitacora.gesbit.com/nuevo-plugin-gbiexploreradvert/">plugin GbIExplorerAdvert</a> para Gesbit, y hoy mismo he descubierto un problema con el mismo, que, si bien no se trata de un error más o menos grave, sin embargo, afecta a su funcionalidad. El problema tenía que ver con el caché de contenidos en Gesbit. Al haber desarrollado el plugin sin usar esta característica opcional de Gesbit, no me había dado cuenta, pero, al probar el plugin en mi propia bitácora, que sí que usa el caché de contenidos de Gesbit, he podido comprobar que el plugin no funcionaba como se esperaba, mejor dicho, funcionaba bien, pero, el caché de contenidos se metía por medio y lo jorobaba todo.</p>
<p>Recordemos. Básicamente, el plugin GbIExplorerAdvert ha de mostrar una advertencia a los usuarios que usen Internet Explorer, recomendándoles el uso de Mozilla Firefox. Esta advertencia ha de mostrarse sólo una vez, de modo que el plugin guarda una "cookie" para evitar mostrar la advertencia en sucesivas ocasiones. La "cookie" expirará en cinco días, pasados los cuales la advertencia podrá mostrarse otra vez, para luego repetirse este ciclo. Ahora bien, en el momento en que este plugin prepara la advertencia, esta se "imprime" junto al resto de código HTML de la correspondiente petición de usuario, y esta es guardada en el caché de contenidos.</p>
<p>Entonces, en la siguiente petición del mismo usuario, aparecerá de nuevo la advertencia... no porque el plugin la imprima de nuevo, sino porque la respuesta a dicha petición guardada en el caché de contenidos incluye la advertencia. En cuanto me he dado cuenta he visto la solución, que, pasa por deshabilitar el caché de contenidos para esa petición de usuario en concreto, de modo que la advertencia no se guarde en el caché. Sin embargo, nótese que el plugin sigue funcionando de la misma forma que antes, es decir, aunque la respuesta no se guarde en el caché, la siguiente sí podrá hacerlo, sin la advertencia del plugin, porque este no la habrá llegado a imprimir.</p>
<p>El plugin sigue estableciendo y comprobando la "cookie" correspondiente. Cuando el plugin imprime la advertencia significa que la "cookie" no está establecida, de modo que el plugin imprime la advertencia, evita que la respuesta al usuario se guarde en el caché, y establece la "cookie" que sirve de bandera. En sucesivas peticiones, por lo tanto, la advertencia no se mostrará, pero, las peticiones del usuario sí serán guardadas en el caché normalmente. Yo pensaba que la solución ya existía en Gesbit, es decir, que ya había forma de deshabilitar el caché de contenidos para una determinada respuesta, sin embargo, debí ponerme con ello pero no concreté nada.</p>
<p>Ahora sí, la clase "GbCache" incorpora métodos para deshabilitar, habilitar y conocer si el caché ha sido deshabilitado o no. Y además he preparado los correspondientes métodos en la clase "Gb", que son, precisamente, los que ya está usando el plugin "GbIExplorerAdvert", de modo que ahora este plugin funciona como se espera, se use o no el caché de contenidos en Gesbit. Huelga decir que esta situación puede darse en otros plugins, y de ahí los cambios en la clase "GbCache". Parece que contar con la posibilidad de deshabilitar el caché de contenidos para una petición en concreto es necesario a veces, como queda demostrado con el plugin GbIExplorerAdvert.</p>]]></description>
      </item>
      
      <item>
       <link>http://www.bitacora.gesbit.com/nuevo-plugin-gbiexploreradvert/</link>
       <guid>http://www.bitacora.gesbit.com/nuevo-plugin-gbiexploreradvert/</guid>
       <pubDate>Tue, 09 Dec 2008 01:32:10 +0100</pubDate>
       <title><![CDATA[ Nuevo plugin GbIExplorerAdvert ]]></title>
       <description><![CDATA[<p>Efectivamente, tenemos un nuevo plugin para Gesbit. Se trata del plugin <a title="Más información y descarga" href="http://www.wiki.gesbit.com/doku.php/es_downloads_plugins_gbiexploreradvert">"GbIExplorerAdvert"</a>, que, básicamente, muestra cierta advertencia al lector de una bitácora, si este usa el navegador Internet Explorer. En realidad se trata de recomendar el navegador <a title="GetFirefox.com" href="http://www.getfirefox.com/">Mozilla Firefox</a> a dicho usuario, proponiéndole un enlace desde el que podrá informarse mejor y descargarlo. Abajo puede verse una captura de dicha advertencia:</p>
<div class="center"><a class="lightbox" title="Captura de la advertencia de GbIExplorerAdvert" href="http://www.bitacora.gesbit.com/archives/images/captura-gbiexploreradvert.png"><img src="http://www.bitacora.gesbit.com/archives/images/captura-gbiexploreradvert-mini.png" alt="Captura de la advertencia de GbIExplorerAdvet" width="430" height="276" /></a> <br /> <em>(Haz clic en la imagen para agrandarla)</em></div>
<p>La advertencia en cuestión se mostrará al usuario una sola vez cada cinco días, dicho de otro modo, al mostrar la advertencia una "cookie" es almacenada en el navegador del usuario, y esta "cookie" caducará a los cinco dias, de modo que "GbIExplorerAdvert" no la encontrará, mostrando de nuevo la advertencia al usuario. Vale. Es un plugin "chorri", en el sentido de que su utilidad es "superficial", pero, yo me he entretenido haciéndolo, qué quieres que te diga, y tal vez resulte curioso para alguien además. :)</p>]]></description>
      </item>
      
      <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>
      
     </channel>
    </rss>