Yllättävän kauan kestää moduulien versiomuutokset. Olen ammatiltani ohjelmistosuunnittelija ja minulle päälimmäiseksi nousi mieleeni se ajatus, kuinkakohan paljon drupaliin sitten tehdään rikkovia muutoksia? Yleensä jos muutoksia tulee php:n kirjastoihin, niin niiden päivittäminen moduulin koodiin, ei ole kovinkaan työläs homma. Se on aika äkkiä tehty. Uudemmassa PHP-versiossa vaan ei enää tueta jotain tiettyä funktiota vaan se on korvattu uudella. Silloin versiopäivityksessä katsotaan, mikä uusi funktio sitten vastaa sitä toiminnallisuutta, jota koodissa tarvitaan.
Täytyy kokeilla ja verrata miten isoja muutoksia drupalin coreen sitten oikein tehdään. Otan jonkun vanhan komponentin kokeiltavaksi ja katson mikä kohta siinä "räjähtää" uuden drupalversion kanssa ja kuinka suuria koodimuutoksia se vaatii. Corea (ydintä) ei kannata lähtä seuraavissa versioissa radikaalisti muuttamaan, ellei se ole ihan pakko. Yleensä kannattaa rakentaa vanhan päälle. Edes silloin kun haluttaisiin tehdä isoja muutoksia niin kannattaa useampaan kertaan miettiä onko järkeävää aiheuttaa komponenttien suhteen rikkovia muutoksia, vai rakennetaanko vaan uutta toiminnallisuutta säilyttäen myös vanhaa.
Jos nyt minulla on oikea havainto, niin versio 6 näyttäisi olla se jolle on nyt uusimmista versioista eniten tarjolla komponetteja. Vielä on paljon komponentteja, joita ei ole 7-versiolle päivitetty. Käytettävyydeltään 7-versio näyttää olevan oleellisesti 6:sta parempi.
- Kirjaudu tai rekisteröidy kirjoittaaksesi kommentteja
Moduulien päivittyminen coren versioiden välillä
Moduulien päivittymisen näennäinen hitaus johtuu pitkälti siitä filosofiasta jolla Drupal-yhteisö toimii. Tarpeeseen kuin tarpeeseen tehdään yleensä ensin yhden asian hoitavia moduuleja. Näitä syntyy usein useilla eri kilpailevilla lähestymistavoilla. Tarpeen ja moduulien kypsyessä syntyy usein yksi geneerinen tapa hoitaa asia ja muut moduulit kuolevat vähitelleen pois. Näin valtavaa määrää Drupal 6 moduuleja ei ole mitään tarvetta edes päivittää Drupal 7:lle. Moduuleja ei kuitenkaan poisteta koska ne ovat edelleen täysin valideja D6:n kanssa. Usein korvaava moduuli dokumentoidaan vanhan moduulin dokumentaatiossa, mutta valitettavasti ei läheskään aina.
Vähän käytettyjen harvinaisten moduulien osalta päivittymisen hitaus puolestaan johtuu siitä että ne päivittyvät vasta kun joku tarvitsee niitä. Harva yhden asian tekevän moduulin ylläpitäjä vaivautuu päivittämään sitä huvikseen. Kun joku tarvitsee vaikkapa D7-versiota päivittää hän itse moduulin (tai maksaa tästä ammattilaiselle) ja palauttaa päivityksen jonka moduulin ylläpitä tyypillisesti julkaisee. Tästä syystä esimerkiksi itse ylläpitämistäni moduuleista on useasta edelleen vain D6-versio eikä minulla ole pienintäkään aikomusta päivittää niitä ellen itse tarvitse tai joku muu hoida päivitystä.
Drupalin isoissa versioissa core menee rajapintoineen pitkälti uusiksi. Tämä tapahtuu aika pitkällä syklillä ja suurin osa varsinaisesta innovaatiosta tapahtuu moduulien parissa. Taakseppäin yhteensopivuutta on vain rajallisesti. Tämä on tietoinen valinta jolla varmistetaan projektin meneminen eteenpäin vaikka käytännössä onkin paljon huonoja puolia.