encyklopedia.run.place

Drupal

Drupal – otwarto‑źródłowy system zarządzania treścią (CMS) napisany w języku PHP i współpracujący najczęściej z bazą danych MySQL (lub jej zamiennikami, takimi jak MariaDB). Projekt jest rozwijany i utrzymywany przez społeczność programistów i wolontariuszy z całego świata, a jego kod źródłowy jest udostępniany na licencji GPL (GNU General Public License).

Historia

Drupal został po raz pierwszy uruchomiony w 2001 roku przez belgijskiego programistę Driesa Buytaerta. Początkowo projekt nosił nazwę “drop.org” i służył jako platforma do publikacji treści w ramach osobistego bloga. W 2003 roku społeczność zaczęła aktywnie przyczyniać się do rozwoju systemu, a nazwa “Drupal” – połączona ze słowem “droplet” (kropla) – została przyjęta na stałe.

Architektura

Podstawową jednostką w Drupalu jest moduł. System składa się z jądra (core) oraz zestawu modułów rozszerzających funkcjonalność. Każdy moduł może definiować własne typy treści, pola, widoki oraz reguły dostępu. Dzięki temu Drupal jest wysoce modułowy i pozwala na tworzenie zarówno prostych witryn, jak i złożonych aplikacji internetowych.

  • Jądro (core) – zapewnia podstawowe mechanizmy, takie jak autoryzacja, system menu, API formularzy, system templatów (Twig).
  • Moduły podstawowe – np. Node (zarządzanie jednostkami treści), Taxonomy (klasyfikacja), Views (tworzenie zapytań i prezentacji danych).
  • Moduły społeczności – tysiące dodatków dostępnych w repozytorium modułów, obejmujących integracje z mediami społecznościowymi, e‑commerce, SEO i wiele innych.

Wersje i kluczowe zmiany

Drupal przechodził liczne przeglądy wersji, z których najważniejsze to:

  • Drupal 6 (wydany w 2008 roku) – wprowadził bardziej rozbudowany system uprawnień i wsparcie dla multijęzyczności.
  • Drupal 7 (wydany w 2011 roku) – znacznie uprościł interfejs użytkownika, wprowadził nowe API dla pól oraz lepsze wsparcie dla migracji danych.
  • Drupal 8 (wydany w 2015 roku) – przeprojektowano architekturę, opierając się na komponentach Symfony, wprowadzono obsługę RESTful API, a także pełne wsparcie dla Twig jako silnika szablonów.
  • Drupal 9 (wydany w 2020 roku) – kontynuacja Drupal 8 z aktualizacjami zależności oraz usunięciem przestarzałego kodu.
  • Drupal 10 (wydany w 2022 roku) – wprowadza nowoczesny interfejs administracyjny oparty na React, aktualizacje bibliotek front‑endowych oraz dalsze uproszczenia deweloperskie.

Funkcje

Drupal wyróżnia się szeregiem charakterystycznych funkcji:

  1. Elastyczny system typów treści – pozwala definiować własne typy (np. artykuły, wydarzenia, produkty) oraz powiązane z nimi pola.
  2. Zaawansowane zarządzanie uprawnieniami – szczegółowy system ról i uprawnień umożliwia precyzyjną kontrolę dostępu do treści i funkcji.
  3. Internacjonalizacja i lokalizacja – wbudowane wsparcie dla wielu języków, tłumaczeń interfejsu i treści.
  4. Moduł Views – narzędzie do tworzenia dynamicznych list, tabel i wykresów bez konieczności programowania.
  5. System taksonomii – pozwala na hierarchiczne klasyfikowanie treści przy użyciu słowników i terminów.
  6. Responsywność i tematyzacja – theme system umożliwia tworzenie szablonów zgodnych z HTML5 i CSS3.
  7. API i integracje – liczne interfejsy umożliwiają połączenie z usługami zewnętrznymi (np. płatności, media społecznościowe) oraz budowę aplikacji jednostronicowych przy użyciu JavaScript.

Ekosystem i społeczność

Drupal posiada rozbudowany ekosystem, obejmujący:

  • Konferencje i spotkania – coroczne wydarzenia takie jak DrupalCon oraz liczne Drupal Camps w różnych krajach.
  • Instytucje i organizacje – wiele rządowych i edukacyjnych stron internetowych korzysta z Drupala ze względu na stabilność i bezpieczeństwo.
  • Programy wsparciaDrupal Association zapewnia fundusze, dokumentację i certyfikacje dla deweloperów.
  • Repozytorium modułów i motywów – tysiące darmowych dodatków dostępnych w katalogu Drupal Modules.

Zastosowania

Dzięki swojej elastyczności Drupal znajduje zastosowanie w różnych sektorach:

  • Strony internetowe firm i organizacji.
  • Portale informacyjne i serwisy newsowe.
  • Platformy e‑learningowe (Moodle i podobne).
  • Rozbudowane aplikacje intranetowe i systemy zarządzania dokumentami.
  • Sklepy internetowe (przy użyciu modułów Drupal Commerce).

Licencja i model rozwoju

Drupal jest rozpowszechniany na licencji GPL v2+, co oznacza, że każdy może używać, modyfikować i rozpowszechniać oprogramowanie pod warunkiem zachowania tej samej licencji w dalszych wersjach. Rozwój prowadzony jest w modelu open source – każdy uczestnik może zgłaszać poprawki, propozycje nowych funkcji oraz brać udział w testowaniu wersji beta.

Porównanie z innymi CMS‑ami

Cecha Drupal WordPress Joomla!
Skalowalność Wysoka – przeznaczony do bardzo dużych serwisów Średnia Średnia‑wysoka
Elastyczność struktury treści Zaawansowana (typy treści, pola, taksonomia) Podstawowa (posty, strony) Średnia (rozszerzalna)
Wsparcie wielojęzyczne Wbudowane, bardzo rozbudowane Poprzez wtyczki Poprzez wtyczki
Społeczność deweloperów Silna, zorientowana na kod i standardy Największa pod względem liczby użytkowników Umiarkowana

Przyszłość

Rozwój Drupala koncentruje się na dalszym usprawnianiu doświadczenia dewelopera oraz administratora, wzmacnianiu bezpieczeństwa i integracji z nowoczesnymi technologiami chmurowymi (np. Kubernetes, Docker). Projekt dąży także do zwiększenia dostępności (WAI) oraz spełnienia wymagań RODO (Rozporządzenie o Ochronie Danych Osobowych).

Bibliografia i dalsza lektura