Na początku czerwca 2020 roku premierę miała najnowsza, dziewiąta już wersja Drupala. Jakie zamiany i nowe funkcjonalności przyniosło nowe wydanie CMS-a? Co stanie się w najbliższym czasie z projektami na niższych wersjach Drupala? O tym w dzisiejszym tekście.
Drupal 9 – co stoi za nowszą wersją?
Drupal 9 został wypuszczony niemal równocześnie z ostatnią mniejszą aktualizacją Drupala 8 - 8.9. Powodów wydania nowej wersji systemu było kilka. Jednym z głównych było zapewnienie kompatybilności z wyższą wersją frameworka Symfony. Od ósmego wydania Drupal korzysta z komponentów Symfony, jednak w Drupal 8 niemożliwy jest upgrade do Symfony 4. Dopiero Drupal 9 zapewnił wsparcie dla czwartego wydania frameworka. Jest to szczególnie ważne, ponieważ pod koniec listopada 2021 r. Symfony 3.4 traci pełen support wydawcy – do listopada 2022 roku będą wydawane jedynie łatki bezpieczeństwa. Upgrade do Symfony 4.4 jest ważnym krokiem w stronę utrzymania najwyższej jakości działania na linii Drupal – Symfony.
Jakie zmiany przyniósł Drupal 9?
W zasadzie Drupal 9 nie różni się w znaczący sposób od swojego poprzednika, czyli Drupal 8. Można wręcz powiedzieć, że jest on ulepszoną wersją ,,ósemki’’. W porównaniu do ostatniej wersji Drupal 8 w Drupal 9 usunięto przestarzały kod oraz przeprowadzono aktualizacje rozwiązań, od których Drupal jest zależny, w tym tych najważniejszych, czyli Symfony oraz Twig, które zapewniają skuteczne działanie systemu.
W Drupal 9 zachowano również wprowadzoną w Drupal 8 szybką i łatwą aktualizację pomiędzy wydaniami. Dotyczy to nie tylko update’u z Drupal 9.0 do Drupal 9.1, ale i pomiędzy Drupal 8.9 a Drupal 9.0. Większość gotowych modułów nie wymaga także dużych zmian pomiędzy wersjami, chociaż zdarzają się takie, które nie są w pełni obsługiwane przez Drupala 9. Dotyczy to głównie rozwiązań customizowanych. O ile Drupal 8 działa na różnych wersjach PHP 7, o tyle do instalacji Drupala 9.0 konieczne jest wykorzystanie PHP 7.3 lub wyżej. Ponadto trwają pracę nad zapewnieniem wsparcia dla PHP 8 w Drupalu 9.
Co stanie się z Drupal 7 po wypuszczeniu Drupal 9?
Aktualizacja Drupala z 8 do 9 jest prostym procesem – najpierw należy podnieść ósemkę do najwyższej wersji, czyli 8.9, a następnie update wygląda podobnie, jak w przypadku każdej pomniejszej aktualizacji. Inaczej sytuacja przedstawia się w przypadku Drupal 7. Tutaj różnice systemowe są bardzo duże, więc aktualizację należy roztropnie zaplanować. Wiedzą o tym również twórcy Drupala, którzy wydłużyli support dla Drupal 7 do listopada 2022 roku (wcześniej planowano zakończyć oficjalne wsparcie siódemki już listopadzie 2021 r.).
Takie rozwiązanie pozwala wszystkim posiadaczowi strony, sklepu na Drupalu i aplikacji na wersji numer 7 na swobodne przejście do Drupal 9. Choć czasu jest jeszcze sporo, nie warto czekać, aż do ostatniej chwili. Zalecanym sposobem aktualizacji Drupal 7 do Drupal 9 jest migracja siódemki do Drupal 8, co zdecydowanie usprawni i ułatwi kolejny update, tym razem na wersję Drupal 9.
Jak przygotować witrynę na Drupal 7 lub 8 na Drupala 9?
Jak już wspomnieliśmy, w obu przypadkach proces wygląda inaczej. Ze względu na odmienną budowę przeniesienie się z Drupala 7 na Drupala 9 będzie czasochłonne i powinno wykorzystać wcześniejszą migrację do Drupal 8. Jako że oficjalne wsparcie dla ,,ósemki’’ kończy się rok wcześniej niż dla Drupal 7 (w listopadzie 2021 r., wtedy co wsparcie dla Symfony 3.4, które wykorzystuje Drupal 8) o migracji warto pomyśleć już teraz. A przede wszystkim znaleźć odpowiednią agencję, która będzie w stanie bezproblemowo zaktualizować Drupala 7 do Drupala 8. Ze względu na bardzo duże różnice konieczne będzie przepisanie wszystkich modułów używanych w Drupalu 7, aby Drupal 8 był w stanie je obsługiwać (nie stosując kodu uznanego za przestarzały w Drupal 9) oraz ich dostosowanie do OOP. Dostosowania wymagają również skórki Drupala oparte o PHP (w Drupalu 8 za kodowanie skórek odpowiada silnik Twig).
W przypadku Drupala 8 jedyne co należy zrobić, to podnieść ósemkę do najwyższej wersji, a także upewnić się, że moduły nie zawierają przestarzałych fragmentów kodu, przez co Drupal 9 nie będzie w stanie ich obsługiwać, a następnie przeprowadzić update tak, jak zwykle przy pomniejszych aktualizacjach Drupal 8.x.
Jak długo Drupal 9 będzie wspierany?
Pomimo tego, że Drupal 9 dopiero wyszedł, niecierpliwi zastanawiają się, kiedy na horyzoncie pojawi się następca. Dokładna data zakończenia supportu Drupal 9 nie jest oczywiście znana, przynajmniej na ten moment. Najprawdopodobniej będzie ona zależna od wsparcia Symfony. W momencie, w którym Symfony ogłosi datę wypuszczenia nowej wersji, dla której Drupal 9 nie będzie w stanie zapewnić kompatybilności, wtedy poznamy datę wydania Drupal 10. Podobnie jak przy wcześniejszych wersjach twórcy planują wypuszczenie Drupal 10 z wystarczającym wyprzedzeniem przed końcem supportu Drupal 9, tak aby ułatwić użytkownikom płynne przejście na nowszą wersję.
Przeczytaj również: Drupal 7 vs 8 – podobieństwa i różnice
Drupal 9 – podsumowanie
Czy Drupal 9 jest rewolucją w ekosystemie CMS-a? Zdecydowanie nie. Było nią wypuszczenie Drupala 8 kilka lat wcześniej. Drupal 9 kontynuuje dobre praktyki wprowadzone w poprzedniej wersji, ulepszając ją o drobne poprawki i przede wszystkim zapewniając większą przejrzystość kodu. Takie podejście pokazuje, że Drupal zmierza w jasno określonym kierunku i wprowadzone wcześniej zmiany były dobrym krokiem w stronę rozwoju systemu.