UWAGA: Strona zawiera materiały archiwalne. Większość artykułów dotyczy Joomla! 1.0
Start arrow Instalacje arrow Z Joomla 1.0 do Joomla 1.5
Z Joomla 1.0 do Joomla 1.5 Drukuj Email
Redaktor: Stefan Wajda   
12.08.2008.

Wprawdzie Joomla 1.5 jest następcą 1.0, ale różnice między obu wydaniami są tak istotne, że Joomla 1.0.x nie można unowocześnić do Joomla 1.5 przy pomocy łatki aktualizującej. Jedyną możliwą drogą jest migracja – założenie nowej witryny na Joomla 1.5 i przeniesienie danych z Joomla 1.0.x. Migracja przebiega w dużej mierze automatycznie. Ten artykuł przeprowadzi Cię krok po kroku przez cały proces migracji.

Zanim będziesz migrować działającą witrynę, przeczytaj najpierw cały ten artykuł i przetestuj migrację lokalnie, aby ograniczyć do minimum błędy i czasowe wyłączenie witryny.

Czy migracja jest na pewno konieczna?

Nie ma co zawracać kijem wody w Wiśle, ani młyńskiego koła rękami zatrzymywać. Nowy Joomla powstał także i po to, by zastąpić starszego. A że rzeczy niemożliwych w informatyce chyba nie ma, to i możliwa jest doskonała migracja z Joomla 1.0 do 1.5. Doskonała, czyli bezstratna, bez frustracji, że coś zepsujemy, trwająca tak krótko, że użytkownicy naszej witryny nawet się nie spostrzegą, kiedy jej dokonamy. Tak czy owak, wcześniej czy później trzeba ją przeprowadzić.

Ale czy na pewno? Promotorowi Joomla! w Polsce nie wypada ani wątpić w słuszność takiego zabiegu, ani tym bardziej zniechęcać do migracji. Wręcz przeciwnie – wypada przekonywać że warto i objaśnić, jak jej dokonać najbezpieczniej i najprościej. Nie będziemy zatem zbytnio na temat korzyści i strat dywagować, ale też nie możemy przemilczeć, że:

  • migracja nie zawsze jest zupełnie „bezstratna” – może pociągać za sobą konieczność zmodyfikowania oryginalnej treści, a nawet rezygnacji z niektórych dawniejszych rozszerzeń, które nie zechcą się dobrze sprawować nawet mimo włączenia trybu zgodności wstecznej (legacy).
  • migracja nie zawsze skutkuje rzeczywistym unowocześnieniem i poprawą wydajności witryny, tryb zgodności wstecznej umożliwia wprawdzie działanie starszych rozszerzeń w nowym Joomla!, ale walory nowego oprogramowania będą odczuwalne wtedy jedynie, gdy unowocześnimy także dodatkowe składniki, a ze starszych rozszerzeń będziemy korzystać wyjątkowo.
  • migracja wymaga niekiedy sporego nakładu czasu i pracy oraz takiej znajomości obu systemów, by poradzić sobie z koniecznością ręcznego przenoszenia części danych – nie wszystkie bowiem dane są przenoszone automatycznie,
  • migracja niesie ze sobą ryzyko niepowodzenia.

Generalnie rzecz biorąc – opłacalne jest migrowanie z witryn małych, z niewielką ilością danych, z niewielką ilością rozszerzających rdzeń komponentów, modułów i innych dodatków.

Na pewno warto migrować duże witryny nawet z dużą ilością danych, jeśli obsługiwane są przez standardowe komponenty, a dla nielicznych rozszerzeń istnieją nowsze wersje lub rozwiązania alternatywne.

Głęboko natomiast trzeba się zastanowić nad migracją rozbudowanej, a dobrze działającej witryny z wieloma dodatkowymi składnikami, dla których nie opracowano jeszcze unowocześnionych wersji. Być może nawet w ogóle nie należy z takich witryn migrować.

Bezpiecznie

Migracja jest bezpieczna, dopóty zachowujemy standardowe środki ostrożności. A zatem:

  • stwórz pełną zapasową kopię działającej witryny – systemu plików i bazy danych,
  • przetestuj migrację na replice witryny, najlepiej na serwerze produkcyjnym,
  • starą witrynę usuń dopiero wówczas, gdy nabędziesz pewności że nowa działa poprawnie.

Ponadto przed migracją warto najpierw zaktualizować swoją witrynę Joomla 1.0.x do najnowszej wersji w tej serii (aktualnie 1.0.15). Pełnego sukcesu taki krok nie zapewni, ale może zaoszczędzić niespodziewanych sytuacji.

Dwa etapy

Migracja przebiega w dwóch etapach. W pierwszym etapie trzeba:

  • zgromadzić potrzebne pakiety instalacyjne (Joomla!, komponentów i innych rozszerzeń),
  • sporządzić kopię bezpieczeństwa przenoszonej witryny (systemu plików i bazy danych)
  • przygotować do przeniesienia dane – ustawienia i treści przenoszonej witryny.

W drugim etapie trzeba:

  • zainstalować Joomla 1.5 z migrowanymi danymi ,
  • doinstalować rozszerzenia, z których korzystaliśmy w Joomla 1.0.
  • przetestować i skorygować działanie nowej witryny.

Warto sobie w tym momencie uświadomić, że w nowej witrynie nie odtworzymy wszystkiego w 100 %, chociażby dlatego, że niektórych rozwiązań w Joomla 1.5 po prostu nie ma albo zostały zastąpione innymi. Dobrym przykładem jest polecenie {mosimage} umieszczające w Joomla 1.0 obrazki w artykułach. Standardowe wystąpienia tego polecenia zostaną przekonwertowane, ale jeśli to polecenie zastosowano także w jakimś innym komponencie niż „Content” („Artykuły”), to konwersję trzeba przeprowadzić ręcznie. Na szczęście, takich problemów jest niewiele, a dokładne przetestowanie witryny po migracji pozwoli je zdiagnozować i naprawić.

I etap: Przygotowanie do migracji

Krok 1: Zgromadź potrzebne materiały

Pobieranie plików z Internetu nie stanowi dziś zwykle żadnego problemu, ale potrzebne pakiety instalacyjne warto zgromadzić przed rozpoczęciem migracji. A będą potrzebne:

  • najnowszy pakiet instalacyjny Joomla 1.5 - szukaj na joomla.org,
  • najnowszy pakiet językowy dla Joomla 1.5 - szukaj na joomla.pl,
  • pakiety instalacyjne rozszerzeń, wykorzystywanych w Joomla 1.0, najlepiej już w wersji dla J! 1.5,
  • pakiet instalacyjny komponentu Migrator,
  • pakiety wtyczek ETL i SQL dla komponentu Migrator.
Krok 2: Sporządź bezpieczną kopię witryny

W to, że dysponujesz aktualną i bezpieczną kopią swojej witryny nawet nie śmiemy wątpić. Niemniej - upewnij się, że to najaktualniejsza kopia. A gdyby było inaczej, uaktualnij ją:

  • przekopiuj na swój komputer w bezpieczne miejsce cały katalog działającej witryny Joomla 1.0,
  • wykonaj najaktualniejszy zrzut bazy danych.

Bardzo pomocnym w wykonaniu tych zadań może być komponent JoomlaPack z www.joomlapack.net.

Krok 3: Zainstaluj w Joomla 1.0 komponent Migrator

Przygotowanie danych z przenoszonej witryny zostało zautomatyzowane dzięki pracy dwóch programistów – Haralda Baera, który opracował przed kilku laty komponent eBackup, oraz Samuela Moffatta, który ten komponent przeprojektował do nowego zadania, udostępniając go pod nazwą Migrator. Komponent wykonuje jedno, ale jakże istotne zadanie: generuje zrzut odpowiednio przekonwertowanej bazy danych witryny zbudowanej na Joomla! 1.0.x lub Mambo 4.5.2 0. Dokładniej – dwa zadania: konwertuje treści oraz ustawienia konfiguracyjne, w tym przenosi niektóre ustawienia z plików do bazy danych. Ale to już tajemnice programu niezbyt dla nas istotne.

Najnowszą wersję komponentu migracyjnego – w chwili pisania artykułu była to wersja 1.0 znajdziesz na stronie Pasamio Project's FRS.

Natomiast polskie wydanie komponentu znajdziesz w składnicy Polskiego Centrum Joomla!

Komponent instalujemy w standardowy sposób w swojej witrynie Joomla 1.0.x, którą chcemy migrować (albo w Mambo 4.5.2):

  1. Wybierz z menu zaplecza pozycję Instalatory - > Komponenty.
  2. Kliknij przycisk Przeglądaj i wskaż na dysku swojego komputera pakiet instalacyjny
  3. Naciśnij przycisk Wczytaj plik i zainstaluj.

Po chwili pojawi się komunikat o udanej instalacji, a w menu Komponenty znajdziesz nową pozycję –> Migrator. Wywołaj ją.

Na stronie otwierającej znajdziesz zwięzłą instrukcję oraz – na dole – zestaw odnośników, pod którymi kryją się polecenia komponentu lub ekrany z dodatkowymi informacjami.

Migrator przenosi do pliku migracyjnego tylko dane gromadzone w rdzennych tabelach Joomla!. Aby obsługiwał dane zgromadzone przez komponenty rozszerzające Joomla!, potrzebuje dodatkowych „wtyczek”.

Krok 4. Doinstaluj wtyczki migracyjne

Niestety, w tym miejscu – oprócz dobrej wiadomości – mamy i złą: udało nam się znaleźć jedynie wtyczki do komponentu JoomFish. Do innych – nawet śladu. Na dodatek są tak ukryte, że trudno je znaleźć, nie mówiąc już otym, iż trzeba wiedzieć, że istnieją. Zajrzyj do sekcji SVN.

Na szczęście, jest i dobra wiadomość: potrzebne wtyczki szybko się projektuje i łatwo pisze nawet, jeśli nie mamy żadnych doświadczeń w programowaniu. Można się zresztą bez nich obejść. Natomiast bez wtyczek dla JoomFisha byłoby trudno w przypadku, gdy mamy witrynę wielojęzyczną.

Do migracji danych z nierdzennych komponentów potrzebne są dwa rodzaje wtyczek: ETL i SQL. Pierwsza, wtyczka SQL, jest zwykłym plikiem SQL z poleceniami tworzącymi potrzebne tabele. Druga, wtyczka ETL, jest skryptem PHP, generującym odpowiednie wpisy w pliku SQL. Wtyczka ETL rozszerza działanie klasy ETLPlugin tak, aby komponent obsługiwał przenoszenie innych danych, niż należące do rdzennych komponentów.

Wtyczka ETL

Wtyczki ETL są rzeczywiście niezwykle łatwe do napisania – zwykle wystarczy 5 linii kodu PHP. Przykłady znajdziemy wśród skryptów komponentu, w katalogu /plugins. Wzorcowy kod wtyczki ETL przedstawia listing 1:

<?php
class NazwaTabeli_ETL extends ETLPlugin {
function getName() { return "Nazwa opisowa"; }
function getAssociatedTable() { return "nazwatabeli"; }
}
?>

W pierwszej linii definiujemy nową klasę rozszerzającą klasę ETLPlugin{}. Następnie wywołujemy dwie metody – funkcję getName(), która zwraca wykorzystywaną przez komponent opisową nazwę przenoszonej tabeli, oraz funkcję getAssociatedTable(), która do pliku migracyjnego przenosi zapytania tworzące potrzebną tabelę i zapytania umieszczające w tej tabeli dane komponentu.

Doświadczeni programiści mogą stworzyć wtyczki bogatsze w funkcje, np. opuszczające wskazane kolumny tabel (pola), zmieniające nazwy pól czy zmieniające wartości w kolumnach. Pełną listę metod znajdziemy w skrypcie migrator.class.php w definicji klasy ETLPlugin{}, a przykłady zastosowania funkcji znajdziemy w skryptach standardowych wtyczek ETL, umieszczonych w katalogu /plugins komponentu.

Aby samodzielnie przygotować potrzebne wtyczki ETL:

  1. Skopiuj podany powyżej kod,
  2. Nazwę klasy zastąp nazwą tabeli
  3. Napis Nazwa opisowa zastąp zwięzłym opisem tabeli
  4. Napis nazwatabeli zastąp rzeczywistą nazwą tabeli (bez przyrostka jos_ czy innego)
  5. Zapisz plik jako skrypt php nazwany: nazwatabeli.php.

Uwaga: we wszystkich trzech przypadkach – nazwy klasy, opisowej nazwy tabeli i rzeczywistej nazwy tabeli można zastosować dokładnie taki sam tekst.

Poniżej zamieszczamy pełny przykład skryptu wtyczki Adsmanager Ads ETL:

<?php
/**
* Adsmanager Ads ETL Plugin
* Wtyczka Adsmanager Ads ETL dla tabeli #__adsmanager_ads
* @package Migrator
* @author Stefan Wajda <
 Ten adres email jest ukrywany przed spamerami, włącz obsługę JavaScript w przeglądarce, by go zobaczyć
 >
* @license GNU/GPL http://www.gnu.org/licenses/gpl.html
* @copyright 2008 Stefan Wajda
* @version SVN: $Id:$
*/
class Adsmanager_Ads_ETL extends ETLPlugin {
function getName() { return "Wtyczka ETL - Adsmanager ads"; }
function getAssociatedTable() { return 'adsmanager_ads'; }
}
?>
Wtyczka SQL

We wtyczkach SQL umieszczamy zapytanie SQL generujące potrzebną tabelę bazy danych. Przykład wtyczki SQL znajduje się na listingu 3.

 
CREATE TABLE IF NOT EXISTS `jos_adsmanager_categories` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`parent` int(10) UNSIGNED DEFAULT '0',
`name` varchar(50) DEFAULT NULL,
`description` varchar(250) DEFAULT NULL,
`ordering` int(11) DEFAULT '0',
`published` tinyint(1) DEFAULT '0',
PRIMARY KEY
(`id`)
) ENGINE=MyISAM;

Stworzenie wtyczek SQL jest więc rzeczywiście banalnie proste – wykonujemy zrzut struktury swojej bazy danych Joomla 1.0, a następnie zapisujemy kod dla każdej tabeli w pliku nazwanym: nazwatabeli.sql

Dodajmy jeszcze, że niekoniecznie każdą wtyczkę trzeba zapisywać w odrębnym skrypcie. Wszystkie wtyczki dla jednego komponentu można zapisać w dwóch plikach – w jednym definicje klas ETL, w drugim kwerendy SQL.

Instalacja wtyczek

Pojedyncze wtyczki można zainstalować za pomocą polecenia dostępnego w komponencie – jeśli masz tylko jedną czy dwie wtyczki, użyj formularza „Instalacja rozszerzeń Migratora”:

Jeśli jednak masz więcej dodatków i dysponujesz dostępem do serwera, możesz przesłać pliki dodatków do ich poszczególnych katalogów (/plugins oraz /tables). Komponent używa tylko plików, które istnieją w jego katalogach, więc rejestracja w bazie danych nie jest wymagana do zastosowania dodatku.

Krok 5: Stwórz plik migracyjny SQL

Po zainstalowaniu wszystkich niezbędnych wtyczek, przystępujemy do właściwego zadania – wygenerowania pliku migracyjnego SQL. W tym celu:

  1. Na stronie startowej komponentu kliknij polecenie Utwórz plik migracyjny SQL.
  2. Na dole kolejnej strony naciśnij polecenie Rozpocznij migrację.

Przez chwilę potrwa wykonywanie zadań, na ekranie dosłownie zamigoczą dwie strony z informacjami o przebiegu operacji:

I w końcu pojawi się komunikat o zakończeniu pracy z nazwą utworzonego pliku SQL i odnośnikiem do strony z plikami do pobrania:

Po naciśnięciu odnośnika Pobierz pojawi się strona z listą plików migracyjnych. Można tutaj stworzony plik pobrać lub usunąć. Etykieta odnośnika Informacja o SQL ma w zamyśle projektanta prowadzić do podglądu pliku SQL, ale funkcja najwyraźniej nie została w wydaniu 1.0 zaimplementowana.

Uwaga: Oczywiście, podczas generowania pliku migracyjnego mogą zdarzyć się błędy w działaniu komponentu. Komponent wczytuje dodane skrypty wszystkich wtyczek ETL i SQL i sprawdza ich poprawność. Jeśli napotka błędy, przerwie działanie i wyświetli odpowiedni komunikat.

II etap: Nowa witryna z przeniesionymi danymi

Dysponując plikiem migracyjnym, możemy przystąpić do II etapu pracy, obejmującego instalację Joomla 1.5 z danymi migracyjnymi, dodanie rozszerzeń oraz testowanie nowej witryny.

Krok 6: Zainstaluj Joomla! 1.5 z danymi migracyjnymi

Nową witrynę zakładamy w środowisku, w którym będzie ona działała, a więc zwykle na tym samym serwerze co witryna oparta na Joomla 1.0. Możemy zainstalować Joomla 1.5:

  • w tym samym katalogu – zamiast działającej witryny,
  • w podkatalogu, a tym samym w subdomenie działającej witryny 1.0.

Dopóki jednak nie mamy pewności, że migracja przebiegnie pomyślnie, dotychczasowa witryna powinna pozostać nienaruszona. Pierwsze rozwiązanie zatem raczej w rachubę nie wchodzi. Nową witrynę instalujemy w nowym, odrębnym katalogu, z nową bazą danych albo – jeśli dysponujemy tylko jedną bazą danych – z innym przedrostkiem nazw tabel. Ale nawet jeśli zdecydujemy się na zastąpienie starej witryny nową instalacją, to:

  • wszystkie pliki starej witryny przenosimy w bezpieczne miejsce, np. do nowego katalogu,
  • pliki instalacyjne umieszczamy w opróżnionym, pustym katalogu.

W żadnym wypadku nie należy „nadpisywać” plików starej witryny, skryptami pakietu instalacyjnego Joomla 1.5.x. Jedyne, co możemy pozostawić w katalogu instalacyjnym z zasobów starej witryny, to pliki danych (np. grafiki) oraz skrypty szablonów. Wszelkie inne pozostałości mogą być źródłem niepoprawnej instalacji i błędów w działaniu nowej witryny.

Przypomnienie: jeśli jeszcze nie masz tego kroku za sobą, sporządź pełną kopię zapasową istniejącej witryny, zarówno systemu plików, jaki bazy danych. Kopię umieść w bezpiecznym miejscu tak, aby podczas testowania nowej instalacji w ogóle nie mieć do niej dostępu.

Pierwsze pięć kroków wykonujemy tak, jak w przypadku „zwykłej” instalacji Joomla, a więc:

  1. Wybieramy język instalacji.
  2. Przeglądamy informacje o środowisku instalacyjnym.
  3. Zapoznajemy się z licencją, jeśli jej nie znamy.
  4. Konfigurujemy bazę danych.
  5. Konfigurujemy – jeśli jest nam potrzebna – warstwę FTP.

Jeśli dysponujemy tylko jedną bazą danych, trzeba pamiętać, aby w 4. kroku ustalić unikalny przedrostek nazw tabel, inny niż używany w witrynie Joomla 1.0.

Po skonfigurowaniu bazy danych i – ewentualnie obsługi FTP – dochodzimy do momentu, w którym finalizujemy migrację danych.

Komunikaty ekranowe na stronie Konfiguracja witryny jasno i jednoznacznie informują, że w tym kroku możemy umieścić w witrynie:

  1. Dane przykładowe,
  2. a. Dane migracyjne ze skryptu SQL zgodnego z Joomla 1.5
  3. b. Dane migracyjne ze skryptu SQL zgodnego z Joomla 1.0

Oczywiście, nas interesuje trzecia opcja – migracja ze skryptu zgodnego ze strukturą bazy danych Joomla 1.0 (a więc i Mambo 4.5.2). Dane migracyjne możemy wczytać ze skryptu SQL:

  • przesłanego na serwer za pomocą protokołów FTP lub SCP,
  • oczekującego na wczytanie za pośrednictwem protokołu HTTP podczas instalacji.

Druga z metod jest wygodniejsza, ale nie zawsze skuteczna. Zakończy się powodzeniem tylko wtedy, gdy przenosimy niewielką witrynę (plik migracyjny SQL jest mniejszy niż 2MB). Jeśli jest większy, trzeba go przesłać na serwer za pomocą dowolnego klienta FTP lub SCP do katalogu /installation/sql/migration/. Przesyłany plik musi się nazywać migrate.sql. Katalogi /installation/sql/migration/ oraz katalog podręczny (/tmp) muszą być udostępnione do zapisu dla użytkownika www ((np. wwwrun, www-data czy apache).

Aby poprawnie migrować dane:

  1. Zaznacz opcję Dane ze skryptu
  2. W polu Przedrostek nazw tabel w poprzedniej instalacji wpisz jos_, nawet jeśli był inny
  3. Podaj standard kodowania poprzedniej witryny – zwykle ISO-8859-2, rzadziej UTF-8.
  4. Zależnie od wybranej metody:
    • naciśnij przycisk Przeglądaj i wskaż plik ze skryptem migracyjnym SQL albo
    • zaznacz opcję Skrypt migracyjny jest na serwerze
  5. Zaznacz opcję: Skrypt migracyjny z Joomla 1.0.
  6. Naciśnij przycisk: Wczytaj i uruchom.

Zauważ – w przypadku migracji z Joomla! 1.0 zawsze podajemy, że tabele w pliku migracyjnym mają przyrostek jos_. Autor komponentu Migrator, aby nie komplikować zbytnio swojego rozwiązania, przyjął takie założenie – wszystkie nazwy tabel w pliku migracyjnym SQL generowanym przez komponent mają przedrostek jos_. Nie oznacza to, że w nowej instalacji tabele muszą mieć również przedrostek jos_. Wręcz przeciwnie – ustalasz go swobodnie, konfigurując bazę danych, o czym już wspominaliśmy.

Instalator podejmie próbę stworzenia tabel bazy danych i jeśli operacja się powiedzie, otrzymamy na kolejnym ekranie stosowaną informację.

Migracja nieudana

Może się wszakże zdarzyć, że otrzymamy niezbyt radosny komunikat o napotkanych podczas migracji problemach. Jednym z częstszych problemów jest niepoprawna struktura standardowej tabeli jos_users. Błąd pojawia się w przypadkach, gdy w starej witrynie korzystaliśmy z komponentów, które zmieniają strukturę tej tabeli (należy do nich m.in. forum Fireboard). W przypadku tej i ewentualnie innych zmodyfikowanych standardowych tabel bazy danych problem jest łatwy do rozwiązania. Trzeba w Joomla 1.0 powtórzyć tworzenie pliku migracyjnego, poprzedzając tę czynność dodaniem wtyczki SQL z poleceniami tworzącymi zmodyfikowaną tabelę. Pamiętamy, że stworzenie wtyczki SQL wymaga sporządzenia zrzutu bazy danych np. w programie phpMyAdmin i zapisaniu w odrębnym pliku instrukcji tworzących potrzebną tabelę.

Zakońćzenie migracji

Aby zakończyć instalację:

  1. Naciśnij przycisk Dalej, co spowoduje powrót na stronę Konfiguracja witryny.

  2. W polu Nazwa witryny wpisz nazwę swojej witryny i ponownie naciśnij przycisk Dalej (danych administratora nie trzeba podawać).
  3. Usuń katalog /installation (tymczasowo wystarczy zmienić jego nazwę).

Jeśli podamy nowe hasło i adres administratora, instalator spróbuje je zmienić w bazie danych, ale operacja ta niekoniecznie musi się zakończyć powodzeniem. Lepiej nie ryzykować!

Krok 7. Dodaj i skonfiguruj rozszerzenia

Zanim zabierzemy się za dokończenie migracji, rozejrzyjmy się zarówno po witrynie, jaki zapleczu administracyjnym. Z łatwością zauważymy, że w nowej witrynie:

  • aktywny jest tylko moduł głównego menu, pozostałe moduły menu zniknęły bez śladu,
  • nie ma żadnych treści udostępnianych przez niestandardowe komponenty,
  • wszystkie pozycje menu odwołujące się do niestandardowych komponentów są wyłączone,
  • w menu Komponenty na zapleczu nie ma ani jednego niestandardowego komponentu,
  • na liście modułów i dodatków są tylko rozszerzenia należące do rdzenia Joomla!

Czyżby migracja się nie powiodła? Wszak komunikat głosił, że się udała, co więcej – są niektóre treści, można się zalogować na zaplecze...

Oczywiście, że migracja przebiegła pomyślnie, ale Migrator:

  • nie przenosi informacji o zainstalowanych dodatkowo rozszerzeniach oraz
  • wyłącza pozycje menu umieszczone w innych modułach niż menu główne (a więc np. usermenu, othermenu)
  • na stronie frontowej pozostawia włączony jedynie moduł głównego menu oraz nowy w Joomla 1.5 - ścieżki powrotu (breadcrumbs)

Stosunkowo łatwo można uaktywnić wyłączone pozycje menu i moduły. Wystarczy zaznaczyć je na listach i opublikować. Nie oznacza to jeszcze, że wszystko zadziała, jak oczekujemy - pozycje menu wywołujące treści komponentów odwołują się do nieistniejących rozszerzeń. Nie wystarczy, że je doinstalujemy. Trzeba jeszcze połączyć je z pozycjami menu.

Przed instalacją komponentów

Nie spiesz się, zwłaszcza gdy sporo czasu zajęło Ci własnoręczne stworzenie wtyczek ETL i SQL, by migrować dane z komponentów. Instalatory wielu komponentów usuwają swoje tabele, jeśli takie istnieją już w bazie danych. Możliwe są dwa rozwiązania:

  • dokonać odpowiednich zmian w bazie danych - przed instalacją i po zainstalowaniu komponentu,
  • zmodyfikować pliki instalacyjne komponentu.

Drugi ze sposobów wydaje się prostszy. Przed zainstalowaniem komponentu przeglądamy plik nazwa_komponentu.xml (ewentualnie także nazwa_komponentu.polish.xml) i usuwamy z niego instrukcje nakazujące usunięcie istniejących w bazie danych tabel. Instrukcje usuwające tabele mają taką postać:

<query>
DROP TABLE IF EXISTS `#__nazwa_tabeli`;
</query>

Przy okazji warto również sprawdzić, czy nie ma instrukcji umieszczających przykładowe dane albo przykładowe kategorie. Takie instrukcje również nie są potrzebne - wszak mamy dane z poprzedniej witryny. Usuwamy zatem z plików instalacyjnych .xml instrukcje wyglądające, jak w poniższym wzorcu:

<query>
INSERT INTO `#__nazwa_tabeli` VALUES (1,0,'Jakis_tekst','Jakis_tekst','',0,1,0);
</query>
Po doinstalowaniu komponentów

Trzeba je, oczywiście, skonfigurować:

  • włączyć tryb zgodności wstecznej (legacy),
  • przywrócić ustawienia konfiguracyjne ustalone w poprzedniej witrynie,
  • poprawić odwołujące się do nich pozycje menu.
Tryb zgodności wstecznej

Aby komponenty i inne rozszerzenia napisane dla Joomla 1.0 działały w Joomla 1.5, musi być włączony tryb zgodności wstecznej. Z menu zaplecza wybieramy pozycję Rozszerzenia -> Dodatki, odszukujemy dodatek System - Spuścizna (System - Legacy) i w kolumnie Włączony naciskamy czerwoną ikonę z białym krzyżykiem. W efekcie zmieni się kolor i kształt ikony (zielony haczyk), a w pasku informacyjnym po prawej stronie menu pojawi się informacja oznaczona ikoną Joomla! o tym, że witryna działa w trybie zgodności z 1.0.

Przywrócenie ustawień konfiguracyjnych

Wiele komponentów przechowuje swoje ustawienia w plikach konfiguracyjnych. Najprostszym sposobem przywrócenia ustawień dokonanych w poprzedniej wersji witryny jest więc odszukanie potrzebnego pliku konfiguracyjnego i przekopiowanie go do odpowiedniego katalogu w Joomla 1.5. Zwykle jest to katalog /administrator/components/nazwa_komponentu, a plik nosi zwykle nazwę config.nazwa_komponentu.php. W przypadku, gdy w pliku konfiguracyjnym znajdowały się wartości tekstowe (np. regulaminy), a witryna kodowana była w ISO-8859-2, konieczna może być wcześniejsza konwersja pliku do formatu UTF-8.

Krok 8. Popraw odwołania w menu

Dzięki nowej w Joomla 1.5 funkcji zmiany typu pozycji menu to zadanie jest niezwykle łatwe do wykonania. Nie musimy usuwać dawnych pozycji menu - wystarczy otworzyć je do edycji, nacisnąć przycisk Zmień typ i wskazać na liście doinstalowany wcześniej komponent, a następnie sprawdzić na stronie frontowej, czy wszystko działa należycie.

Bibliografia

Zmieniony ( 13.08.2008. )
 
« poprzedni artykuł   następny artykuł »