.

Jak poprawnie zadbać o aktualizację Drupala?

Prawdopodobnie wiele osób zastanawia się, w jakim celu twórcy systemów zalecają regularną aktualizację do najnowszej wersji oraz dlaczego na każdym kroku jesteśmy informowani pop-up’ami, że została wypuszczona najnowsza łatka lub inna poprawka, zmieniająca niekiedy tylko kilka lini kodu w oprogramowaniu. Na przykładzie Drupala postaram się wyjaśnić, dlaczego jest to tak kluczowe. Mimo że system działa poprawnie, może zawierać dużo błędów oraz zaskoczyć nas niestabilną pracą.

Dlaczego warto przeprowadzać aktualizacje systemów?

Pierwszym i najważniejszym powodem, dla którego warto przeprowadzać regularne aktualizacje (w tym Drupala) jest bezpieczeństwo samego systemu. Jeżeli twórcy lub społeczność wykryją lukę w oprogramowaniu, dzięki update’owi mogą ją niezwłocznie naprawić i uchronić użytkowników od zagrożeń (takich jak ataki hakerskie), które czyhają na każdym kroku.

W przypadku Drupala nowe wersje oprogramowania nie tylko chronią nas przed groźnymi atakami, ale mogą również dostarczać nowe funkcjonalności. Zazwyczaj opcje tego typu pojawiają się w wersjach “major”, czyli na przykład 8.2, 8.3. W każdej chwili możemy sprawdzić plan aktualizacji na roadmapie na stronie Drupala.

Personalizacja systemu jest ważna dla każdego użytkownika i właśnie dzięki update’owi możemy zyskać nowe moduły czy dodatkowe opcje, które ułatwią nam pracę. Warto także pamiętać, że regularna aktualizacja chroni nas przed niepotrzebną pracą programistyczną w przyszłości, ponieważ im starszą mamy wersję Drupala, tym trudniej zainstalować najnowszego update’a. Kolejną zaletą jest ciągłość działania strony internetowej, ponieważ unikamy czasochłonnych awarii oraz minimalizujemy ryzyko niestabilnej pracy systemu.

Kiedy warto przeprowadzać aktualizacje?

Jak już wspomnieliśmy, aktualizacje najlepiej przeprowadzać regularnie. Jak tylko dostajemy powiadomienie o nowej wersji lub dowiemy się o tym z innego źródła, powinniśmy taką aktualizację zaplanować na najbliższy czas.

W przypadku Drupala update’y pojawiają się mniej więcej dwa razy w miesiącu. Trzeba również pamiętać, że monitorowanie daty, do której świadczone jest wsparcie dla danej wersji Drupala to niekiedy perspektywa kilku lat. W związku z tym musimy mieć na uwadze że każda wersja ma zaplanowany swój “koniec życia” i zazwyczaj należy przeprowadzić przy aktualizacji migrację do nowszej wersji. Jeśli chcemy uchronić nasz system przed atakami hakerskimi i przestojami w działaniu, a także zachować płynność działania strony, musimy pamiętać, aby jednak zawsze używać najnowszej wersji (lub takiej, która posiada wsparcie).

Dodatkowo pojawiają się też aktualizacje samych modułów (w zależności od tego, które obecnie mamy zainstalowane) i samego PHP. Odnośnie modułów, nie zawsze musimy działać tak szybko, ponieważ przy wydaniu dostępna jest informacja, co dokładnie zostało poprawione oraz kto jest zagrożony. Jeżeli dany problem nas nie dotyczy, możemy zrobić to w bardziej dogodnej dla nas chwili. Uwagę należy zwrócić w przypadku PHP - tutaj warto działać szybko, zwłaszcza jeśli nowe wydanie poprawia luki bezpieczeństwa z poprzedniej wersji.

Podsumowując, gdy nie mamy czasu na zainstalowanie najnowszego update'u (takie sytuacje niestety czasami się zdarzają), postarajmy się jednak używać wersji, która ma aktualnie zapewnione wsparcie. W przypadku modułów, możemy w pierwszej kolejności dbać o te, których najczęściej używamy. Zapewni nam to bezstresową pracę oraz pewność, że zawsze będziemy mogli liczyć na szybką pomoc w przypadku niespodziewanych błędów.

Aktualizacja Drupala - przejście na wyższą wersję

Aktualizacja Drupala w ramach tej samej wersji głównej zazwyczaj przebiega sprawnie i nie dostarcza zbyt wielu błędów. Natomiast w przypadku zmiany głównych wersji Drupala, update może być znacznie trudniejszy.

Przejście z Drupala 7 na 8

Aktualizacji z wersji 7 do 8 niestety nie można zrobić automatycznie. W większości przypadków należy napisać stronę od nowa. Drupal 8 w dużym stopniu zmienił sposób przechowywania treści i konfiguracji w bazie danych. W związku z tym baza danych oraz pozostałe pliki muszą zostać przeniesione do nowej strony zbudowanej na wersji 8. Dane konfiguracyjne zawierają typy treści, role użytkowników czy definicje pól. Musimy również pamiętać, że nie wszystkie moduły mają automatyczne ścieżki aktualizacji. Niekiedy konieczna będzie ręczna ingerencja w kod lub niestandardowa migracja.

W porównaniu do wersji 7 zmieniła się struktura motywów. Jest to kolejna kwestia, która musi zostać przebudowana, aby treści wyświetlały się poprawnie w wersji 8. W celu ułatwienia tego zadania, najlepiej zaopatrzyć się w odpowiednie narzędzia z oficjalnej strony Drupala:

Kolejną rzeczą ułatwiającą nam migrację jest analiza modułów Drupala. Musimy określić, które moduły są dla nas najważniejsze (najlepiej w formie listy) i czy na pewno ich instalacja na Drupalu 8 jest konieczna. Pamiętajmy także o aktualizacji Drupala 7 do najnowszej wersji. Dzięki temu łatwiej będzie przenieść dane dotyczące konfiguracji oraz contentu. Ostatnim krokiem przed samą migracją jest utworzenie kopii zapasowej obecnej strony, zbudowanej na wersji 7. Jeżeli cokolwiek pójdzie w złym kierunku, mamy gwarancję, że nie stracimy strony i danych.

Aktualizacja Drupala 7 do wersji 8 jest skomplikowaną operacją, ale przynosi sporo korzyści.

  1. W rdzeniu Drupal 8 dodano dużo nowych funkcji oraz modułów, np. Media i Layout Builder.
  2. Drupal 8 posiada dostęp do nowocześniejszych technologii - używa bardziej współczesnych narzędzi, które ułatwiają pracę edytorską. Dzięki temu konfiguracja jest łatwiejsza i lepiej przystosowana do osób, które dopiero zaczynają przygodę z tym CMS-em.
  3. W Drupalu 8 częścią rdzenia jest moduł Views, który z łatwością przedstawia nam dodane treści na wiele różnych sposobów. Dodatkowo sama strona główna jest osobnym widokiem, w związku z tym możemy w łatwy sposób zarządzać poszczególnymi elementami.
  4. W rdzeniu znalazły się również moduły dostarczające nowe typy pól (takie jak telefon, e-mail, odnośnik, meta tagi, referencja do encji czy formularze kontaktowe).

Dodatkowo Drupal 8 zdecydowanie lepiej nadaje się do większych stron niż Drupal 7, ponieważ można go zoptymalizować (posiada znacznie bardziej zaawansowany system cache, sterowany tagami oraz kontekstami), co powoduje, że pracuje się z nim płynnie i szybko. Oparty jest na komponentach frameworka Symfony, który uważany jest w świecie PHP developmentu za najlepsze rozwiązanie do tworzenia złożonych aplikacji.

Przejście z Drupala 8 na 9

Drupal 9 nie różni się w znaczący sposób od wersji 8. Ważną informacją jest upgrade do Symfony 4, które zapewnia zgodność z najnowszymi standardami - dzięki temu programujemy według najnowszych specyfikacji. Poza tym Drupal 9 jest ulepszonym wariantem poprzedniej wersji. Usunięto część starego kodu, zaktualizowano Symfony oraz Twig i dzięki temu mamy pewność, że system będzie działał zawsze skutecznie i bezproblemowo. Zachowano także szybką i prostą aktualizację pomiędzy wydaniami (czyli np. przejście z wersji 8 na 9). Update’y modułów również nie będą wymagały wielu dodatkowych zmian. Należy również pamiętać, że Drupal 9 wykorzystuje PHP 7.3 lub wyższe wersje.

Migracja do najnowszej wersji na pewno będzie wymagała od nas weryfikacji kodu aplikacji. Należy usunąć z niego elementy oznaczone jako “deprecated”. Możemy do tego użyć narzędzia drupal-check, które automatycznie namierzy przestarzałe fragmenty kodu. Następnie możemy przystąpić do zautomatyzowanego procesu, którego czas wykonywania jest uzależniony od samej strony i zapewni nam najnowszą wersję oprogramowania.

Jak testować system po aktualizacji?

Jednym z ważniejszych kroków, jakie należy wykonać po jakiekolwiek aktualizacji oprogramowania jest przetestowanie wprowadzonych zmian lub całej aplikacji albo systemu. Zdarzają się sytuacje, że update wiąże się z utratą danych, awarią systemu lub nieoczekiwanymi błędami. W przypadku Drupala możemy zastosować na przykład smoke testy. Pozwalają one na sprawdzenie, czy wszystkie podstrony wyświetlają się bez krytycznych błędów. Inną opcją są wszelkie testy wizualne, które porównują poprzedni wygląd strony do nowego. Należałoby również zweryfikować działanie poszczególnych formularzy i modułów oraz sprawdzić czy dane wprowadzane na stronach są przyporządkowane do prawidłowych pól.

Podsumowując, należy sprawdzić witrynę zarówno od strony wizualnej jak i funkcjonalnej. Technicznie strona powinna działać poprawnie, drobne zmiany w jej wyglądzie można poprawić w następnej kolejności.

Podsumowanie

Oprogramowanie, niezależnie czy dotyczy ono strony internetowej (jak w przypadku Drupala), czy systemu operacyjnego lub innej aplikacji, powinno być regularnie aktualizowane. Zapewnia to nam wsparcie producenta lub twórców oraz może uchronić nas przed wszelkimi atakami z zewnątrz. Dodatkowo często mamy do dyspozycji nowe funkcje, moduły lub usprawnienia, które w znaczący sposób mogą zmienić nasz komfort pracy z danym systemem.

Jeśli nie wiesz do końca, jak przeprowadzić aktualizację swojej wersji CMS-a, sprawdź, jak możemy Ci pomóc w ramach wsparcia Drupala.