- OctoberCMS
- Aktualizacje
- Poradnik
Aktualizacja OctoberCMS do wersji 4: jak to robimy
Skok do OctoberCMS 4 zmienia przede wszystkim to, czego nie widać w panelu. Największym ryzykiem są wtyczki, a nie rdzeń, dlatego migracja zaczyna się od inwentaryzacji, a kończy na wersji testowej, testach i wdrożeniu.
Michał Płodowski Opublikowano Zaktualizowano 6 min czytania
Strona na starszym OctoberCMS zwykle działa i nic złego się nie dzieje, dopóki hosting nie zapowie wyłączenia starej wersji PHP albo dopóki ktoś nie poprosi o nową funkcję. Wtedy okazuje się, że system stoi na fundamencie, którego nikt już nie łata, a część wtyczek pochodzi od autorów, którzy zniknęli lata temu. Aktualizacja do OctoberCMS 4 zaczyna się u nas od 1 900 zł netto i trwa zwykle od 1 do 3 tygodni. Poniżej opisujemy, co się zmienia, gdzie leży prawdziwe ryzyko i jak przeprowadzamy taką migrację, żeby nie skończyła się awarią w piątek po południu.
Dlaczego warto to zrobić, zanim coś się zepsuje
Każda duża wersja OctoberCMS jest zbudowana na konkretnej wersji Laravela, a ta wymaga określonej wersji PHP. Im starszy system, tym starsze wymagania, aż dochodzi do momentu, w którym:
- hosting kończy wsparcie dla wersji PHP, na której strona działa,
- poprawki bezpieczeństwa dla starego rdzenia i bibliotek przestają się pojawiać,
- nowsze wtyczki i biblioteki nie chcą się zainstalować, bo wymagają nowszego środowiska,
- kolejne zmiany na stronie robią się coraz droższe, bo każdy programista musi najpierw odtworzyć u siebie przestarzałe środowisko.
Aktualizacja wykonana planowo trwa zwykle 1–3 tygodnie. Aktualizacja wykonana po awarii albo po wymuszonej zmianie PHP na serwerze jest gaszeniem pożaru i kosztuje więcej. Jeśli przy okazji zastanawiasz się, czy w ogóle zostać przy OctoberCMS, porównujemy go z innymi opcjami we wpisie WordPress czy OctoberCMS.
Co zmienia się przy przejściu na OctoberCMS 4
Najważniejsze zmiany nie są tym, co widać w panelu. Redaktor po aktualizacji zwykle pracuje tak samo jak wcześniej. Zmienia się to, co pod spodem.
- Wyższe minimalne wymagania środowiska. Nowsza wersja OctoberCMS oznacza nowszą wersję Laravela i wyższy minimalny PHP. To pierwsza rzecz, którą sprawdzamy na serwerze, bo bez tego nie ma o czym rozmawiać.
- Aktualizacja idzie przez Composera. Rdzeń i wtyczki są zależnościami projektu, więc migracja to praca na repozytorium i na kopii, a nie klikanie w panelu na żywej stronie.
- Zmiany w bibliotekach pod spodem. Wraz z Laravelem zmieniają się jego zależności. Kod, który korzystał z wycofanych funkcji, trzeba dostosować. Dotyczy to zarówno wtyczek, jak i motywu.
- Motyw i szablony. Szablony Twig zwykle przenoszą się bez dramatów, ale własne komponenty, filtry i wszystko, co sięga do klas frameworka, wymaga przeglądu.
Świadomie nie podajemy tu numerów wersji PHP ani Laravela. One się zmieniają, a jedynym wiarygodnym źródłem jest dokumentacja OctoberCMS i wymagania wersji, którą instalujemy w danym momencie. Przed wyceną sprawdzamy to dla Twojej strony.
Gdzie leży największe ryzyko: wtyczki
Rdzeń OctoberCMS aktualizuje się przewidywalnie. Problemem są dodatki, a właściwie ich stan.
Typowa strona po kilku latach ma kilkanaście wtyczek. Część jest aktywnie rozwijana i ma wersje zgodne z nową odsłoną systemu. Część nie była ruszana od dawna. Część jest kupiona i wymaga ważnej licencji, żeby w ogóle pobrać nowszą wersję. Zdarza się też wtyczka napisana kiedyś przez inną firmę specjalnie dla tej strony, bez dokumentacji i bez repozytorium.
Dlatego pierwszym krokiem nigdy nie jest aktualizacja, tylko inwentaryzacja. Dla każdej wtyczki odpowiadamy na cztery pytania:
- Czy w ogóle jest używana? Zaskakująco często odpowiedź brzmi „nie”.
- Czy ma wersję zgodną z OctoberCMS 4?
- Czy jest jeszcze rozwijana, czy została porzucona?
- Jeśli jest porzucona, czy istnieje zamiennik, czy trzeba tę funkcję napisać od nowa?
Efektem jest lista z decyzją przy każdej pozycji: aktualizujemy, wymieniamy, przepisujemy albo usuwamy. Dopiero ta lista pozwala podać sensowną cenę, bo to ona decyduje o pracochłonności, a nie sam skok wersji.
Jak przeprowadzamy aktualizację
Kopia i środowisko testowe
Zaczynamy od pełnej kopii bazy i plików oraz od postawienia strony na osobnym adresie testowym. Cała praca dzieje się tam. Produkcja działa przez ten czas normalnie i nikt nie zauważa, że coś się dzieje.
Aktualizacja rdzenia i zależności
Podnosimy wersję PHP w środowisku testowym, aktualizujemy rdzeń i zależności przez Composera, a potem naprawiamy to, co się posypało. Na tym etapie zwykle wychodzą najbardziej nieoczekiwane rzeczy, na przykład własny kod sprzed lat, o którym nikt już nie pamiętał.
Wtyczki i motyw
Wdrażamy decyzje z inwentaryzacji: nowsze wersje, zamienniki, przepisane funkcje. Motyw przechodzi przegląd pod kątem wycofanych elementów.
Testy
Sprawdzamy najważniejsze ścieżki: wysyłkę formularzy, logowanie do panelu, generowanie dokumentów, integracje z zewnętrznymi systemami, wyszukiwarkę, mapę strony i przekierowania. Przeglądamy też logi, bo część błędów nie jest widoczna na ekranie.
Wdrożenie i obserwacja
Na produkcję wchodzimy dopiero po Twojej akceptacji wersji testowej, w umówionym oknie, z gotowym planem powrotu do poprzedniej wersji. Przez kilka dni po wdrożeniu obserwujemy logi i błędy 404.
Czego nie robimy: nie aktualizujemy rdzenia bezpośrednio na działającej stronie i nie łączymy migracji z przebudową wyglądu. Jeśli strona ma przy okazji dostać nowy layout, robimy to jako osobny etap, żeby w razie problemu było wiadomo, co je wywołało.
Cena i czas
Aktualizacja do OctoberCMS 4 zaczyna się od 1 900 zł netto i trwa zwykle od 1 do 3 tygodni. Najmocniej na wycenę wpływają trzy rzeczy: liczba wtyczek, stan tych porzuconych i ilość własnego kodu dopisanego kiedyś do motywu.
Dlatego zanim podamy cenę, przeglądamy stronę i przygotowujemy listę wtyczek z decyzjami. Wycenę dostajesz na piśmie, z rozbiciem na pozycje.
Po aktualizacji warto zadbać, żeby sytuacja nie powtórzyła się za kilka lat. Regularne aktualizacje rdzenia i wtyczek, kopie zapasowe oraz monitoring wchodzą w skład opieki i hostingu, od 99 zł netto miesięcznie.
Dlaczego akurat my
Michał Płodowski, założyciel Renatio, jest autorem 12 wtyczek do OctoberCMS dostępnych w oficjalnym Marketplace, między innymi Form Builder, Backup Manager, SEO Manager, DynamicPDF, Mail Log, Spam Protection i Two-Factor Authentication.
To ma praktyczne znaczenie przy migracji. Wtyczka publikowana w Marketplace musi działać na bardzo różnych konfiguracjach i przejść przez kolejne wersje systemu, więc jej autor przechodzi przez każdą taką zmianę od strony kodu, nie samego panelu. Wiemy, które elementy API zwykle sprawiają kłopot i jak wygląda porządnie napisana wtyczka, a jak taka, którą łatwiej przepisać niż naprawiać.
Checklista przed aktualizacją
- Mam aktualną kopię bazy i plików, odłożoną poza serwerem.
- Wiem, jaka wersja OctoberCMS i PHP działa na stronie dziś.
- Mam listę zainstalowanych wtyczek i wiem, które są faktycznie używane.
- Wiem, czy licencje płatnych wtyczek i samego systemu są ważne.
- Mam dostęp do repozytorium albo do kompletu plików strony.
- Wiem, które funkcje strony są krytyczne i muszą zostać przetestowane.
- Mam spisane integracje z systemami zewnętrznymi.
- Wiem, kto po mojej stronie odbierze wersję testową.
Sprawdźmy, na czym stoi Twoja strona
Napisz, jaka wersja OctoberCMS działa u Ciebie dziś i co strona musi umieć. Przejrzymy wtyczki, powiemy, co da się zaktualizować, a co trzeba wymienić, i przygotujemy wycenę na piśmie. Odpowiadamy w ciągu 1 dnia roboczego.
Więcej o tym, jak pracujemy z tym systemem, znajdziesz na stronie wdrożeń OctoberCMS. Możesz też po prostu napisać do nas.
Ceny netto, doliczamy 23% VAT.
Michał Płodowski
Programista i założyciel Renatio. Buduje systemy w Laravelu i tworzy wtyczki do OctoberCMS dostępne w oficjalnym Marketplace.
Powiązane usługi
Wyceń projekt