baner

baza danych w joomla 3

Podczas instalacji Joomla czy innego CMS musimy podać dane do bazy danych. No właśnie po co jest baza danych, co w niej jest  i dlaczego utrata bazy danych równa się utracie serwisu, zaś utrata plików nie jest tak tragiczna jak bazy. W tym wpisie postaram się ogólnie opisać zawartość bazy danych dla Joomla 3 oraz odpowiedzieć na pytanie dlaczego jest tak ważna. UWAGA jeśli nie musisz, masz słabe umiejętności, chcesz eksperymentować niczego nie zmieniaj w bazie dla istniejącej strony, załóż sobie coś na subdomenie, innym serwerze i tam się ucz. Nie biorę żadnej odpowiedzialności za zmiany jakie poczynisz, robisz to na własną odpowiedzialność, artykuł ma charakter poglądowy.


Po tym wstępie ostrzegawczym wyjaśnieniu, jak popsujesz bazę danych to naprawdę narobiłeś sobie szkód trudnych do usunięcia. Nie wiesz co robisz nie bierz się.
Wszystkie treści Joomla przechowuje w bazie danych, wszystko co wpisujesz, co w Joomla tworzysz jest przechowywane w bazie danych. W bazie nie są przechowywane obrazy, dokumenty czy inne pliki, ale jeśli je udostępniasz to właśnie zasady udostępniania i ścieżki do tych plików są zapisane w bazie danych. Poza treścią w bazie są przechowywane również poszczególne ustawienia Joomla, poza niektórymi, które są przechowywane w pliku konfiguracyjnym, jednak reszta jest przechowywana w bazie. Czyli jak ustawisz aby w artykule nie wyświetlały się informacje o autorze to ta informacja jest przechowywana w bazie, w bazie jest informacja kto stworzył artykuł i kiedy.

Joomla 3 i MySQLi

Najczęściej ustawiamy bazę danych MySQLi i nie będę tutaj pisał o tej bazie. Najważniejszym elementem bazy jest rekord, instalator Joomla tworzy kilkanaście rekordów, w rekordzie przechowywane są informacje dotyczące danej kategorii.  Dla przykładu rekord user przechowuje informacje o użytkownikach, jak login, hasło, data rejestracji, wszystko to zobaczymy w Joomla klikając użytkownicy i dalej użytkownicy, pojawia się lista użytkowników. Skoro w bazie przechowywane jest hasło to jak zapomnimy hasła to wydawać by się mogło, że możemy tam podejrzeć nasze hasło i to jest prawda, hasła użytkowników są przechowywane w bazie danych ale są one zaszyfrowane, hasła się szyfruje z powodów bezpieczeństwa. Ale trop jest dobry.

Gdzie w Joomla jest przechowywana treść.

Treść, czyli artykuły sa przechowywane w bazie danych, odpowiada za to kilka rekordów, z przedrostkiem unikalnyprzedrostek_content _....zaś kategorie są przechowywane w rekordzie categories.  Na rysunku poniżej bez rekordu contact bo ten dotyczy komponentu kontakty.

baza danych w joomla 3 tresc artykułów
 
Przyjrzyjmy się w takim razie rekordowi przedrostek_content – tutaj są przechowywane treści artykułów, czyli treść główna która wpisujemy  w oknie edytora , tytuł, kiedy został utworzony i zmodyfikowany, ID usera który go utworzył i tak dalej.  Proszę zauważyć, że dane artykułów są przechowywane w HTML. Obraz poniżej

baza danych w joomla 3 tresc artykułów zawartość
 Tak więc jeśli coś chcemy zmienić bez dostępu do Joomla w artykule Joomla to możemy to zrobić w bazie. Ale po co to robić?

Są bardzo ciekawe dwa rekordy dotyczące menu:
Menu i menu_types w tych rekordach przechowywane są informację o menu w Joomla ale nie tylko tym widocznym na stronie ale także tym widocznym na zapleczu.

baza danych w joomla 3 menu w bazie

Dane użytkownikóww Joomla są przechowywane w rekordach zaczynających się po przedrostu na user, moze nie zaczęsto korzystacie z notatek o użytkownikach ale sa tutaj odpowiednei rekordy.

baza danych w joomla 3 rekordy użytkowników

template_styles - to tuaj przechowywane są informacje o szablonach, nawet ustawienia konfiguracyjne.

baza danych w joomla 3 szablony w bazie

A to zawartość rekordu rozszerzeń w Joomla

zawartość rekordu extensions w bazie Joomla

Poniżej rekordy dotyczące modułów

baza danych w joomla 3 rekordy modułów

Po co zmieniać wpisy w bazie danych bezpośrednio w niej

Czasami nam strona przestaje działać, coś się dzieje że nawet nie możemy otworzyć zaplecza, no niestety tak nakombinowaliśmy. Wtedy właśnie edytując ustawienia w bazie danych możemy wyłączyć jakieś rozszerzenia, zmienić ustawienia, nie zawsze to pomaga, bo problem może leżeć gdzie indziej.
Bardzo często po włamaniu jest tak źle korzysta się z bazy danych przenosząc poszczególne rekordy do nowej joomla, zaczynamy od tych najważniejszych. Proszę mi wierzyć, niektóre witryny są tak zainfekowane, że ratuje je tylko postawienie Joomla od nowa i podłączenie jej do części bazy. Jak to robię po prostu……… nie wnikam w szczegóły tutaj. Z czegoś trzeba żyć.

Utrata bazy danych w Joomla utrata serwisu

Jak widać w bazie danych jest cały serwis. Wszystko, co dotyczy naszego serwisu. Jeśli posiadam samą bazę danych jestem w stanie odtworzyć serwis i jego funkcjonalności w stopniu ogólnym, dlaczego ogólnym? Abyśmy się dobrze zrozumieli, nie będzie to serwis jeden do jednego, wiele rozszerzeń nie przechowuje danych konfiguracyjnych w bazie, nie jestem w stanie odtworzyć wyglądu serwisu jeśli był szablon pisany na zamówienie i nie jestem w stanie określić grafik. Taki odzyskany serwis będzie miał treść ale będzie pozbawiony grafik i wyglądu, jednak to już coś. Niestety utrata bazy danych powoduje że cały serwis tracimy bezpowrotnie.

Rozszerzenie Joomla w bazie danych

Oczywiście każde rozszerzenie jak konponet tworzy swoje rekordy w bazie danych np. Virtuemart tworzy ich całkiem sporo, ale już wiele modułów, szablonów nie przechowuje informacji o ustawieniach w bazie danych, jednak widnieją o nich informacje w bazie. Za szablony odpowiada rekord _template_styles mamy tam listę z szablonami i kolumnę params – tutaj są przechowywane parametry szablonów, ale uwaga nie wszystkich – niektóre szablony zapisują parametry np. w plikach tekstowych np.: josn
To był bardzo ogólny i powierzchowny wgląd w bazę danych, warto by opisać jeszcze wiele rzeczy. Bardzo ciekawe jest nadpisywanie szablonów.

Dzięki temu że wiemy co i jak w bazie jest możemy stworzyć swój własny szablon, który prezentuje zupełnie inaczej produkty, artykuły, dlaczego bo ustawiamy co dokładnie ma wyświetlić się w danym miejscu i jak.  Wtedy możliwości są naprawdę ogromne, tylko niestety to kosztuje i to sporo.
Lubię Joomla i uważam że to jest bardzo dobry system, bardzo dużo można w nim zrobić, tym artykułem jak i filmem "Jak zbudować stronę wizytówkę w Joomla w godzinę" chce pokazać jak bardzo jest on funkcjonalny i jak bardzo szerokie ma zastosowanie.


Ebook Joomla 3

ebook 2 okladka

Tutaj jest drugie wydanie ebooka o Joomla 3, dopisane jest kilka rozdziałów, jest ponad 270 stron