Menyesuaikan berat modul: apa risiko dan hal-hal yang harus diwaspadai?

14

Hari ini saya mengubah bobot modul kustom saya untuk mengubah metode eksekusi hooks (hook_form_alter). Saya telah mengubah bobot menjadi 1 nilai lebih berat dari berat modul lainnya. Ini tampaknya hal paling aman untuk dilakukan daripada memberikannya 100 "acak" berat. Modul asli adalah modul inti (terjemahan) jadi saya harap saya tidak merusak apa pun.

Saat menyesuaikan bobot modul untuk mengubah urutan eksekusi kait, hal-hal apa yang harus diperhatikan dan apa risiko yang terlibat?

Apa yang bisa saya pikirkan: perilaku yang tidak diinginkan sebagai hasil dari kopling tinggi.

Bart
sumber

Jawaban:

10

Yah tidak ada jawaban umum untuk ini, itu sangat tergantung pada modul. Beberapa hal yang akan saya pertimbangkan (dalam Drupal 6):

  • hook_boot disebut sebagai modul yang dimuat; jadi hanya modul yang lebih ringan dari yang telah Anda masukkan. Jika Anda mengandalkan kode dari modul lain yang lebih berat dari Anda, pastikan Anda memasukkannya secara manual.

  • Jika sebuah modul secara default memiliki bobot selain 0, maka itu berarti bahwa modul ini secara khusus mengatur bobot ini. Periksa file .install modul itu, karena ini kemungkinan besar di mana bobotnya ditetapkan - dan dengan sedikit keberuntungan akan ada komentar yang menjelaskan alasannya! (ini mungkin benar bahkan jika beratnya nol)

  • Modul yang mengatur berat badan yang sangat rendah atau sangat tinggi biasanya memiliki alasan yang bagus untuk itu ( harus dijalankan sebelum / sesudah yang lainnya). Biasanya modul pengembangan melakukan ini, meskipun yang lain mungkin juga. Pertahankan modul ini terlebih dahulu / terakhir kecuali Anda memiliki alasan kuat untuk itu.

  • Lihatlah dependensi modul (yang tergantung pada modul, dan yang tergantung pada modul ini). Idealnya simpan modul-modul ini dalam urutan yang sama. Jika Anda harus mengubah urutannya, satu-satunya cara untuk memahami consequnces adalah dengan melihat kode.

  • Gunakan akal sehat. Informasi yang ditambahkan oleh modul (katakan ke sebuah simpul pada simpul yang di-load) tidak akan tersedia untuk modul yang lebih ringan dari yang ini.

Netuxo Ltd
sumber
1
Adakah perbedaan untuk Drupal 7?
DrCord
3

Sejujurnya saya tidak berpikir ada jawaban umum untuk ini. Apa yang terjadi ketika Anda menyesuaikan bobot modul sangat tergantung pada modul yang terlibat, dan jika Anda mengubah bobot terlalu banyak modul, saya akan membayangkan bahwa Anda bisa berakhir dengan beberapa hasil yang tidak terduga.

Yang sedang berkata, jika Anda ingin meminimalkan risiko Anda, pertimbangkan dengan tepat apa yang sedang dilakukan modul Anda. Data apa yang Anda modifikasi? Apakah Anda membuat perubahan besar pada struktur data, atau apakah Anda mengubah lebih banyak kosmetik? Risiko terbesar, saya pikir, akan mengubah data yang ada dengan cara yang tidak terduga. Jika Anda berhati-hati dan menyesuaikan bobot modul dengan hemat, Anda seharusnya tidak memiliki terlalu banyak masalah.

Lendrick
sumber