Forest header image

Symfony Finland
Random things on PHP, Symfony and web development

Nopea kehityssykli on modernin sisällönhallintajärjestelmän elinehto

On sanomattakin selvää että internet kehittyy rivakkaa tahtia. Abstrakteina tuotteina ohjelmistot ovat hyvin joustavia ja niitä voi päivittää ja kehittää jatkuvalla syötöllä. Ne eivät silti ole vapaita omasta historiastaan ja aikanaan tehdyistä päätöksistä.

Monet sisällönhallintajärjestelmät keskittyvät yhä isoihin julkaisuihin vuoden-parin välein. Tämä on sama malli kuin esimerkiksi Microsoftin Office -tuoteperheessä, mutta valli ei enää toimi työpöydällä. Vielä vähemmän se toimii verkossa.

Panostus suuriin yksittäisiin julkaisuihin sitoo paljon resursseja ja hidastaa innovaatiota, erityisesti jos on tarve ylläpitää taaksepäin yhteensopivuutta. WordPress on erinomainen esimerkki tuotteesta, joka on onnistuneesti pitänyt huolta sekä tuotteen jatkuvasta kehityksestä, että taaksepäin yhteensopivuudesta.

WordPress on tässä suhteessa malliesimerkki onnistuneesta tuotehallinnasta. Ilman järjestelmää asteittain kehittäviä useita vuosittaisia julkaisuja WordPress tuskin olisi noussut yksittäiseksi suosituimmaksi sisällönhallintajärjestelmäksi. Jatkuvat kehityssyklit voivat tuottaa myös ns. teknistä velkaa, mutta tämän merkitys WordPressin kohdalla jää vielä nähtäväksi.

Drupal on perinteisesti tehnyt suurempia, taaksepäin yhteensopivuuden rikkovia julkaisuja. Tällä hetkellä kehitystiimi viimeistelee Drupalin versiota 8. Tämä on ollut alkuperäistä arviota huomattavasti suurempi töinen julkaisu ja se onkin useita vuosia jäljessä alkuperäistä aikataulua.

Jälkiviisaana voisi sanoa että Drupal 8:n toiminnallisuuslistaa olisi pitänyt karsia huomattavasti ja että nyt julkaisu vuorossa pitäisi olla jo vaikkapa Drupalin versio 10, mutta samoilla toiminnallisuuksilla kuin Drupal 8 tulee olemaan.

eZ Publish on monipuolinen sisällönhallintajärjestelmä, jolla on syystäkin erinomainen maine taaksepäin yhteensopivuuden säilyttämisestä. Järjestelmää on kehitetty vuodesta 1999. vuonna 2012 järjestelmän pääkehitysvastuussa oleva yritys, eZ Systems, ilmoitti että sen seuraava versio tulee käyttämään Symfony sovelluskehystä.

Tämän päätöksen jälkeen eZ Publishia on vaiheittain uudelleenkirjoitettu kokonaan eri tuotteeksi, joka tunnetaan nimellä eZ Platform. Tänä aikana järjestelmän loppukäyttäjät eivät ole saaneet laisinkaan uusia ominaisuuksia tai parannuksia.

Suurista loikista pieniin askeliin

Sekä Drupal että eZ Platform ovat nyt lähellä viimeisimpiä suuria julkaisujaan. Molemmat ovat nyt teknisesti ja projektihallinnallisesti valmiita siirtymään suurista versiopäivityksistä kohti pienempiä, jatkuvia parannuksia. eZ Platform esimerkiksi tulee saamaan tiheämmän julkaisusyklin:

Jatkuvia Fast Track Release (FTR) julkaisuja tulee saataville kahden kuukauden välein. Jokaista versiota tuetaan niin kauan kuin edellinen on julkaistu, eli tämä seuraa ns. Rolling Release mallia. Versioiden välillä tulee pienempiä päivityksiä kriittisiin virheisiin, mutta uudet ominaisuudet julkaistaan FTR-versoissa.

Tämän tulisi mahdollistaa kehitystiimien keskittymisen pienempiin toiminnallisiin kokonaisuuksiin. Molemmat järjestelmät voivat jatkossa kokeilla erilaisia toiminnallisuuksia joustavammin, ilman suuria kertamuutoksia järjestelmän eri osiin. Vakauden vuoksi molemmista tulee kuitenkin tarjolle myös pidemmän aikavälin tuettuja versioita, pitkälti samalla tavalla kuin Symfonyn julkaisumallissa.

Suuret muutokset kypsiin ja laajalti käytössä oleviin sovelluksiin ovat teknisesti hankalalia ja käytännössä voivat vaarantaa koko järjestelmää käyttävän yhteisön. Hieman tämän tyyppinen tapahtumaketju on käynyt Perl- ja Python-ohjelmointikielien kanssa. Drupalin haasteena tulee olemaan version 7 laajan modulikirjaston siirtäminen versioon 8.

Sama asia on toki käyty läpi esimerkiksi siirtymisessä Drupalin versiosta 6 versioon 7, mutta tällöin vaihtoehtoa ei oikeastaan ollut. Nyt Drupal 7:n käyttäjille toinen vaihtoehto on Backdrop CMS, joka kehittää Drupal 7:n perustuvaa erillistä sisällönhallintajärjestelmää.

Ideaalitapauksessa julkaisujärjestelmää kehittävä ydintiimi on samalla viivalla järjestelmällä verkkosivustoja kehittävien yritysten kanssa. Tästä yksi koe tulee olemaan eZ Platformin integraatin eZ Studion kanssa. eZ Studio on suljetun lähdekoodin lisäosa avoimen lähdekoodin eZ Platformiin. Integrointi tapahtuu eZ Platformin REST-rajapintoja käyttäen. Siis aivan sanoja kuin mitä kenellä tahansa olisi mahdollista käyttää.

Versionumerot ovat suurelle yleisölle katoavaa kansanperinnettä. Vai tiedätkö itse mitä Facebookin tai Gmailin versiota parhaillaan käytät? Nämä muutokset Drupalin ja eZ Platformin kehityssykleihin eivät poista versionumeroita tai tee palveluista automaattisesti kehittyviä pilvialustoja kuten Demandware tai Enonic.

Suurin osa Drupalilla tai eZ Platformilla tehdyistä projekteja vaatii laajamittaista räätälöintiä, joka ei ole mahdollista jaetulla pilvialustalla. Tämä mahdollistaa kuitenkin jatkuvasti pikkuhiljaa kehittyvien palveluiden tarjoamisen omille sisäisille (sisällön päivittäjät, jne) asiakkaillesi aiempaa helpommin.

Vähemmän on siis jälleen enemmän. Tällä kertaa ominaisuuksien suhteen.


Written by Jani Tarvainen on Saturday October 24, 2015
Permalink -

« Mikä on HTTP/2 ja kuinka se otetaan käyttöön? - Onko WordPressin teknisellä velalla merkitystä? »