Problemy aktualizacji Joomla!

joomla bug kolejnej wersji

Mobilne aplikacje, graficzne interfejsy i, co najważniejsze, systemy zarządzania treścią (CMS) to podstawowe elementy współczesnego środowiska IT. Rynek w tej branży rozwija się tak dynamicznie, że niemal nie sposób nadążyć za kolejnymi aktualizacjami. Wiele z nich okazuje się "wyższą koniecznością" o podłożu naprawczym, niekiedy jednak mamy do czynienia z prawdziwą nadprodukcją.

Wszelkie uchybienia są w tej materii niedopuszczalne, ale jak zwykle jedynie na papierze. Błędy w pośpiechu za deadline'ami, choć mogą się zdarzyć (i niestety zdarzają regularnie) nawet największym graczom, są błyskawicznie wychwytywane przez dociekliwe roboty i spostrzegawczych użytkowników, którzy nie pozostawiają suchej nitki na nieuważnych deweloperach, którzy wypuszczają kolejne wersje w zaskakująco krótkich odstępach czasowych.

Nie inaczej jest w przypadku Joomli!, która na przestrzeni ostatnich trzech miesięcy zaliczyła błyskawiczny przeskok o trzy nowe update'y, z których każdy polegał, jak się nietrudno domyślić, na eliminowaniu zauważonych bugów, które w każdym przypadku wymykały się spod kontroli. Przykład ten pokazuje dobitnie, że od przestrzegania terminów znacznie ważniejsza jest skrupulatność i precyzja działania. Nawet jeśli prawdą jest stare porzekadło mówiące, że "potrzeba jest matką wynalazków", to pośpiech wydaje się jednym z ich najgroźniejszych nemezis.

W połowie grudnia 2017 udostępniono wersję 3.8.3, która zawierała ponad 60 poprawek i obejmowała takie ulepszenia jak:

  • Obsługa wielu źródeł pobierania na serwerach aktualizacji,
  • Zapewnienie zgodności PHP 7.2,
  • Aktualizacja TinyMCE do wersji 4.5.8,
  • Komponent Wielojęzyczność: redukcja liczby zduplikowanych zapytań,
  • Wielojęzyczność: naprawiono wyświetlanie pól, gdy dany element ustawiono na wszystkie,
  • Wyeliminowano obniżenie wydajności dodatku wyszukiwarki treści w dużych witrynach z własnymi dodatkowymi polami.

Niestety euforia nie zdążyła potrwać zbyt długo i niemal natychmiast dostrzeżono serię kolejnych niedopatrzeń i wybrakowanych elementów, co wywołało niemałe zamieszanie wśród programistów pracujących na tych menedżerach. Już pod koniec stycznia 2018 wprowadzono kolejną wersję 3.8.4, która obejmuje takie elementy jak:

  • Formularz kontaktowy traci dane po przesłaniu z błędem,
  • Poprawa wydajności wyszukiwania inteligentnego dla popularnych słów,
  • Poprawa wydajności procesu indeksowania Smart Search,
  • Aktualizacja autouzupełniania jQuery do wersji 1.4.7,
  • Aktualizacja CodeMirror do wersji 5.33.0,
  • Aktualizacja konwersji adresów URL z atrybutem srcset, aby obsługiwać przecinki i spacje,
  • W polach niestandardowych (Custom Fields) poprawa obsługi elementów tagów,
  • Naprawa ścieżki do pliku językowego PHPMailer,
  • Wyświetlanie tytułu kategorii jako nagłówka strony i tytułu strony, gdy nie ma pozycji menu dla kategorii com_content,
  • Uwzględnienie poziomu dostępu w com_content,
  • Różnorodne poprawki kompatybilności PHP 7.2.

Na tym jednak nie koniec, bo już z początkiem lutego ukazała się następna odsłona 3.8.5, w której zauważyć możemy kolejne fixy, jak między innymi:

  • Cofnięcie zmian trasowania pakietu danych z wersji 3.8.4,
  • Aktualizacja CodeMirror do wersji 5.34.0,
  • Naprawa błędu usuwającego meta dane sesji,
  • Przejście od łącz zależnych od protokołu do https w celu importowania czcionek Google.

A co na to Wordpress?

wordpress

Konkurencyjny system Wordpress również nie pozostaje wolny od tego rodzaju problemów. Jego wydawcy także w pocie czoła pracują nad nie do końca regularnie wypuszczanymi poprawkami. Z początkiem lutego powitaliśmy wersję 4.9.3, która miała być przełomową odpowiedzią na zapotrzebowania rynku. Uwzględniono w niej następujące elementy:

  • Zwiększenie dokładności komunikatu wyświetlanego podczas uzyskiwania dostępu do Customizera za pomocą zestawu zmian już opublikowanego lub zniszczonego,
  • Zapobieganie wyświetlaniu powiadomienia o instalacji motywu SFTP w wielu miejscach, gdy użytkownik nie może instalować motywów,
  • Używanie "zablokowanych" wiadomości specyficznych dla zestawu zmian, gdy włączone jest rozgałęzienie,
  • Zapobieganie blokadzie dostosowywania w zestawie zmian przez podgląd frontendu,
  • Zezwolenie, aby domyślny status dla konfiguratora był wersją roboczą, jeśli użytkownik nie ma możliwości publikowania,
  • Poprawienie odwołania do przycisku "add items" w tekście pomocy wyświetlanym po utworzeniu nowego menu,
  • Gwarancja, że żądania customize_autosaved korzystają tylko z rewizji zalogowanego użytkownika,
  • Uwzględnienie elementu menu nawigacyjnego dla niestandardowego łącza "Home" w wynikach wyszukiwania dla hasła "Home",
  • Gwarancja, że listy odtwarzania multimediów zostaną zainicjowane po selektywnym odświeżeniu; udostępnienie nowego interfejsu API wp.playlist.initialize ().,
  • Gwarancja, że Hartbeat API utrzymuje zestaw zmian zablokowany, kiedy znajduje się w trybie rozgałęzienia.

Niestety, wielkie plany i jeszcze większe ambicje deweloperów musiały po raz kolejny ustąpić przed napotkanymi barierami. Okazało się, że naprawa 34 błędów wersji poprzedniej to jedynie wierzchołek góry lodowej. Jeszcze w tym samym tygodniu premierę miała wersja 4.9.4, która załatać ma wyłącznie jedną, wadliwą funkcję, wygenerowaną dosłownie kilka dni wcześniej. Okazało się, że w poprzednio zaimplementowanej odsłonie przestał działać system automatycznych update'ów, przez co należało instalować je ręcznie z poziomu panelu. Bug generował fatalny błąd PHP za każdym razem, gdy Wordpress podejmował samodzielną próbę aktualizacji i wynikał z próby zmniejszenia liczby wywołań interfejsu API wykonanych po uruchomieniu zadania automatycznej aktualizacji harmonogramu zadań.

Obok wyżej wymienionych defektów nie sposób przejść obojętnie i warto mieć na względzie, że ich konsekwencje rzutują na wydajność i jakość pracy mnogości firm operujących narzędziami pozwalającymi kreować od podstaw i edytować poszczególne elementy na stronach internetowych. Na tym chaosie informacyjnym tracą zarówno agencje interaktywne takie jak nasza, ale przede wszystkim nasi klienci. Wielu z nich musi w związku z tym liczyć się ze zmianami terminów realizacji projektów spowodowanymi koniecznością wdrażania kolejnych istotnych poprawek.