Ajuste del peso del módulo: ¿cuáles son los riesgos y las cosas a tener en cuenta?


14

Hoy cambié el peso de un módulo personalizado mío para cambiar el método de ejecución de ganchos (hook_form_alter). He cambiado el peso a 1 valor más pesado que el peso del otro módulo. Esto parecía lo más seguro que hacer en lugar de darle un peso "aleatorio" de 100. El módulo original es un módulo central (traducción), así que espero no haber roto nada.

Al ajustar el peso de un módulo para cambiar el orden de ejecución de los ganchos, ¿cuáles son las cosas a tener en cuenta y cuáles son los riesgos involucrados?

Lo que puedo pensar: comportamiento no deseado como resultado de un alto acoplamiento.

Respuestas:


10

Bueno, no hay una respuesta general a esto, realmente depende de los módulos. Algunas de las cosas que tomaría en consideración (en Drupal 6):

  • Se llama a hook_boot cuando se cargan los módulos; así que solo se han incluido módulos que son más livianos que usted. Si confía en el código de otro módulo que es más pesado que usted, asegúrese de incluirlos manualmente.

  • Si un módulo tiene por defecto un peso distinto de 0, significa que este módulo establece específicamente este peso. Verifique el archivo .install de ese módulo, ya que es muy probable que se establezca el peso, y con un poco de suerte habrá un comentario que explicará por qué. (Esto puede ser cierto incluso si el peso es cero)

  • Los módulos que establecen un peso muy bajo o muy alto generalmente tienen una buena razón para ello ( deben ejecutarse antes / después de todo lo demás). Por lo general, los módulos de desarrollo hacen esto, aunque otros también podrían hacerlo. Mantenga estos módulos primero / último a menos que tenga una buena razón para ello.

  • Mire las dependencias del módulo (de las que depende el módulo y las que dependen de este módulo). Lo ideal es mantener estos módulos en el mismo orden. Si debe cambiar el orden, la única forma de entender las consecuencias es mirar el código.

  • Usa el sentido común. La información que agrega un módulo (digamos a un nodo en la carga del nodo) no estará disponible para módulos más ligeros que este.


1
¿Alguna diferencia para Drupal 7?
DrCord

3

Sinceramente, no creo que haya una respuesta general para esto. Lo que sucede cuando ajusta el peso del módulo depende en gran medida de los módulos involucrados, y si cambia los pesos de demasiados módulos, me imagino que podría terminar con algunos resultados impredecibles.

Dicho esto, si desea minimizar su riesgo, solo considere con precisión qué es lo que está haciendo su módulo. ¿Qué datos estás modificando? ¿Está haciendo cambios importantes en las estructuras de datos, o está haciendo cambios más cosméticos? El mayor riesgo, creo, sería cambiar los datos existentes de una manera inesperada. Si tiene cuidado y ajusta los pesos de los módulos con moderación, no debería tener demasiados problemas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.