Ajustando o peso do módulo: quais são os riscos e aspectos a serem observados?

14

Hoje mudei o peso de um módulo personalizado meu para alterar o método de execução de hooks (hook_form_alter). Alterei o peso para 1 valor mais pesado que o peso do outro módulo. Isso parecia a coisa mais segura a se fazer, em vez de atribuir a ele um peso "aleatório" de 100. O módulo original é um módulo principal (tradução), então espero não ter quebrado nada.

Ao ajustar o peso de um módulo para alterar a ordem de execução dos ganchos, quais são as coisas a serem observadas e quais são os riscos envolvidos?

O que posso pensar: comportamento indesejado como resultado de um alto acoplamento.

Bart
fonte

Respostas:

10

Bem, não há uma resposta geral para isso, depende realmente dos módulos. Algumas das coisas que eu levaria em consideração (no Drupal 6):

  • hook_boot é chamado à medida que os módulos são carregados; portanto, apenas módulos mais leves que você foram incluídos. Se você confiar no código de outro módulo mais pesado que você, inclua-o manualmente.

  • Se um módulo tiver, por padrão, um peso diferente de 0, significa que este módulo define especificamente esse peso. Verifique o arquivo .install do módulo, pois é mais provável que o peso esteja definido - e com um pouco de sorte, haverá um comentário explicando o porquê! (isso pode ser verdade mesmo que o peso seja zero)

  • Módulos que definem um peso muito baixo ou muito alto geralmente têm uma boa razão para isso ( devem ser executados antes / depois de todo o resto). Normalmente, os módulos de desenvolvimento fazem isso, embora outros também o façam. Mantenha esses módulos primeiro / último, a menos que você tenha uma boa razão para isso.

  • Observe as dependências do módulo (aquelas em que o módulo depende e as que dependem deste módulo). Idealmente, mantenha esses módulos na mesma ordem. Se você precisar alterar a ordem, a única maneira de entender as conseqüências é olhar para o código.

  • Use o senso comum. As informações adicionadas por um módulo (digamos, para um nó na carga do nó) não estarão disponíveis para os módulos mais leves que este.

Netuxo Ltd
fonte
1
Alguma diferença para o Drupal 7?
DrCord
3

Sinceramente, acho que não há uma resposta geral para isso. O que acontece quando você ajusta o peso do módulo depende muito dos módulos envolvidos e, se você alterar o peso de muitos módulos, imagino que você possa ter resultados imprevisíveis.

Dito isto, se você deseja minimizar seu risco, considere apenas o que o seu módulo está fazendo. Quais dados você está modificando? Você está fazendo grandes alterações nas estruturas de dados ou está mais cosmético? O maior risco, eu acho, seria alterar os dados existentes de maneira inesperada. Se você for cuidadoso e ajustar os pesos dos módulos com moderação, não deverá ter muitos problemas.

Lendrick
fonte