Propongo una linea de trabajo a seguir cuando es necesario hacer un hack en el codigo de drupal.
Parches en vez de archivos de texto
Actualmente se estan usando archivos hacks.txt en la raiz del sitio de drupal para indicar los cambios en el core. Este mecanismo exige un detalle de las acciones realizadas en el codigo para poder hacer rollback en caso de problemas.
Lo que propongo es utilizar un parche en vez de una modificacion del core indicada en otro archivo.
Procedimiento para crear un parche
copiar el archivo a modificar. Por ejemplo, para el el modulo forum:
cp forum.module forum.module.hack
Se hacen todas las modificaciones necesarias en el nuevo archivo indicando con comentarios que esa linea fue modificada
// WARNING: CORE HACK
if (_forum_collecting_statistics()) {
$form['forum_show_views'] = array('#type' => 'checkbox',
'#title' => t('Show views'),
'#default_value' => variable_get('forum_show_views', 1),
'#description' => t('Adds a column to the forum overview page showing how many views each topic received.'),
);
}
//END OF CORE HACK
Finalmente se crea un parche con la siguiente instruccion
diff -up forum.module forum.module.hack > forum_node_statistics.patch
Notar que el primer archivo es el modulo original, el segundo el modulo modificado y el tercero el parche.
Propongo que para el nombre del parche se escriba: 'nombre del modulo'_'cambio realizado'.patch
Las ventajas que tiene este mecanismo es que se pueden aplicar o no en cada actualizacion de drupal.
Además es más facil rastrear si el parche que se va a aplicar no arrastra una vulnerabilidad corregida en una nueva version de drupal
Todos los parches se alojan luego en un directorio fuera de la raiz de drupal, con el objectivo de que no sean accesibles desde un browser.
Por favor hagan comentarios sobre que les parece el mecanismo, y sus sugerencias.