Millega arvestada veebilehe Drupal 8-le üleviimisel
Drupali erinevad versioonid on veebilehtede sisuhaldusmootori ehk CMS-ina tänaseks päris populaarsed. Drupali on endale valinud nii avaliku sektori asutused kui ka väga suured ettevõtted ning me ise oleme sellega tuttavad juba alates selle kuuendast versioonist. Tänaseks on Drupalist juba mõnda aega väljas 8. versioon, mis pööras oma tulekuga päris palju pea peale. Pihta sai muuhulgas migratsioon ehk see, kuidas toimub vanema Drupali versiooni peale ehitatud veebilehe üle toomine Drupal 8 peale. Käesolevas postituses annan lühiülevaate teemadest, millega tuleb versiooni uuendamisel kindlasti arvestada.
Drupali migratsiooni protsess selle 6. või 7. versioonilt 8-le erineb varasemast praktikast. Näiteks liikudes 6. versioonilt 7. versiooni peale uuenes juba eksisteeriva saidi andmebaas. Drupal 8-le migreerumisel on vaja seadistada kõigepealt uus Drupal 8 veeb ja seejärel lisada vana süsteemi konfiguratsioon ja sisu. Drupal 8 toetub info üle toomiseks selle tuuma sisse ehitatud Migrate-nimelisele moodulile. Tegemist on paindliku mooduliga, mis on võimeline migreerima andmeid pea kõigist andmeallikatest, millele PHP hammas peale hakkab.
Migratsioon Drupal 6/7-lt versioon 8-le on tänaseks lahendamata probleemide tõttu veel eksperimentaal-faasis. Soovitan salvestada oma lemmikute alla Drupali kogukonna poolt hallatava teadaolevate probleemide lehekülje (https://www.drupal.org/docs/8/upgrade/known-issues-when-upgrading-from-drupal-6-or-7-to-drupal-8), kust leiab vastused olulisematele küsimustele.
Enamus Drupali peale ehitatud lehti on ühekeelsed ja suur osa neist on ingliskeelsed. Ehk sellest tulenevalt on mitmekeelsusega seotud bugid Drupal 8 juures kõige ulatuslikumalt levinud. Mitmekeelse varasema versiooninumbriga lehe migreerimine Drupal 8-le on keeruline ning seal esineb veel mitmeid lahendamata valukohti, millega tuleb arvestada.
Enne migratsiooniga alustamist pead tegema endale ülevaate enda tänasest ja tuleviku vajadustest. Selgita välja, mis toimib hästi ja mida peaks üle tooma. Samuti vaata välja lahendused ja moodulid, mis on aegunud või oma otstarve minetanud ning mille ületoomine ei ole mõttekas. Kindlasti tuleks enne 8. versioonile migreerumist kõigepealt uuendada eksisteeriva lehe moodulid nende kõige värskema versioonini.
Seejärel tuleks koostada nimekiri 6. ja 7. versiooni moodulitest, mis eksisteerival lehel aktiivsed on. Tõsiasi on see, et paljusid contrib mooduleid ei ole täna veel 8. versiooni jaoks kohandatud ehk nende moodulite vastav versioon ei ole veel saadaval. Seega tuleb analüüsida, milliseid mooduleid on vaja ja kuidas ühte moodulit asendada, kui seda Drupal 8 jaoks veel saadaval ei ole.
Samas peab silmas pidama muudatusi moodulites enestes. Osa mooduleid on minetanud contrib staatuse ning saanud osaks Drupal 8 tuumik (core) moodulitest. On mooduleid, mille funktsionaalsus erinevate Drupali versioonide puhul on erinevad ja ei kattu omavahel. Mõne 7. versiooni contrib mooduli poolt täidetavad ülesanded on Drupal 8 puhul liidetud mõne teise (suurema) mooduli koosseisu. Arenguid on ka vastupidises suunas. Näiteks eelmistest versioonidest tuttav Block moodul on uues versioonis lahutatud kaheks eraldiseisvaks mooduliks, milleks esimene on Block ja teine Custom Block moodul.
Kindlasti ei tohi unustada, et migratsiooni protsess ei paigalda puudu olevaid mooduleid. Kui soovid migreerida Drupal 6. või 7. mooduli konfiguratsiooni faile Drupal 8-le, siis pead kõigepealt veenduma, et vastav moodul on olemas ja aktiveeritud.
Väga oluline on mitte muuta uue Drupal 8 veebi konfiguratsioone ja mitte luua uut sisu enne, kui migratsiooni protsessid on lõppenud. Erinevalt Drupal 6-lt 7-le liikumisest, kus oli vaja eelnevalt luua kõik sisutüübid ja väljad, on nüüd 8-le liikumises see kõik osa migratsiooni protsessist. Kuigi migratsiooni protsess ei mõjuta algsaidi sisu, siis ei soovitata kasutada lähteveebina toodangus olevat (live) saiti. Eesmärgiks on säilitada tööprotsesside puhtus.
Migratsioonirakenduse (plugini) töömetoodika koosneb suures joones kolmest sammust:
Allikas: tööd teostava programmi konfiguratsioon
Protsess: kaardistatakse andmed
Siht: koht kuhu andmed viiakse
Ülevaade moodulitest mida võib kasutada sisu ja konfiguratsiooni failide üle toomiseks Drupal 8-le.
Allikas: https://github.com/MTechLLC/d8_custom_migrate
Märkused:
Automaatne: Drupal tuvastab ise mida on võimalik migreerida ja viib migratsioonid läbi.
Hübriid: Drupal tuvastab mida on võimalik migreerida, ülejäänu seadistatakse käsitsi.
Manuaalne: kõik migratsiooni seadistused pannakse paika käsitsi.
Allikad:
Upgrading from Drupal 6 or 7 to Drupal 8: https://www.drupal.org/docs/8/upgrade/upgrading-from-drupal-6-or-7-to-drupal-8
Preparing an upgrade: https://www.drupal.org/docs/8/upgrade/preparing-an-upgrade
Skipping a Version - Migrating from Drupal 6 to Drupal 8 with Drupal Migrate: https://thinkshout.com/blog/2017/05/skipping-a-version-migrating-from-drupal-6-to-drupal-8-with-drupal-migrate/
Drupal 8 Migration Strategies: https://dropsolid.com/en/blog/drupal-8-migration-strategies
DrupalCon Vienna 2017: Migrate Everything into Drupal 8: https://youtu.be/ZjyAXjTUvnM
Migrate with the Maintainers: https://github.com/MTechLLC/migrate-with-mainainers