Drupal – świetny CMS

Drupal to darmowy (a dokładniej open source) CMS. W Drupalu bardzo wygodnie tworzy się serwisy internetowe.

Co mi się podoba w Drupalu?? Otóż Drupal to tak naprawdę goły CMS z kilkoma rdzennymi modułami. Bardzo łatwo można zwiększyć możliwości Drupala poprzez instalację kolejnych modułów. Z samym Drupalem dostarczonych jest sporo modułów. Jeszcze więcej można ściągnąć z internetu. Tworząc strony w sposób tradycyjny trzeba się napracować, aby np. zrobić panel rejestracyjny, panel logowania, nadawanie rang użytkownikom (można bardzo łatwo stworzyć np. rangę VIP, której członkowie będą mieli dostęp do materiałów niedostępnych dla zwykłych użytkowników).

Chcesz postawić bloga?? Uaktywniasz jedną standardowo dołączoną wtyczkę i masz bloga. Chcesz dodać forum?? Aktywujesz jedną wtyczkę, tworzysz fora i tyle (jeśli ktoś integrował zwykły serwis z dowolnym skryptem forum tak aby nie było osobnego konta do logowania się w serwisie i osobnego do forum wie jakie to jest czasochłonne i skomplikowane).

Być może powiesz, że najpopularniejszym CMS’em jest Joomla (klon Mambo). Owszem, ale Drupal jest dla mnie czytelniejszy i wygodniejszy w obsłudze. Zastanawiasz się, jakie znane serwisy korzystają z Drupala?? Podam jeden przykład: playboy.de (mam nadzieję, że moja mama tego nie czyta ;-). Nieco obszerniejszy spis stron postawionych na Drupalu znajdziesz tutaj

Jednak w Drupalu spodobało mi się coś innego…

Otóż pod Drupala całkiem fajnie się pisze własne moduły!! Pracuję obecnie nad pewnym większym modułem (nie będę zdradzał szczegółów, aby nie zapeszać) i powiem szczerze, że traktuję Drupala jak Frameworka. Na początku nauka szła mi strasznie topornie (najgorsze było szukanie jakiegoś rozwiązania mojego problemu, które bym zrealizował w „czystym PHP” w kilka minut). Jednak obecnie zaczynam doceniać Drupala. Bardzo wygodnie się tworzy w nim formularze (wraz z walidacją), a kod formularza nie wygląda jak kaszka HTML’a przeplatanego PHP’em 😉 I co najważniejsze to Drupal martwi się o wiele szczególików związanych z obsługą formularzy (np. dodając do formularza specjalne pole data – czyli 3 pola rozwijane (dzień, miesiąc, rok) gdy użytkownik wskaże datę np. 31 luty to Drupal sam z siebie powie, że wybrana data jest nieprawidłowa).

Najbardziej mi się spodobała filozofia. Otóż każdy moduł składa się z funkcji o specjalnych nazwach. Np. funkcja o nazwie: NazwaModułu_menu ma za zadanie doczepić dodatkowe elementy do menu. I to jest najpiękniejsze: chcąc zwiększyć możliwości Drupala nie trzeba edytować rdzennych plików!!

Przykładowo: w tym wpisie doradziłem jak w prosty sposób można zmodyfikować formularz rejestracyjny, aby spam boty nie rejestrowały się na forum (trzeba było dodać jedno dodatkowe pole w formularzu rejestracyjnym w którym należało wpisać odpowiedź na pewne pytanie). Niestety, owa modyfikacja polegała na modyfikacji rdzennych plików. I problem się pojawiał, gdy wychodziła nowa wersja PHPBB2. Jeśli pliki, które zmodyfikowałem zostały zaktualizowane, musiałem je nadpisać a potem od nowa wprowadzić swoje poprawki (albo ściągnąć specjalny plik w którym były podane zmiany jakie zostały dokonane w owym pliku i ręcznie wprowadzić te zmiany). W przypadku mojego rozszerzenia nie było to kłopotliwe, bo mechanizm antyspamowy był dość prosty w implementacji i trzeba było zmodyfikować tylko 2 pliki, ale pomyśl sobie co by było, gdyby trzeba było zmodyfikować 20 plików a potem by wyszła nowa wersja PHPBB2 🙂

W Drupalu sprawa wygląda inaczej: cały kod zamieszcza się w swoim module w odpowiednich funkcjach. Gdy np. użytkownik wchodzi na stronę z formularzem rejestracyjnym, to Drupal „sprawdza”, czy któryś z aktualnie zainstalowanych modułów nie chce czegoś zrobić z formularzem rejestracyjnym i „oddaje mu kontrolę” (w moim przypadku mój moduł by doczepił do formularza rejestracyjnego nowe pole a także przychwyciłby zdarzenie walidacji formularza rejestracyjnego, aby sprawdzić, czy użytkownik poprawnie wypełnił moje dodatkowe pole). Jeśli wyjdzie nowa wersja Drupala to nie muszę się niczym martwić, gdyż wszystko jest w moim module.

Dlatego gorąco zachęcam do korzystania z Drupala! Szkoda, że ten CMS w Polsce jest tak mało popularny. Świadczy o tym choćby ilość dostępnych książek. O Joomli w samym wydawnictwie Helion jest aż 7 książek. Natomiast o Drupalu znalazłem w mało znanym wydawnictwie tylko jedną książkę dla początkujących, która nie jest najlepsza (po nazwisku autora spodziewałem się czegoś więcej i się troszkę rozczarowałem).

8 komentarzy to “Drupal – świetny CMS”

  1. […] Drupal to CMS, którego zachwalałem w tym wpisie. W wolnej chwili piszę pewien większy moduł pod Drupala (nie będę podawał szczegółów, aby nie zapeszyć). Serwis już nawet stoi i działa w fazie testów. Serwis nigdzie nie był promowany, natomiast zostały zarejestrowane 2 konta (prawdopodobnie spamboty założyły konta, aby spróbować wysłać jakiś SPAM np. w komentarzach do artykułów). […]

  2. Serhij napisał(a):

    Witaj, Damianie.
    Ja też się zainteresowałem ostatnio Drupalem.
    Spędziłem nad nim kilka nocy 🙂

    Szukając pomocy w języku polskim natrafiłem na „drupalowe” forum:
    http://drupal.org.pl/forum
    Może Ci się przyda

    Pozdrawiam
    Serhij

  3. laniol napisał(a):

    Z książek póki co miałem do czynienia z jedną którą możnaby nazwać biblią drupalową – Pro Drupal Development – pozostałe traktują raczej o obsłudze/ wyklikaniu czegoś gotowego niż o pisaniu modułów.

  4. Damian Daszkiewicz napisał(a):

    @laniol – owa biblia jest naprawdę świetna, ale tylko dla programistów. Zwykły śmiertelnik (czyli webmaster nie znający się na programowaniu) nie wyniesie zbyt wiele z tej książki

  5. laniol napisał(a):

    @DamianDaszkiewicz agree,
    ale idac tym tokiem rozumowania – ze jesli ktos nie jest programista, i nie ma czasu „zdoktoryzować” się w temacie – to nie wykorzysta potencjalu Drupala – i rownie dobrze moze uzywac Joomli/Wordpressa 🙂

    Z mojej perspektywy jedyne sensowne podejscie do Drupala – wymaga prześlęczenia nad nim X godzin zeby potem jakoś sprawnie wyklikac społecznosciowki albo jakies nawet totalne kosmosy w pare dni pracy – no ale radocha (no i oczywiscie $$) potem wszystko rekompensuje 🙂

  6. palik napisał(a):

    witam, cieszę się z nowych ‚nawróconych’ na drupala ludzi… z aktywnych forów polecam drupal.pl, drupal.org.pl i grupę drupal na goldenline, na tych 3 najwięcej się dzieje.

    co do książek to polecam mój spis pozycji packt – http://palikowski.net/drupal-ksiazki

  7. Damian Daszkiewicz napisał(a):

    Znalazłem fajną stronę dla developerów drupala: http://www.drupal.biz.pl/ Szkoda tylko, że strona jest postawiona na sites.google.com a nie na drupalu 😉

  8. Damian Daszkiewicz napisał(a):

    Wczoraj w Helionie ukazała się polskojęzyczna dość gruba ksiązka o drupalu: http://helion.pl/view/354U/drupal.htm

    Autorem ksiązki jest Krysztof Palikowski, który prowadzi serwis http://www.elimu.pl, więc nawet nie czytałem recenzji/spisu treści, tylko od razu zamówiłem książkę 😉