Miks valida uus Drupal 9?
Covidi pandeemia on näidanud, et online teenused muutuvad inimeste jaoks üha olulisemaks. Maailm on liikumas täielikult integreeritud digitaalse ühiskonna suunas. See loob võimalusi neile, kes vooluga kaasa lähevad, kuid takistusi neile, kes piisavalt kiiresti ei reageeri.
Drupali raamistik pakub oma mitmekülgse funktsionaalsuse ja paindlikkusega võimaluse liikuda kaasa sotsio-majanduslike muudatustega. Seda enam on oluline, et vabavara Drupal taga seisev mittetulundusühing ei ole lubanud omale hinnaalandust ning juuni alguses avalikustati uus - Drupal 9 versioon.
Miks peaks tegema uuenduse Drupal 9 versiooni peale? Või miks üldse kasutada Drupali raamistikku, kui Sa seda veel teinud ei ole? Arendajana annan Sulle järgnevas blogiartiklis neile küsimustele vastused.
Drupali versioonid ja nende eluiga
Drupali versioonide avalikustamise graafik
Varasemalt oli reegliks saanud, et uue Drupali versiooni lansseerimise järel jätkati toe pakkumist ainult sellele vahetult eelnenud versioonile - Drupal 8 ilmumisel lõpetati Drupal 6 tugi. Esialgu pidi Drupal 7 tugi kestma 2021 aasta novembrini. Nii pikka tuge otsustati pakkuda Drupal 7-lt Drupal 8-le üleminekuga kaasnevate fundamentaalsete muudatuste pärast, mis põhimõtteliselt sunnivad Drupalile ehitatud lahendust uuesti nullist üles ehitama.
Käesoleva aasta (2020) juunikuus otsustati Drupal 7 tuge pikendada 2022 aasta novembrini. Otsus võeti vastu lähtuvalt COVID-19 mõjudest mitte ainult Drupali kogukonnale, vaid ka sellega seotud indiviididele, organisatsioonidele ja institutsioonidele. Vastuvõetud otsus tähendab, et Drupal 7, mis on endiselt kõige laialdasemalt kasutatav Drupali versioon, eluiga on veel ligi kaks ja pool aastat. Drupali kogukonna poolt pakutava toe lõpp aga ei tähenda kogu toe lõppu. On erinevad vendorid (eesti k müüjad), kes pakuvad Drupal 7-le pikendatud tuge vähemalt 2025 aastani.
Drupal 8 elulõpp (inglise k end-of-life) kattub Symphony 3 elulõpuga, kuna Drupal 8 ise sõltub Syphony 3-st – seega mõlema elulõpuks on november 2021. Drupal 9 lansseerimisega lõpetati Drupal 8 uuenduste väljastamine, v.a patchid (eesti k turvapaigad) kriitiliste vigade parandamiseks. Drupal 9 elulõpp on eeldatavasti aastal 2023. Drupali versiooni elulõpp on seotud dependency’te (eesti k sõltuvate tarkvarade) elueaga, mida Drupal kasutab ning millest sõltuv on.
Hetkel on teada, et Symfony 4 ja CKEditor 5 eluiga lõppeb aastal 2023. Juhul kui selgub, et mõni teine dependency saavutab varem oma eluea lõpu (näiteks Twig), siis tehakse kalkulatsioonid ümber. Drupal 10 soovitakse välja lasta 2022. aasta esimeses pooles, et anda arendajatele piisavalt aega vajalike muudatuste elluviimiseks.
Tagasiühilduv Drupal
Tarkvarauuendused on reeglina töömahukad ja keerulised, kuna versioonide vahelised erinevused on nii suured, et need ei võimalda sujuvat üleminekut vanemalt versioonilt uuemale. Just nii on ülemineku puhul Drupal 7-lt Drupal 8-le. See aga ei pea paika Drupal 8-lt Drupal 9-le ülemineku kohta, mis on kiire ja lihtne, võrreldes sellele eelnenud seitsmendalt versioonilt kaheksandale ülemineku protsessiga. Suurekäeliselt üldistades võib öelda, et Drupal 9 on kaasaegne Drupal 8, mille koodibaasist on eemaldatud vananenud kood.
Drupal 9 on esimene tagasiühilduv Drupali versioon.
Mida see tähendab? Üldistatult tähendab see uuema tarkvaraversiooni võimekust kasutada vanema tarkvaraversiooniga loodud faile ja andmeid. Näiteks Windows operatsioonisüsteem on tagasiühilduv - peale igat suuremat versiooni uuendust on olnud võimalik kasutada vanema versiooniga loodud faile. Windows 10 Wordi tekstitoimetaja võimaldab avada Windows 7 loodud Wordi tekstifaili ning selle sisu muuta.
Drupali mõistes tähendab tagasiühilduv seda, et Drupal 9 võib kasutada vanema versiooni (Drupal 8) jaoks loodud mooduleid, konfiguratsioonifaile ja andmeid (minimaalsete muudatustega). Drupal 7 migreerimisel Drupal 8 versioonile tuleb aga alustada nullist, kuna Drupal 8 tõi endaga kaasa suured strukturaalsed ja funktsionaalsed muudatused.
Neid strukturaalseid ja funktsionaalseid muudatusi oli vaja Drupali organisatsiooni otsuse tõttu innovatsioooni kasuks. Drupal 8 arendamisel oli vaja rakendada uuendusi tagamaks Drupali raamistiku konkurentsivõimelisus - võimekus teenindada ka kõige nõudlikema klientide vajadusi. Innovatsiooniliste muudatuste hulka kuuluvad ka need astutud sammud, mis tagavad Drupal 9 tagasiühilduvuse.
Drupal 7-lt Drupal 9-le üleminek
Drupal 7 on endiselt kõige laialdasemalt levinud Drupali versioon. Paljud Drupal 7 omanikud on otsustanud Drupal 8 migreerimise edasi lükata. Seda sellepärast, et veebilahenduse migreerimine Drupal 7-lt Drupal 8-le on töömahukas - st veebilahenduse migreerimisel tuleb alustada arendustöödega nullist. Teisisõnu, sisuliselt tuleb arendada uus leht.
Hea uudis on aga see, et kõnealune protsess on täna lihtsam kui veel paar aastat tagasi. Seda tänu Drupali organisatsiooni vabatahtlike panustajate sihiteadlikule tööle parimate metoodikate väljatöötamisel ja nende dokumenteerimisel. Nüüd, kus Drupal 9 on lansseeritud, saavad Drupal 7 raamistiku kasutajad teha uuenduse otse Drupal 9-le. See peaks olema kõige mõttestatum uuendamise teekond sel viisil, et uuenenud Drupali raamistiku versioonil oleks kõige pikem eluiga.
Teine võimalus on kõigepealt uuendada Drupal 8-le ja sealt edasi Drupal 9-le. Drupal 7 tuleks Drupal 8-le migreerida juhul, kui veebilahendus vajab mooduleid, mis ei ole veel Drupal 9 jaoks saadaval, kuid eksisteerib sobiv moodul Drupal 8-le. Drupal 7-lt otse Drupal 9-le migreerimisel kehtivad samad piirangud ja reeglid mis Drupal 7-lt Drupal 8-le üleminekul. Kõigepealt aga Drupal 7-lt Drupal 8-le migreerimise eeliseks on varasemalt mitmekordselt läbi käidud teekond: olemasolevad pretsedendid, ulatuslik dokumentatsioon ja migratsioonimoodulid, mis aitavad seda protsessi võimalikult valutult läbi viia.
Mida uut pakub Drupal 9?
Drupal 9 jätkab Drupal 8-ga hoo sisse saanud suunal - muuta Drupali raamistik veelgi kasutajasõbralikumaks. Drupal 9 versiooni on lihtne kasutada, seda eriti vähem tehniliste inimeste jaoks. Drupal 9 vajab vähem arendajate panust ning eesmärk on arendajate aeg suunata suurt lisaväärtust tootvatele arendustöödele.
Samuti anda administraatorite/toimetajate/turundusinimeste kätte rohkem tööriistu saidil kuvatava informatsiooni muutmiseks. Lisaks on võimalik Drupal siduda erinevate Customer Relationship Management platvormidega, mis lihtsustaks või automatiseeriks mitmeid kliendisuhete juhtimise protsesse.
Drupali Workflow (eesti k töövoo) ja Content Moderation (eesti k sisu toimetamise) moodulid.
Drupali Workflow moodul koos Content Moderation mooduliga pakuvad sisu arhitektidele võimaluse luua lihtsaid ja väga keerukaid sisu haldamise protsesse. Traditsiooniliselt võivad erinevatel rollidel olla erinevad õigused, mis lubavad lehel muuta ainult kindlaksmääratud infot ja sisuühikute staatust/olekut. Need moodulid laiendavad neid olemasolevaid funktsionaalsusi.
Toome järgnevalt näite protsessist, kus kasutatakse neid mooduleid.
Kultuurimaja vabatahtlik koostab sündmuse sisuühiku ning saadab huvijuhile, kes selle kinnitab. Huvijuht edastab sisuühiku majahaldurile, et too väljastaks vabatahtlikule uksekaardi kultuurimajas aset leidva sündmuse ajaks. Lõpliku kinnituse sündmuse avalikustamiseks annab kultuurimaja juht.
Workspaces (eesti k töökeskkondade) moodul
Workflow ja Content Moderationi moodulite poolt pakutava funktsionaalsuse täiustamiseks lisati Drupal 9 tulekuga tuuma moodulite sekka Workspaces moodul, mis loob sisuliselt koopia live-saidist, eksisteerides sellega paralleelselt. Näiteks võimaldab Workspaces moodul sisutoimetajatel valmis seada esilehe detsembrikuu ülesehituse koos jõulukuu kampaaniate ja muu sinna juurde kuuluva infoga.
Kõike seda on võimalik teha lehte ennetähtaegselt avalikustamata, võimaldades samaaegselt töötajatel antud lehe erinevaid versioone omavahel jagada, sealset infot muuta, blokke ümber tõsta ning avalikustada alles siis, kui ollakse veendunud, et kõik on nii nagu peab. Sisuliselt antakse sisutoimetaja õigusi omavate töötajate käsutusse Git versioonikontrolli sarnased tööriistad.
Kuidas Workspaces moodul töötab, näitlikustab hästi järgnev graafik.
Jätkatakse Drupal 8 versioonis tutvustatud Layout Builderile lisafunktsionaalsuse arendamisega. Layout Builder võimaldab toimetajatel kujundada iseseisvalt täiesti uusi lehekülgi, toetudes suuresti populaarseks saanud drag-and-drop (eesti k tiri ja lohista) metoodikale.
Drupal 8 versioonis veel eksperimentaal staatuses olnud Claro administraatorite theme’ist (eesti k haldusteemast) sai Drupal 9 versioonis vaikimisi administraatorite theme. Claro põhineb uuel Drupali Desing Systemil, mille arendamisesse on panustanud erinevad eksperdid ja huvigrupid üle maailma. Selle eesmärgiks on pakkuda kasutajatele kaasaegset ja kasutajasõbralikku kasutajaliidest.
Decoupled (eesti k lahti haagitud) Drupali võimalused
Drupal ei oma fikseeritud eelseadistust - seda on võimalik konfigureerida vastavalt kliendi nõudmistele. Võib öelda, et Drupal 9 raamistik on ambitsioonikate projektide jaoks. Ühest küljest pakub see kliendile turvalisi n-ö. otse karbist lahendusi, teisalt jätkatakse JSON:API täiustamisega, mis võimaldab ehitada robustseid decoupled lahendusi. Drupal 9 eesmärk on astuda sama sammu tehnoloogiliste uuendustega.
Tehnoloogiliste uuenduste kiire kasutuselevõtt ja liidestamine Drupaliga peaks olema võimalikult lihtne. Drupal 9 projekti eestvedajate silmis on Drupali üks suuremaid trumpe mitmekeelse sisu mitmekordne kasutamine erinevates kanalites - näiteks kodulehega paralleelselt sama info kasutamine (erinevas vormis) kioskis, äpis ja voice-assistantis (eesti k hääljuhtimise programmis). Drupali API-first lähenemine ja sisu modelleerimise tugevused muudavad selle heaks kandidaadiks, mille abil ehitada AR ja VR prototüüpe või valmis lahendusi.
Drupal 9 versiooni arendades lähtuti API-first arendusmetoodikast. See tähendab, et kõik Drupali funktsionaalsused on saadaval läbi APIde ning salvestatud andmed on võimalik pärida või muuta, kasutades Drupali RESTful veebiteenuseid ja JSON:APIsid (Tim Lehnen, Drupali CTO). Views (eesti k vaadete) moodulit, mis võimaldab kiiresti ehitada struktureeritud andmevooge, saavad kasutada nii klassikalised Drupali lahendused kui ka decoupled versioonid.
Nagu näha, Drupal on mitmekülgsete võimaluste raamistik. Üks blogiartikkel on parasjagu nii pikk, et anda ülevaade ja tekitada huvi uue Drupal 9 versiooni vastu.
Kui Sul on kogemus mõne Drupali varasema versiooniga ja Sa pettusid, julgustan Sind arendajana andma Drupalile uut võimalust. Kui aga varasem kokkupuude puudub ja soovid rohkem teada saada, soovitan Sulle juhist, mis aitab Drupali oma arvutis 10 minutiga tööle saada. Oled alati teretulnud jagama meiega oma Drupali kogemust või esitama tekkinud küsimusi.
Video uuest Drupal 9 versiooni lansseerimisest.