„W programowaniu komputerowym framework albo platforma programistyczna jest szkieletem do budowy aplikacji”. Szkielet projektowy „definiuje strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań. Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację”. (z Wikipedii: Framework).
Budowa Joomla! opiera się na strukturze złożonej z trzech warstw:
Górna warstwa rozszerzeń obejmuje rozszerzenia szkieletu projektowego Joomla! i jego aplikacji:
- moduły
- komponenty
- szablony
Środkowa warstwa aplikacji składa się z aplikacji, które rozszerzają klasę JApplication szkieletu projektowego. Warstwę aplikacji stanowią trzy aplikacje włączone do dystrybucji Joomla! (w Joomla 1.5 - cztery):
- JInstallation: jest aplikacja instalującą odpowiedzialną za instalowanie Joomla na serwerze www. Uruchamiana jest zwykle tylko jeden raz, podczas instalacji systemu, a po zakończeniu instalacji jest usuwana. Pliki źródłowe tej aplikacji znajdują się w katalogu /installation.
- JAdministrator: jest aplikacją administracyjną odpowiedzialną za działanie zaplecza. Pliki źródłowe znajdują się w katalogu /administrator. Podstawę stanowią trzy główne pliki: defines.php, framework.php oraz application.php i plik toolbar.php, dodający pasek narzędziowy w interfejsie zaplecza administracyjnego.
- JSite: jest aplikacją frontową, odpowiedzialną za pobieranie informacji z bazy danych MySQL, łączenie z wybranym szablonem i przesyłanie wyniku do przeglądarki użytkownika. Ponadto odpowiada za funkcje związane z logowaniem i interakcje z użytkownikiem..
- XML-RPC: w Joomla 1.5 obsługiwała 1.5 zdalne administrowanie witryną.
Dolna warstwa szkieletu, składa się z trzech elementów:
- samego szkieletu Joomla!: lista klas znajduje się na stronie Platforma Joomla! 11.1
- bibliotek (libraries): pakietów kodu wymaganego przez szkielet Joomla! lub instalowane na potrzeby rozszerzeń niezależnych projektantów.
- dodatków (plugins): rozszerzają funkcjonalności dostępne w szkielecie.
Jestem programistą. Jakie zaawansowane cechy Joomla! mogę wykorzystać?
Wiele firm i organizacji potrzebuje rozwiązań wykraczających poza możliwości rozbudowy dostępnymi rozszerzeniami. Dzięki temu, że Joomla! oferuje także bardzo elastyczny framework, projektanci mogą rozszerzać go w dowolnych kierunkach, tworząc wyrafinowane aplikacje. Urok Joomla! polega na tym, że nasz framework i interfejs użytkownika dostarcza solidnej podstawy dla własnych aplikacji, działających w środowisku znanym użytkownikom:
- własne katalogi produktów
- systemy magazynowe
- narzędzia prezentacji danych
- mostki łączące z innymi programami
- integracja z systemami e-commerce
- systemy rezerwacji
- narzędzia komunikacji
Ponieważ Joomla! jest oparty na PHP oraz MySQL, możesz projektować potężne aplikacje, korzystając ze wszystkich zalet otwartej platformy: dostępności, dzielenia się kodem, pomocy i współpracy innych programistów. Bogate materiały dla projektantów znajdziesz na witrynie Joomla! Developer Network.