Protocolo para hacer un hack del nucleo de Drupal.

You are not authorized to view comments.

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.