De actualización en actualización, WordPress 2.0.7

Mientras el desarrollo de WordPress se va dirigiendo hacia su versión 2.1, de la que ya tenemos primeras betas, la gente responsable de este estupendo CMS ha lanzado hoy una nueva revisión de la rama 2.0. Concretamente, esta séptima revisión incorpora cambios menores y resuelve básicamente un problema con los feeds y PHP 5.2 y fallos de seguridad detectados.

El proceso de actualización desde la versión anterior, la 2.0.6 es prácticamente inmediato y no es necesario sobreescribir todos los ficheros distribuidos en la 2.0.7. De acuerdo con el blog de desarrollo, bastará para pasar de la 2.0.6 a la 2.0.7 sobreescribir los cinco ficheros modificados, a saber:

Continue reading

WordPress 2.0.6

Hoy toca actualizar un poco. La gente de WordPress ha sacado nueva revisión 2.0.6 de la rama 2.0 del excelente gestor de contenidos WordPress, que lleva el peso de este blog.

De los cambios que anuncian son los típicos de una revisión: actualización de fallos de seguridad y poco más. El procedimiento es el habitual, backups, desactivar plugins, parchear archivos y reactivar todo de nuevo tras pasar por la página de actualización, tal como ya pasó al subir a la 2.0.5

Con lo que me lo he pasado en grande y no contaba era con que al actualizar el plugin Sidebar Modules. Al reactivarse se ha borrado su configuración, lo cual es una putada ya que hay que reconfigurar toda la barra lateral de la derecha. Menos mal que el backup de la base de datos me ha permitido buscar la entrada en la tabla de opciones referente a la configuración de los sidebar modules y recuperar la cosa. Si no, me muero del asco… De todos modos, según indica el desarrollador del plugin en su blog, la siguiente versión del plugin, que ya estoy tardando en descargar y poner en marcha corrige este problema.

Por eso la importancia de hacer copias de seguridad de todo…

TheEfrit 2.0

El bueno del gordo rojo nos ha traído hoy tema nuevo para el blog. El tema está basado en el fantástico trabajo de Andreas Viklund en su tema Andreas04, adaptado a WordPress y con soporte para múltiples plugins. Además, incorpora efectos y pijaditas hechas con la increíble librería Script.aculo.us basada en Prototype. Todos los efectos de desplazamiento de capas están basados en efectos de esta librería para Javascript. El tema está inicialmente pensado para un mínimo de 1024 píxeles de ancho, aunque se ve mejor con 1280. En caso de que una entrada tenga contenidos como fotografías con anchos mayores, al pasar el ratón por encima, la entrada tratará de redimensionarse temporalmente para mostrar todo el contenido. Así uno practica un poco con el modelo de eventos de Prototype.

Este tema está aún incompleto, le falta ajustar un poco colores y fondos, pero en cuanto a distribución de contenidos creo que se va a quedar así.

En cuanto a los plugins, he añadido soporte para Gengo, un plugin capaz de mantener un blog en múltiples idiomas. Por ese motivo ahora las URLs de las entradas y demás llevan añadido el código de idioma, «es» por ahora. La barra lateral está gestionada mediante Sidebar Modules y la búsqueda y navegación por el archivo y categorías incorpora llamadas mediante Ajax para mejorar la búsqueda de artículos anteriores. Siguiendo con las pijaditas de Ajax, también he incorporado otro plugin (AJAX Comments) para enviar comentarios de forma directa sin necesidad de recargar la página. Alguno de estos plugins han tenido que ser retocados para que funcionen correctamente. A ver si en breve puedo dedicar un par de entradas a las modificaciones al tiempo que notifico a sus creadores los cambios por si les interesan las correciones.

Por ahora, pasen ustedes un buen solsticio de invierno y si les salta alguna peta, pues se agradecen comentarios.

Ventanas modales, bloqueo de escritorio y Windows Xp

Esto es lo que me ha pasado hoy en el equipo de trabajo al bloquearlo mientras instalaba un certificado de seguridad. La ventana del asistente de instalación es modal «siempre encima» y nada, se lo ha tomado muy a pecho. Los botones de acción se podían pulsar y todo y el cuadro de diálogo se cerraba sin problemas. Tiene su gracia.

Ventana modal y bloqueo por contraseña en Windows Xp

No creo que sea más que un detalle anecdótico y no tendrá muchas implicaciones de seguridad. Y sí, me toca usar Windows…

Huevos de pascua en AmaroK

Mi reproductor de música AmaroK en modo aleatorio ha tenido a bien escoger la pista Amarok de Mike Oldfield y cuando se ha puesto a reproducirla me he encontrado con esta sorpresita:

AmaroK, el mejor reproductor de música reproduciendo Amarok, de Mike Oldfield

Sabía que el nombre del reproductor se lo debía a esta canción que inspiró a Mark Kretschmann, uno de sus desarrolladores, tal como cuentan en su FAQ, pero no me esperaba encontrarme con esta sorpresita. Buscando un poco por Google, he encontrado también que en la propia canción-pista-disco (dura una hora, un disco con una única pista) hay hacia el minuto 48 un huevo de pascua en forma de código morse, tal como cuentan en The Easter Egg Archive. Al parecer con una guitarra deletrean «F*ck off, RB«, en referencia a Richard Branson, señor de Virgin. Amarok fue uno de sus últimos discos en Virgin antes de cambiar a Warner Music.

Código abstraído

Leyendo en The Daily WTF, un blog sobre burradas de programación que la gente se va encontrando en sus trabajos, me encontré con esta maravilla digna de ser enmarcada:

[java]
public abstract class HomePage extends BasePage {
try {
public abstract Integer getCount();
public abstract void setCount(Integer int);
} catch (Exception e) {
// catch (Exception e)
}
}
[/java]

El duro esfuerzo de varias semanas de trabajo de un empleado supuestamente cualificado con 15 años de experiencia. La semana siguiente por lo visto fue despedido. Y con razón.

Internet Explorer, CSS y fondos PNG transparentes

Tras ver cómo se ve el diseño del blog en Internet Explorer y acordarme de las políticas de los chicos de Redmond en cuanto a compatibilidad con los estándares del W3C me he puesto a sacar el libro de recetas y a resolver el entuerto. Por fortuna sólo era problema de los fondos, la distribución de contenidos se ve bien en Explorer.

El problema con Internet Explorer es que no soporta directamente el formato gráfico PNG con canal alfa de transparencia, que hace que en navegadores de verdad se muestren bonitas transparencias. Sin embargo existen varios trucos para parchear el problema. Para ello hay que recurrir a los filtros de DirectX que se pueden llamar vía CSS. Si pongamos que tenemos por ejemplo un elemento con un fondo con una imagen PNG de la forma siguiente:

[css]

#header {
/** (..) **/
border: 1px solid #0c0c0c;
background-image: url(«/images/headerbck2.png»);
background-repeat: repeat;
/** (..) **/
}[/css]

En Internet Explorer lo que se verá es la imagen con un color grisáceo en vez de la transparencia. La chapuza al canto consiste en hacer lo siguiente en el CSS:

[css]

#header {
background-image: none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’/images/headerbck2.png’, sizingMethod=’scale’);
}

[/css]

Es importante añadir el sizingMethod=’scale’ porque de lo contrario el elemento se redimensionará al tamaño de la imagen y si ésta es de 1×1 píxeles, como es el caso, desaparecerá el componente que queríamos apañar. Ahora lo que ocurre es que la chapuza sienta mal a otros navegadores. La solución pasa por tener una hoja de estilos CSS únicamente con los arreglos que queramos hacer para Explorer y cargarla después de cargar la hoja de estilos general. Para no andar con complicadas operaciones de lado de servidor, bastará con incluir en la cabecera del documento HTML lo siguiente:

[html]


[/html]

Además, seguramente tendremos diferencias entre Explorer 6.x y Explorer 7.x -aún beta-, podemos ser más selectivos. De esta manera, el fichero ie.css puede contener parches adicionales para el aspecto del sitio para que se vea con el explorador de Microsoft.

Finalmente, para hacer que los PNG se muestren con su canal alfa existe un truco más que es filtrar todas las imágenes PNG del documento. Para usar esta magia lo que hay que hacer es incluir un script en JavaScript y añadir al CSS para Internet Explorer la propiedad de aplicar un filtro basado en una función JavaScript. Con ello, en el fichero HTML hay que añadir la carga del script:

[html]


[/html]

Y para el CSS:

[css]

img {
filter:expression(addPngImage(this));
}

[/css]

La función addPngImage se define en el script ie.js.

Todo esto tiene un coste: todos los elementos transformados se van a poner por delante, lo que se traduce en que los enlaces que estén contenidos dentro de estos elementos se van a perder. Lo que toca entonces es ponerse a jugar con la propiedad de CSS z-index. Los enlaces y sus contenedores deben tener siempre un z-index mayor que los objetos transformados. Y no siempre es posible resolverlo. No obstante, con poco esfuerzo se logra tener un aspecto decente es Explorer sin sacrificar por ello todas las posibilidades del CSS. Un ejemplo completo lo tenéis en la portada de este mismo sitio web. El código de estilo correspondiente lo podéis ver aquí y los scripts en JavaScript aquí.

La solución propuesta la he logrado a partir de la información contenida en:

Esta chapuza hace que más o menos se vea todo medianamente bien en el Internet Explorer, aunque he tenido que sacrificar el fondo transparente tan chulo que sale con el resto de navegadores. La solución: cambia a otro navegador civilizado.