Custom-moodulite audit enne Drupal-migratsiooni
🎧 Kuula kõiki artikleid järjest
Drupali tuuma uuendustee on dokumenteeritud. Projekti tegelik risk peitub sageli custom-moodulites, mis on aastate jooksul äri jaoks kriitiliseks muutunud.
Miks custom-moodulid on migratsiooni põhirisk
Drupal 7 → 11 migratsioonil on core'i uuendustee hästi dokumenteeritud ja tööriistad olemas. Contrib-moodulite puhul on drupal.org-ist näha, kas Drupal 11 versioon on olemas.
Custom-moodulid on nagu must kast. Keegi ei tea nende seisu peale selle, kes nad kirjutas — ja sageli on see inimene juba ammu projekti juurest lahkunud. Just siin peitub suurim migratsiooni risk.
Mida custom-koodis otsida
Kasutatud API-d
Drupal 7 ja Drupal 11 API-d on fundamentaalselt erinevad. Drupal 7 kasutas globaalseid funktsioone (node_load(), db_query()), Drupal 11 kasutab objektorienteeritud teenuseid.
# Otsi aegunud Drupal 7 funktsioone
grep -r "node_load\|db_query\|db_select\|drupal_set_message" modules/custom/Iga leitud vana funktsioon vajab analüüsi, uue kirjutamist ja testimist.
Ärikriitilised hook-id
Drupal kasutab hook-süsteemi käitumise muutmiseks. Custom-moodul võib implementeerida kümned hook-id — osa on triviaalsed, osa kriitilised.
# Leia kõik hook implementatsioonid
grep -r "function.*_hook_\|implements hook" modules/custom/ --include="*.module"Kaardista: millised hook-id puudutavad makseid, kasutajate autentimist, sisu avaldamist, e-kirju, välise API-päring.
Andmemudel
Custom-moodul võib defineerida oma andmebaasitabeleid. Need tuleb migreerimisel kaasa võtta.
# Otsi schema definitsioone
grep -r "hook_schema\|db_create_table" modules/custom/Iga custom tabel on lisakomponent migratsioonis.
Välised sõltuvused
Kas custom-moodul integreerub välise API-ga? See API võib olla muutunud aastade jooksul.
# Otsi HTTP päringuid
grep -r "drupal_http_request\|curl_exec\|file_get_contents.*http" modules/custom/Contrib-moodulite sõltuvused
Custom-moodul võib sõltuda contrib-moodulist millel ei ole Drupal 11 versiooni. See on blocker.
grep -r "dependencies:" modules/custom/*/my_module.info.ymlAuditi tulemus: kolm kategooriat
Pärast analüüsi jagame custom-moodulid kolme kategooriasse:
Portida — moodul on ärikriitiline, vajab uuele API-le viimist. Hinnanguline töö: X tundi.
Asendada — funktsioon, mida moodul teeb on Drupal 11-s olemas standardmoodulina (nt Views, Media). Ei pea portima.
Eemaldada — moodulit ei kasutata enam (aegunud funktsionaalsus, test-kood). Ei pea portima.
Miks audit enne migratsiooni algust
Kui auditi teed migratsiooni keskel, leiad blokkeri, kui töö on juba pooleli. Kui teed auditi enne, saad:
- Realistliku töömahuhinnangu (mitte hinnangu, mis muutub 3x töö käigus)
- Otsused, mida ümber kirjutada vs eemaldada vs portida
- Teadmise millised äriprotsessid vajavad eraldi testimist
Custom-moodulite audit on osa meie Drupal auditi teenusest. Kirjuta meile enne migratsiooni algust — aitame kaardistada tegeliku riski.

Vajad Drupal abi?
Kui artikkel puudutab sinu olukorda, ei pea kõike lõpuni lugema. Sinuga suhtleb päris inimene ja aitab järgmise sammuni jõuda.