Solventar Incompatibilidad de Drupal Pressflow con Authcache

En las últimas semanas en uno de los proyectos en los que trabajo me tope con el problema de que el módulo contribuido de drupal para crear un cache para los usuarios autenticados no me funcionaba correctamente en mi proyecto desarrollado con la distribución de alto desempeño Pressflow, después de muchas horas de análisis de código fuente y pruebas descubrí la ausencia de la variable has_js en la cookie del usuario, variable utilizada por el módulo Authcache en sus validaciones para determinar si debe crear o no cache para el usuario en cuestión.

 

Diff

 

Es importante destacar que este módulo solo funciona en instalaciones de Drupal que tengan activado el Javascript, debido a que de este depende la personalización de las páginas como la carga del nombre de usuario e información personalizada que sea necesaria.

 

Después de determinar una de las causas por las que no funcionaba correctamente esta capa de cache me di a la tarea de buscar una solución al problema, verificando el archivo drupal.js de Pressflow y drupal.js de Drupal 6.22 me fue posible determinar que en el primero estaba ausente la asignación de valor a esta variable siendo este el único lugar en el que se hace, por lo cual me di a la tarea de estudiar el control de versiones de Pressflow y buscar discusiones sobre este cambio ejecutado al archivo original, en las cuales se habla que fue eliminado por darles problemas en algunas pruebas con Varnish, por lo tanto si en tus planes como en los míos no está implementar Varnish la solución es modificar el archivo drupal.js agregando la línea que designa la variable has_js del archivo original de Drupal.

 

Imagen de ejemplo