Wydrukuj tę stronę

Przejście z Joomla 2.5 do Joomla 3.x

Przejście z Joomla 2.5 do Joomla 3.x
Oceń ten artykuł
(25 głosów)

Ekscytują Cię nowe funkcje w Joomla 3? Chcesz przeprowadzić migrację z Joomla 2.5 do Joomla 3.x? Ten poradnik poprowadzi Cię krok po kroku przez wszystkie etapy migracji.

Uwaga: Joomla w wersji 2.5 będzie wspierany do końca 2015 roku. Jeśli tylko masz najnowszą wersję z tej linii rozwojowej, nie musisz jej już teraz migrować do wersji 3.x. Możesz jej z powodzeniem używać jeszcze co najmniej przez półtora roku!

Krok 1: Sprawdź, czy serwer spełnia techniczne wymagania Joomla 3

Zanim zrobisz cokolwiek, upewnij się, że Twoja firma hostingowa zapewnia  odpowiednie dla Joomla 3.x środowisko. Wymagania techniczne przedstawione zostały szczegółowo w dziale Start z Joomla!

Oto niektóre z różnic:

  • minimalna wersja PHP – dla Joomla 2.5 wystarczające było PHP w wersji 5.2.4, dla Joomla 3.x wymagane jest PHP w wersji od 5.3.10 wzwyż, ponadto ustawienie „magic_quotes_gpc” musi być wyłączone;
  • minimalna i zalecana wersja MySQL – dla Joomla 2.5 wystarczająca była wersja 5.0.4, natomiast dla Joomla 3.x wymagana jest co najmniej wersja 5.1;
  • jeśli korzystasz na serwerze z bazy danych MySQL, wymagana jest obsługa silnika InnoDB.

Joomla 3.x może również korzystać z baz danych  PostgreSQL i MSSQL.

Firmy hostingowe, które wspierają obecnie instalację Joomla 2.5, powinny również wspierać instalację Joomla 3.x, ale upewnij się co do tego, zanim podejmiesz jakiekolwiek praktyczne działania. Być może konieczne będzie np. samodzielne przełączenie wersji PHP stosowanej do obsługi witryny albo samodzielna zmiana niektórych ustawień (np. owego  magic_quotes_gpc.

Jeśli firma hostingowa nie jest w stanie spełnić wymagań Joomla 3.x (nie są to żadne nadzwyczajne wymogi), migrację do Joomla 3. należy odłożyć na później. Albo zmienić firmę hostingową…   

Gdy serwer spełnia wymagania, możemy przystąpić do kolejnego kroku.

Krok 2. Wykonaj kopię bezpieczeństwa

Aktualizacje i migracje oprogramowania zawsze mogą się skończyć niepowodzeniem. Dlatego, zanim przystąpisz do jakichkolwiek czynności aktualizacyjnych, wykonaj kopię bezpieczeństwa, by w razie czego móc z niej odtworzyć witrynę. Do sporządzania kopii zapasowych najlepiej korzystać z rozszerzenia Akeeba Backup. Instrukcję obsługi Akeeba Backup znajdziesz w naszej Bibliotece Dokumentacji.  

Krok 3. Sprawdź, czy stosowane w witrynie rozszerzenia istnieją  w wersji zgodnej z Joomla 3.x  

Rozszerzenia napisane wcześniej dla Joomla 2.5 nie będą działać w Joomla 3 w ogóle albo będą działać niepoprawnie. Trzeba je zastąpić wersjami nowszymi, dostosowanymi do środowiska Joomla 3.x. 

Sprawdzenia, jakie rozszerzenia zostały zainstalowane w Joomla 2.5, dokonujemy na stronie zarządzania rozszerzeniami (menu zaplecza/ Rozszerzenia/Instalacje/Zarządzanie. Najlepiej skorzystać z filtra typu i wyfiltrować najpierw komponenty, później moduły i na koniec dodatki. Szukamy rozszerzeń innych projektantów. Dobrą wskazówką będzie zawartość kolumny Autor. Gdy w tej kolumnie wskazano na „Projekt Joomla”, to znaczy, że mamy do czynienia z rdzennym rozszerzeniem. Wszystkie inne wynotowujemy na kartce (poza trzema wyjątkami – edytorami zwykłym TinyMCE i Codemirror). Następnie sprawdzamy w centralnym katalogu rozszerzeń (JED), czy istnieją wersje tych rozszerzeń zgodne z Joomla 3. Jeśli tak, pobieramy je. Jeśli nie istnieją, musimy rozważyć, czy zadowolą nas jakieś zamienniki.

Uwaga: Niektórzy projektanci nie uaktualniają danych o swoich rozszerzeniach na JED. W każdym przypadku, gdy nie ma informacji o wersji rozszerzenia przeznaczonej dla Joomla 3, warto potwierdzić ten fakt na stronie domowej projektu. (Na przykład w chwili pisania tego poradnika popularny komponent formularzy - aiContactSafe wciąż był niedostępny w wersji dla Joomla 3.x)..

Gdy nie istnieje rozszerzenie w wersji zgodnej z Joomla 3, musisz poszukać jakiegoś zamiennika. Możesz, oczywiście, zapytać autora, czy i kiedy zamierza wydać uaktualnioną wersję i ewentualnie odłożyć migrację witryny na później.

Krok 4. Uaktualnij wszystkie rozszerzenia do wersji zgodnej z Joomla 3.x.

To prosty krok. Pobierz i zainstaluj nowe wersje rozszerzeń. Operację tę wykonaj jeszcze w Joomla 2.5. Instalator, jak się łatwo przekonasz, nie będzie miał nic przeciwko instalacji rozszerzenia przeznaczonego dla nowszego Joomla.

Uwaga: W tym kroku NIE dokonuj uaktualnienia szablonu.

Krok 5. Odinstaluj wszystkie rozszerzenia niekompatybilne z Joomla 3.

Jeśli pozostawisz jakieś rozszerzenia niezgodne z Joomla 3, mogą one – po migracji witryny do Joomla 3.x stać się źródłem nierozpoznanych błędów w działaniu zaplecza i witryny. Dlatego wykonaj zadania tego kroku szczególnie starannie i zarazem uważnie. Starannie, by niczego nie pominąć. Uważnie, by nie usunąć przypadkiem rozszerzenia, które zostało już uaktualnione do nowszej wersji w kroku 4.

Aby uniknąć konsekwencji ewentualnego błędu w tym kroku, wykonaj kopię zapasową witryny. Następnie przejdź na stronę Rozszerzenia/Instalacje/Zarządzanie, zaznacz rozszerzenia niedostosowane do Joomla 3 i odinstaluj je. Zanim naciśniesz przycisk Odinstaluj, upewnij się dwukrotnie, że zaznaczone zostały tylko te rozszerzenia, które rzeczywiście chcesz usunąć.

Po zakończeniu możesz ponownie wykonać kopię witryny, by potem wykonać spokojnie migrację samego Joomla.

Krok 6. Uaktualnij Joomla do najnowszej wersji

Przejdź na stronę zarządzania komponentem Aktualizacje Joomla (Komponenty > Aktualizacje Joomla). Najpierw zmień ustawienia komponentu. Kliknij w przyborniku przycisk Opcje i na liście Serwer aktualizacji zaznacz opcję Wsparcie krótkoterminowe, a następnie zapisz nowe ustawienie.

Ustawienie opcji aktualizacji

Powrócisz na stronę zarządzania komponentem i zapewne zauważysz, że zmienił się numer wersji do której można uaktualnić Joomla oraz adres paczki aktualizującej.

Zarzadzanie aktualizacjami Joomla

Aby zaktualizować Joomla do najnowszej wersji, naciśnij przycisk Zainstaluj aktualizację.

Postęp aktualizacji

Obserwacja procesu aktualizacji przekona Cię, że instalowany jest pełny pakiet najnowszego Joomla. Po krótkim czasie zobaczysz zapewne komunikat, że „Oprogramowanie Twojej witryny zostało zaktualizowane” i posiadasz teraz najnowszą wersję Joomla.

Komunikat o pomyślnej aktualizacji Joomla

Krok 7. Upewnij się, że aktualizacja przebiegła poprawnie

Pomimo optymistycznego komunikatu o uaktualnieniu Joomla, warto się upewnić, że aktualizacja rzeczywiście przebiegła poprawnie. W tym celu trzeba będzie przejrzeć cała witrynę, ale wcześniej należy przejrzeć komunikaty w dwóch miejscach zaplecza – na stronach Instalacje > Ostrzeżenia oraz Instalacje > Baza danych.

Strona komunikatów o stanie bazy danych

W komunikatach o stanie bazy danych zwróć uwagę, czy na pewno została ona zaktualizowana do najnowszej wersji Joomla. Jeśli nie, naciśnij w przyborniku przycisk Napraw.

Krok 8. Uaktualnij pakiet językowy

W kolejnym kroku uaktualniamy język lub – w witrynie wielojęzycznej – języki tłumaczeń. Jeśli przejdziesz na stronę Instalacje > Instaluj język i spróbujesz znaleźć język polski, czeka Cię niespodzianka. Nie wiem czemu, ale nie znajdziesz aktualnego pakietu języka polskiego na liście dostępnych tłumaczeń (a przynajmniej tak mnie się zdarzyło razy kilka), choć na pewno taki pakiet jest. Przekonasz się o tym, gdy przejdziesz  na stronę Instalacje > Aktualizacje. Wśród dostępnych aktualizacji będzie również aktualizacja języka.

Aktualizacje rozszerzeń

Zaznaczamy pole wyboru, a następnie klikamy w przyborniku przycisk Aktualizuj. Po chwili pojawi się komunikat o pomyślnej instalacji.

Komunikat o pomyślnej aktualizacji języka z prośbą o darowizny

Przeczytaj go!  Mam nadzieję, że nie przejdziesz wobec tego komunikatu obojętnie

Krok 9. Uaktualnij szablon

Szablon napisany dla Joomla 2.5 na pewno nie będzie działać poprawnie w Joomla 3.x. Masz co najmniej trzy możliwości:

  1. sprawdzić, czy autor szablonu opublikował jego nowszą wersję, a jeśli tak – pobrać ją i zainstalować,
  2. wybrać inny szablon zgodny z Joomla 3 i zainstalować go
  3. dostosować posiadany szablon do wymagań Joomla 3, jeśli potrafisz. 

Po zainstalowaniu szablonu trzeba go jeszcze skonfigurować. Jeśli będzie to zupełnie nowy szablon, najprawdopodobniej konieczna będzie ponowna konfiguracja wszystkich modułów – osadzenie ich w pozycjach modułów istniejących w nowym szablonie.

Krok 10. Sprawdź dokładnie działanie witryny

To już ostatni, ale bardzo ważny krok. Dokonywaliśmy dość złożonej operacji. Nawet jeśli wszystko przebiegło pomyślnie, może się okazać, że w różnych miejscach nasza witryna wygląda lub działa inaczej niż powinna. Nie będziesz mieć pewności, że wszystko działa poprawnie, jeśli tego nie sprawdzisz. To nieco czasochłonne zajęcie. Ale może przy okazji wpadniesz na pomysły udoskonaleń?

Krok 11 Wykonaj kopię zapasową

Gdy już wszystko będzie gotowe wykonaj kopię bezpieczeństwa i uruchom ją na swoim serwerze lokalnym, aby mieć pewność, że działa. Potem możesz się wybrać na spacer albo ułożyć do snu. Jak widzisz, migracja z Joomla 2.5 do 3.x nie jest taka trudna.

Problemy? Znane błędy migracji

Zdarza się czasem, że choć migracja przebiega poprawnie, po czym... pojawia się biały ekran, a próba otwarcia jakiejkolwiek strony zaplecza kończy się komunikatem: Table 'nazwa_bazy.####_postinstall_messages' doesn't exist. W takim przypadku należy - posługując się programem do obsługi bazy danych, np. phpMyAdminem - utworzyć w bazie danych brakującą tabelę, wykonując poniższe zapytanie:

CREATE TABLE IF NOT EXISTS `#przedrostek_postinstall_messages` (
  `postinstall_message_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `extension_id` bigint(20) NOT NULL DEFAULT '700' COMMENT 'FK to #__extensions',
  `title_key` varchar(255) NOT NULL DEFAULT '' COMMENT 'Lang key for the title',
  `description_key` varchar(255) NOT NULL DEFAULT '' COMMENT 'Lang key for description',
  `action_key` varchar(255) NOT NULL DEFAULT '',
  `language_extension` varchar(255) NOT NULL DEFAULT 'com_postinstall' COMMENT 'Extension holding lang keys',
  `language_client_id` tinyint(3) NOT NULL DEFAULT '1',
  `type` varchar(10) NOT NULL DEFAULT 'link' COMMENT 'Message type - message, link, action',
  `action_file` varchar(255) DEFAULT '' COMMENT 'RAD URI to the PHP file containing action method',
  `action` varchar(255) DEFAULT '' COMMENT 'Action method name or URL',
  `condition_file` varchar(255) DEFAULT NULL COMMENT 'RAD URI to file holding display condition method',
  `condition_method` varchar(255) DEFAULT NULL COMMENT 'Display condition method, must return boolean',
  `version_introduced` varchar(50) NOT NULL DEFAULT '3.2.0' COMMENT 'Version when this message was introduced',
  `enabled` tinyint(3) NOT NULL DEFAULT '1',
  PRIMARY KEY (`postinstall_message_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Uwaga!: Pamiętaj, by w nazwie tabeli zastąpić #_przedrostek przedrostkiem nazw tabel w Twojej bazie.

Jeśli trafią Ci się błędy, napisz o nich w komentarzach albo zgłoś na naszym forum. Ktoś doświadczony na pewno znajdzie rozwiązanie. 

Ostatnio zmieniany N. 1 Lut 2015
comments powered by Disqus

Najnowsze od Stefan Wajda