2,5 vuoden kehityksen jälkeen Drupal 7:n ensimmäinen beta-versio julkaistiin 7.10.2010. Ennen betaa julkaistiin kaikkiaan seitsemän alpha-versiota. Ensimmäinen Release Candidate tullaan julkaisemaan, kun kaikki betassa olevat kriittiset bugit on korjattu.

Drupal 7:n julkaisu on venynyt suunnitellusta, sillä esimerkiksi Dries Buytaert itse arvioi 2009 tammikuussa, että Drupal 7 julkaistaisiin vielä saman vuoden loppuun mennessä. Tämän vuoden aikana betan julkaisua on viivästyttänyt käsittääkseni varsinkin 6- ja 7-versioiden väliseen päivitystoimintoon liittyvät haasteet.

Ulospäin näkyvin uudistus on päivitetyt oletusteemat niin frontend- kuin admin-puolellakin. Uusi hallintapaneeli on paitsi huomattavasti miellyttävämmän näköinen, niin myös käytettävyydeltään parempi. Hallintapaneeli on myös nykyään oletuksena ns. overlay, eli se avautuu omaan “ikkunaansa” muokattavan sivun päälle. Overlayn kanssa oli alkuun huomattavia suorituskykyongelmia, mutta nyt homma näyttäisi pelaavan sutjakkaasti. En ole tosin vielä ihan vakuuttunut overlayn todellisesta hyödyllisyydestä.

Harmillisesti uutta sisältöä luodessa esikatselutoiminto käyttää edelleen admin-templatea. Jos siis haluaa tarkastella miltä kirjoitus näyttää frontend-muotoiluilla, niin node pitää tallentaa ensin julkaisemattomana. Käyhän se näinkin, mutta Wordpressin tapa käyttää esikatselussa frontend-teemaa on mielestäni käytettävyydeltään parempi.

Moduulien päivittäminen onnistuu nykyisin myös suoraan hallintapaneelin kautta ilman, että käyttäjän tarvitsee käsin kopioida moduulin uutta versiota palvelimelle. 

Yksi tärkeimmistä uudistuksista on CCK-moduulin siirtyminen coreen kuvankäsittely-moduulien kera. Erilaisten kenttien lisääminen sisältötyyppeihin onnistuu siis jatkossa ilman erillisten moduulien asentamista. Myös luokittelutermeille on mahdollista luoda uusia kenttiä.

Uusi tietokanta-layer on nyt PDO-pohjainen ja täysin abstrakti. Tietokantaa käytetään nyt hieman eri tavalla, jonka takia omien moduulien tietokantakyselyt tulee rakentaa uusiksi. Bob Marchman on kirjoittanut kaksi havainnollista blogikirjoitusta aiheesta: Drupal 6 vs Drupal 7 Database Primer Part 1 ja Part 2.

Drupal 7:ään on tullut paljon uusia hookkeja, ihan jo sen vuoksi, että vanhat $op-parametrin vastaan ottaneet hookit on pilkottu erillisiin hookkeihinsa. Esimerkiksi yleisen hook_nodeapi-hookin sijasta on nyt hook_node_insert, hook_node_load ja niin edelleen.

Tervetullutta on myös uudistunut theme-layer, joka perustuu Form API:n tapaan niin sanottuihin “renderöinti-taulukoihin”, ks. Render Arrays in Drupal 7. Jos olet muokannut lomakkeita Drupal 6:ssa, niin olet huomannut, että lomakkeet rakentuvat taulukoista, jotka lopuksi renderöidään HTML:ksi. Drupal 7:ssa myös sivut rakentuvat vastaavista taulukoista, jotka vasta aivan lopuksi tulostetaan HTML:nä templaatissa render-funktion läpi ajettuna. Tämän pitäisi tuoda ratkaisu muun muassa ongelmaan, jossa haluttaisiin muokata HTML:ää, jonka moduuli on ehtinyt jo renderöimään. Jatkossa moduulien ei tulisi palauttaa HTML:ää, vaan taulukoita, jotka renderöidään myöhemmin. Kaikenkaikkiaan sivun rakenteen ja HTML:n muokkaamisen tulisi olla nyt helpommin hallittavissa, koska renderöinti tapahtuu aina vasta viime hetkellä.

Skaalautuvuudesta on puhuttu myös paljon, sillä Drupal 7:n tulisi nyt oikeasti skaalautua maailmanluokan sivustoihin. Skaalautuvuuteen liittyvistä erityishaasteista minulla ei juurikaan ole omakohtaisia kokemuksia, mutta toivottavasti tähän mielenkiintoiseen aihepiiriin pääsen joskus tulevaisuudessa perehtymään.

Muista uudistuksista voisi mainita tuen semanttiselle webille RDFa:n muodossa sekä mukana tulevat tuoreimmat versiot jQuerysta (1.4) ja jQuery UI:sta (1.8).

Drupal 7 Module update

Itse olen tyytyväinen Drupal 7:n esittelemiin uudistuksiin. Monia isoja ja pieniä puutteita on korjattu ja varsinkin uusi theme-layer toivottavasti selkeyttää sivukohtaisten muokkausten tekemistä. 

Tarkoituksenani on päivittää tämä sivusto mahdollisimman nopeasti seiskaversioon. Teeman päivittäminen on luonnollisesti suurin homma, jonka olenkin jo aloittanut. Myöskään kaikista tämän sivuston käyttämistä lisämoduuleista ei ole vielä yhteensopivia versioita: 13 moduulista yhdeksällä on vähintään aikainen kehitysversio tarjolla Drupal 7:lle. Kirjoitan todennäköisesti sivuston päivityksestä tarkemmin tulevissa kirjoituksissa.