Drupal kohandatud moodul — millal seda tegelikult vaja on?
🎧 Kuula kõiki artikleid järjest
Drupalil on tuhandeid mooduleid ja laiendusi. Enne uue kirjutamist tasub alati veenduda, et olemasolevad lahendused vajadust juba ei kata.
Kas kohandatud moodulit on üldse vaja?
Üks levinumaid eksiarvamusi Drupal-projektides on eeldus, et iga uus vajadus tähendab uut moodulit.
Praktikas on sageli mõistlik alustada küsimusest:
- kas olemasolev moodul lahendab probleemi;
- kas olemasolevat moodulit saab seadistada;
- kas olemasolevat lahendust saab laiendada;
- kas probleemi saab lahendada konfiguratsiooniga.
Drupal ökosüsteem sisaldab tuhandeid aktiivselt arendatavaid mooduleid. Paljud funktsioonid, mis esmapilgul tunduvad erilahendusena, on tegelikult juba olemas.
Kohandatud moodul muutub mõistlikuks alles siis, kui olemasolevad lahendused ei kata ärivajadust piisavalt hästi.
Millal kohandatud moodul on õige valik?
Tüüpilised olukorrad on järgmised.
Äriloogika on ettevõttespetsiifiline
Näiteks:
- keerulised hinnastamisreeglid;
- automaatsed töövood;
- dokumendihaldus;
- taotluste menetlemine;
- organisatsioonispetsiifilised protsessid.
Sellisel juhul ei pruugi üldotstarbelised moodulid olla sobivad.
Vajalik on integratsioon välise süsteemiga
Sageli tuleb Drupal ühendada:
- ERP süsteemiga;
- CRM-iga;
- makselahendusega;
- lao- või logistikaplatvormiga;
- siseinfosüsteemiga.
Kuigi integratsioonimooduleid leidub palju, tuleb ettevõttespetsiifiliste lahenduste puhul sageli kirjutada kohandatud ühenduskiht.
Vajalik on täpne kontroll
Mõnikord on olemasolev moodul tehniliselt võimeline ülesannet täitma, kuid:
- lisab liigset keerukust;
- sõltub suurest hulgast muudest moodulitest;
- mõjutab jõudlust;
- ei sobi projekti arhitektuuriga.
Sellisel juhul võib väiksem kohandatud lahendus olla pikaajaliselt parem valik.
Kohandatud moodul tähendab ka vastutust
Iga uus moodul muutub osaks süsteemist, mida tuleb tulevikus hooldada.
See tähendab:
- testimist;
- dokumenteerimist;
- turvakontrolli;
- versiooniuuendusi;
- ühilduvuse kontrolli Drupal Core'i uuendustega.
Kui kasutad contrib-moodulit, teeb suure osa sellest tööst kogukond.
Kui kasutad kohandatud moodulit, jääb vastutus projekti omanikule.
Mis mõjutab arendusmahtu?
Töömahtu mõjutab tavaliselt rohkem äriloogika kui tehnoloogia.
Näiteks:
- lihtne API päring võib võtta mõne tunni;
- keerukas töövoog võib võtta nädalaid;
- mitme süsteemi integratsioon võib võtta kuid.
Mahule avaldavad mõju:
- väliste süsteemide dokumentatsioon;
- autentimislahendused;
- andmemaht;
- vigade käsitlemine;
- kasutajaliides;
- testimise vajadus.
Seetõttu on täpne hinnang võimalik alles pärast analüüsi.
Hea moodul on rohkem kui töötav kood
Pikaajaliselt hooldatav Drupal-moodul sisaldab tavaliselt:
- Composer-põhiseid sõltuvusi;
- teenuseid ja dependency injection'it;
- konfiguratsiooni eksporti;
- logimist;
- automaatteste;
- dokumentatsiooni.
Need ei pruugi olla nähtavad lõppkasutajale, kuid määravad suuresti selle, kui kallis on moodulit tulevikus hallata.
Millal moodulit mitte kirjutada?
Kõige kallim moodul on see, mida poleks olnud vaja luua.
Kui probleem on lahendatav:
- Views konfiguratsiooniga;
- olemasoleva mooduli seadistamisega;
- Search API-ga;
- Workflow või Rules-laadse lahendusega;
- väikese kohandusega olemasolevas süsteemis;
siis on see sageli parem valik kui täiesti uus moodul.
Kokkuvõte
Kohandatud Drupal-moodul on õige tööriist siis, kui ärivajadus ei mahu olemasolevate lahenduste raamidesse.
Enne arendamist tasub hinnata:
- kas probleem on tegelikult lahendamata;
- millised olemasolevad moodulid juba eksisteerivad;
- milline on pikaajaline hoolduskulu;
- kes vastutab mooduli eest järgmise Drupal versiooniuuenduse ajal.
Hea moodul ei ole lihtsalt töötav kood. Hea moodul on lahendus, mida on võimalik ka aastaid hiljem turvaliselt hooldada ja edasi arendada.

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.