Problemy aktualizacji Joomla!

joomla bug kolejnej wersji

Mobilne aplikacje, graficzne interfejsy i, co najważniejsze, systemy zarządzania treścią 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ść 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.