.

Jak się przygotować na Drupal 7 end of life?

Świat technologii ciągle się rozwija i dąży do tworzenia nowych i usprawniania starych rozwiązań. Co za tym idzie, w cykl życia każdego oprogramowania wpisany jest jego niechybny koniec. Taki los czeka już niebawem zasłużonego i wciąż popularnego Drupala 7 wraz z końcem jego oficjalnego wsparcia przez twórców. Jest to doskonały moment, aby przypomnieć sobie nowinki, jakie wprowadził względem poprzednich wersji oraz rzucić trochę światła na to co dalej.

Podstawowe informacje

Wypuszczony 5 stycznia 2011 roku, Drupal 7 był następcą, czego łatwo się domyślić, Drupala 6 i wniósł wiele wyczekiwanych i przede wszystkim koniecznych zmian. Przybliżę tu kilka najważniejszych spośród nich.

  • Wprowadzono koncept encji (entity), znany z wielu innych rozwiązań. Encjami może odtąd być wszystko, od profilu użytkownika i node’a po rzeczy takie jak komentarz czy taxonomy term.
  • Pojawiło się wsparcie dla multisite.
  • Content Construction Kit (CCK) stało się modułem w rdzeniu Drupala.

Poza tym pojawiło się wiele mniejszych, ale nie mniej ważnych usprawnień, takich jak: poprawa wydajności i bezpieczeństwa, zmiany w hook’ach oraz API, zmniejszenie wymagań systemowych, możliwość tworzenia skrótów, planowanie zadań z użyciem crona i wiele, wiele innych.

Drupal 7 end of life - zmiana terminu

Oryginalnie koniec wsparcia dla Drupala 7 miał mieć miejsce w listopadzie 2021 roku. Ta data została jednak zmieniona na 28 Listopada 2022 roku. Skąd ta zmiana? Jak dowiadujemy się z oficjalnej informacji na ten temat, głównym powodem przesunięcia jest COVID-19 i to jaki wpływ wywarł on na międzynarodowy rynek, a w szczególności na firmy i ich budżety. W praktyce oznacza to dodatkowy rok wsparcia w zakresie bezpieczeństwa oraz tworzenia poprawek dla stron opartych o Drupala 7. Jest to też dodatkowy czas, aby przenieść się ze swoimi projektami na nowsze i prężnie wspierane oraz rozwijane wersje Drupala.

Koniec wsparcia Drupala 7

Od końca listopada 2022 jakiekolwiek dalsze oficjalne poprawki nie będą publikowane. Zatem, jeśli nie zaktualizujemy naszych stron do wyższej wersji Drupala, będziemy zdani na siebie samych oraz łaskę hackerów, dla których nasza strona może stać się gruntem podatnym na ataki. Nie jest to oczywiście jedyny powód, dla którego warto jest przeskoczyć na wersję 8 lub 9, o czym postaram się Was przekonać w następnym akapicie.

Drupal 7 vs Drupal 8

Wprowadzenie Drupala 8 było bardzo dużą i znaczącą zmianą w kierunku rozwoju systemu. Spójrzmy na kilka z najważniejszych zmian i usprawnień względem poprzedniej wersji.

  • Drupal został przepisany z użyciem frameworka Symfony. Dla osób niezaznajomionych z tematem, Symfony jest jednym z najpopularniejszych frameworków PHP. Zatem już na starcie Drupal mógł poszczycić się w swoich podstawach dużym wsparciem społeczności i twórców związanych z Symfony. Jest to zmiana o tyle duża, iż wcześniejsze wersje Drupala nie były oparte o żaden tak potężny framework.
  • Wprowadzony został nowy silnik tworzenia szablonów - znany i popularny Twig (jest to wynik przejścia na Symfony, gdzie wspomniany silnik jest również używany). Usprawnia to pracę przy tworzeniu szablonów i podnosi sposób ich implementowania do współczesnych standardów, porzucając dotychczasowe themes i PHP templates.
  • Brak sensownego edytora tekstu w Drupalu 7 został rozwiązany w wersji 8 za pomocą CKEditor - niezwykle rozbudowanego i wielofunkcyjnego narzędzia do pracy nad treścią.
  • Moduł Views stał się częścią rdzenia systemu.
  • Drupal 8 przyniósł prawie 200 zmian i poprawek, o których możecie przeczytać na stronie Drupal.org.

Może Cię również zainteresować: Sprawna praca z Composerem w Drupal 8

Czy zatem zmiana z wersji 7 na 8 lub nawet 9 (o której przeczytasz w dalszej części tekstu) to dobry pomysł? Krótko ujmująć: TAK! Od samego początku przejście na Drupala 8 wydawało się ruchem wręcz koniecznym. Ilość nowinek i możliwości, jakie wprowadziła w ówczesnym czasie wersja 8 była oszałamiająca, a przestarzałe już rozwiązania znane z Drupala 7 zaczynały być kulą u nogi w zestawieniu z szalejącym rozwojem i postępem w dziedzinie web developmentu.

Skąd zatem tak duża liczba (około 560 tysięcy aktywnych instalacji - stan na lipiec 2021) stron wciąż funkcjonujących na Drupalu 7 oraz wieloletnie wsparcie twórców tak starej wersji oprogramowania (przypominamy, że wydany w czerwcu 2020 roku Drupal 9 jest aktualnie domyślną wersją)? Wszystko wynika z tego, jak wielką rewolucją był Drupal 8 i jak wielkie zmiany dokonały się w samej logice, będącej podłożem dla całego systemu. Wprowadzenie Symfony jako bazowego frameworka dla Drupala było bowiem bronią obosieczną. Choć przyniosło ono w gruncie rzeczy same dobre zmiany, doprowadziło do praktycznie zerowej kompatybilności z poprzednimi wersjami. Aktualizacja z Drupala 7 do 8 nie mogła zostać przeprowadzona automatycznie, a wymagała niekiedy nawet przepisania całej strony na nowo. Jak łatwo sobie wyobrazić, mogło to być bardzo problematyczne dla systemów utrzymywanych przez lata, nie mówiąc już o kosztach, które taka zmiana mogła generować.

Dzisiaj jesteśmy już jednak mądrzejsi o lata doświadczeń. Aktualizacja z wersji 7 na 8 nie musi być już aż tak tytaniczną pracą jak na samym początku. Na rynku mamy do dyspozycji wiele narzędzi, które mogą nam pomóc w takiej migracji i ją ułatwić.

Drupal 8 EOL - Co dalej?

Niech o popularności Drupala 7 świadczy jeszcze jeden fakt: z dniem 2 Listopada 2021, czyli o rok wcześniej niż jego starszy brat, swoje oficjalne wsparcie kończy Drupal 8. Powodem tej decyzji jest przede wszystkim to, iż aktualizacja Drupala do z wersji 8 do 9 jest o wiele prostsza i nierzadko zupełnie nie wymaga od nas żadnej dodatkowej pracy. Co za tym idzie, przeniesienie naszej strony z wersji 7 na 8 jest pierwszym krokiem do aktualizacji do wersji najnowszej i aktualnie rozwijanej. Drupal 9 względem 8 jest już bowiem tylko (i aż) ewolucją, a nie rewolucją myśli stojącej za premierą Drupala 8. Po więcej informacji na ten temat odsyłam Was na oficjalną stronę wersji 9 oraz do naszego wpisu poświęconego przejściu na Drupala 9.

End of life dla Drupala 7 jest planowany na listopad 2022, natomiast dla Drupala 8 na listopad 2021

 

Drupal 7 EOL - profesjonalna pomoc

Jako iż ustaliliśmy już, że przejście do najnowszej wersji Drupala jest wręcz koniecznością, a wraz z przeniesieniem planowanej daty zakończenia wsparcia zyskaliśmy jeszczę trochę czasu, przybliżę Wam ten proces. Postaram się wyodrębnić tutaj dwie możliwe ścieżki: dla osób mniej zorientowanych w temacie oraz dla osób zaawansowanych i chcących poznać naszą metodologię.

Przejście z Drupala 7 na 8 dla początkujących

Jak już wspomniałem, proces aktualizacji nie jest tu automatyczny i wymaga chociażby podstawowej wiedzy technicznej oraz doświadczenia w przeprowadzaniu podobnych migracji. Jeżeli nie czujesz się na siłach rekomendujemy zwrócenie się o pomoc do profesjonalnego zespołu wsparcia Drupala. Skorzystanie z usług specjalistów doświadczonych w tego typu migracjach może znacznie skrócić cały proces, a także rozwiać wiele związanych z nim wątpliwości.

Przejście z Drupala 7 na 8 dla zaawansowanych

Teraz pokażemy na bazie naszego doświadczenia, jak zabrać się za taki proces. Przede wszystkim łatwiej nam będzie migrować stronę do wersji 8, a dopiero w kolejnym kroku do wersji 9. Powinniśmy unikać, aż tak dużych skoków (czyli z 7 do 9), bo mogą wprowadzić więcej niepotrzebnego chaosu, niż jest to konieczne.

  1. Zacznijmy od przejrzenia dostępnych modułów i upewnienia się, że wszystkie, które posiadamy są przez nas rzeczywiście wykorzystywane. Na wstępie ważne jest również upewnienie się, że rozumiemy funkcjonalności strony, aby móc je w pełni przełożyć na nową wersję Drupala.
  2. Zmiana wersji to dobry moment na porządki i przeprojektowanie wyglądu naszej strony, który może być przestarzały.
  3. Customowe moduły muszą zostać przepisane. Tutaj nie ma innej opcji, jak po prostu przepisać moduły, stosując się do nowej metody ich implementacji.
  4. Tak jak w przypadku modułów, konieczne będzie również przepisanie customowych skórek. Pojawienie się silnika szablonów Twig to duża zmiana i przełożenie starych templatek na to rozwiązanie jest w pełni obligatoryjne.
  5. Drupal 8 zmienił sposób przechowywania danych w bazie oraz jej strukturę, więc nie obejdzie się bez migrowania danych. Pomogą nam w tym takie moduły jak Migrate, Migrate Drupal, Migrate Upgrade oraz Migrate Plus.
  6. PUNKT NAJWAŻNIEJSZY: backup i jeszcze raz backup. Przed dokonywaniem jakichkolwiek zmian (nie wspominając już o tak kluczowej jak ta) konieczne jest stworzenie kopii bezpieczeństwa. Oszczędzi nam to nerwów w wypadku nieprzewidzianego niepowodzenia w trakcie migracji. Wydaje się to banalne, ale niejednokrotnie punkt ten jest bagatelizowany.
  7. Warto zadbać o to by nasz Drupal był zaktualizowany do najnowszej możliwej wersji Drupala 7. Powinno to zminimalizować jakiekolwiek trudności w przenoszeniu konfiguracji.

Jeżeli uda nam się przenieść stronę do Drupala 8, sama jej aktualizacja do wersji 9 nie powinna przynieść większych problemów. Musimy tu zadbać przede wszystkim o zastąpienie nowym kodem lub pozbycie się przestarzałych metod z naszego kodu. Taki kod pomoże nam znaleźć między innymi narzędzie drupal-check.

W ramach wsparcia dla Drupala utrzymujemy istniejące strony internetowe i rozbudowujemy je o nowe funkcjonalności