W zeszłym tygodniu wystartowała nowa wersja forum Łowców Gier. Pomimo tego że jest to „tylko” aktualizacja starego silnika, całość okazała się skomplikowanym i bolesnym procesem. Problemem był zarówno duży przeskok wersji (z phpBB 3.0.x na phpBB 3.2.x – nie dało się zaktualizować bezpośrednio do docelowej wersji, musieliśmy pośrednio zaktualizować do phpBB 3.1.x) jak i liczba wtyczek oraz modyfikacji zainstalowanych na starym silniku, które trzeba było zmigrować (żadne stare rozszerzenie nie było kompatybilne z nową wersją silnika forum, a większość nie miała działających zamienników) lub przynajmniej wyczyścić po nich pozostałości (wtyczki modyfikowały bazę, co konfliktowało z nowymi rozszerzeniami).
Nie pomagał też sam silnik – phpBB poczyniło spory postęp od czasu phpBB 3.0 (zwłaszcza w kontekście rozszerzeń), ale ciągle architektonicznie zatrzymało się w poprzedniej epoce. Wykorzystuje przestarzałe wzorce (pliki obsługujące konkretne widoki, mające po kilka tysięcy linii), przestarzałe zależności (Symfony 3…) oraz pełne jest dziwnych i irytujących rozwiązań (zablokowanie dostępu do niektórych globalnych zmiennych – powoduje to konflikty przy integracji z innymi narzędziami).
Dodatkowo liczba opcji w konfiguracji jest naprawdę imponująca, ale sprawia to że całość jest niesamowicie skomplikowana. Stworzenie motywu od zera wymaga tytanicznego wręcz wysiłku, przez co większość (wszystkie?) gotowych motywów to tylko delikatne przeróbki standardowego motywu phpBB (ze wszystkimi jego ułomnościami w kontekście UX), a jakiekolwiek zmiany są trudne i zdradliwe. Pomimo więc wykorzystania gotowego motywu (Milk), dostosowanie go do naszych potrzeb oraz poprawki pochłonęły dużo pracy. Efekt też jest daleki od ideału i UX mocno odstaje od poziomu strony głównej Łowców Gier czy GG.deals.
Sprawę pogarszał też fakt, że wybraliśmy phpBB 3.2, a nie phpBB 3.3, które wyszło kilka dni przed rozpoczęciem prac i większość ekosystemu nie była jeszcze kompatybilna z nową wersją. Od początku więc założyliśmy, że będzie pracować na własnym forku i samodzielnie poprawiać i dostosowywać pod nas zarówno sam silnik, jak i rozszerzenia oraz motywy.
Wisienką na torcie miał być widget Discorda, który miał stanowić namiastkę usuniętego czatu forum. Postanowiliśmy wykorzystać Widgetbot.io, ponieważ idealnie wpasowywał się w nasze potrzeby i wydawał się dość prosty do instalacji (wystarczyło wrzucić JavaScript do osadzenia widgetu na stronie i zaprosić bota na serwer). W rzeczywistości okazało się to dużo bardziej skomplikowane. Aktualnie widget dostępny jest w dwóch wersjach – starej i już nierozwijanej (dostępnej domyślnie dla wszystkich) oraz nowej, w fazie testów beta (dostępnej tylko dla osób które zgłoszą się do testów). Obie wersje są hostowane przez twórców i są dostępne za darmo. I obie działają bardzo niestabilnie (do nieakceptowalnego wręcz poziomu). Ostatecznie zdecydowaliśmy się na wykorzystanie starszej wersji i hostowanie jej na własnym serwerze (nowa wersja nie jest publicznie dostępna do samodzielnej instalacji). Sytuacja daleka od ideału, bo stara wersja nie obsługuje nowych ficzerów Discorda i ma znane błędy, ale przynajmniej działa stabilnie.
Jeden komentarz do „Nowe forum Łowców Gier”