A hand picking Drupal logo among other poplar cmf-s
Budujesz duży serwis internetowy? Oto 10 powodów, dlaczego powinieneś użyć Drupala

Stworzenie dużego, często aktualizowanego serwis internetowego wymaga nie tylko zdolnych redaktorów, ale też solidnego zaplecza technologicznego. Gdy ciężko jest wybrać z oceanu możliwości, pomocą przychodzi Drupal - uniwersalny system klasy CMF.

Budując duży serwis internetowy, możesz wybrać wiele technologii. Wybór często zaczynamy od języków programowania (PHP, Python, Java, ASP.NET, itd), a następnie rozważamy opcję napisania systemu od zera lub wykorzystania do tego Frameworka. Można też poszukać bardziej kompleksowego rozwiązania i wybrać system klasy CMF - content management framework. Jednym z takich systemów jest Drupal 8. Opiszę tutaj, dlaczego warto wybrać Drupala jako system bazowy dla dużego serwisu internetowego. 

Jak duży jest "duży"?

Przez duży serwis internetowy rozumiem serwis, który jest często zmieniany. Nad zmianą treści pracuje na stałe minimum jeden redaktor oraz wspiera go minimum jeden programista (wraz z testerem i sysadminem) odpowiedzialny za stałe ulepszanie serwisu, dodawanie nowych funkcji w systemie, poprawianie pojawiających się błędów itp. 

Kilka przykładów dużych serwisów internetowych:

  • Serwis średniej lub dużej firmy produkcyjnej albo usługowej, firma oferuje setki czy nawet tysiące produktów lub usług. Należy stale dbać o odpowiednią zawartość treści na stronie, aktualizować informacje o produktach, usługach, promocjach, dostępności itp. Serwis www jest jednym z kluczowych narzędzi sprzedażowych i jest zarządzany przez dział marketingu oraz dział sprzedaży. Może być częścią większego systemu służącego także do obsługi zamówień i posprzedażowej obsługi klienta.
  • Serwis informacyjny, np. serwis gazety, czasopisma. Nad nową treścią, codziennie pojawiającą się w serwisie, pracuje zespół redaktorów. Proces tworzenia treści ma wiele kroków (brudnopis, korekta, akceptacja, publikacja w danym terminie, itp). Raz opublikowane treści mogą być później modyfikowane bez konieczności ponownego umieszczania ich od nowa, np. aktualizowane w miarę rozwoju sytuacji relacjonowanej na żywo. 

Strona telewizji FOX.com

Strona telewizji FOX.com. Front-end został wykonany w Reakcie, back-end obsługuje Drupal.

 

  • Wewnętrzna aplikacja webowa służąca do zarządzania procesami w firmie, np. system CRM, system do wspomagania działania regionalnych przedstawicieli handlowych czy wielu oddziałów firmy, system intranetowy. System z dużą ilością różnych typów danych. Aplikacja dostępna jest tylko dla zalogowanych użytkowników, a przypisane pracownikom role definiują ich uprawnienia w systemie. Użytkownicy codziennie tworzą duże ilości nowych danych.
  • Serwis uczelni lub szkoły, gdzie często pojawiają się informacje od prowadzących/nauczycieli, informacje dla studentów i pracowników. Jest dużo typów informacji podzielonych na kategorie i wyświetlanych w różny sposób, a użytkownicy mogą mieć przypisywane różnorodne uprawnienia niezależnie od siebie (np. ten sam doktorant może zarówno otrzymywać treści przeznaczone dla studentów i publikować jako wykładowca).
  • System dostarczający treści do innych systemów - API z treściami dla serwisów internetowych i aplikacji mobilnych. Potrzebne jest trzymanie bardzo wielu różnych typów danych i szybkiego dostarczania ich do zewnętrznych systemów

 

Content management services sorted by popularity. Image contains Drupal,Wordpress and Joomla among the others

(Żrodło: https://w3techs.com/technologies/market/content_management)

Drupal w porównaniu z innymi systemami

Wordpress pozostaje wciąż niekwestionowanym królem internetu, jeśli weźmiemy pod uwagę wyłącznie ilość stron opartych na danym systemie, a to za sprawą dużej ilości małych, statycznych stron oraz prostych blogów, które z niego korzystają. Sytuacja zmienia się jednak  diametralnie, jeśli przyjrzymy się, z czego korzystają firmy, których działalność wymaga dużej, często aktualizowanej strony internetowej. W tym segmencie rynku Drupal radzi sobie znacznie lepiej dzięki skalowalności i łatwości łączenia go z innymi serwisami. 
Opinie o Drupalu w wielu artykułach w internecie potwierdzają dane z powyższego wykresu: Drupal jest częściej wybierany do budowy większych serwisów niż Wordpress.

Dlaczego powinieneś użyć Drupala 8 do budowy serwisu internetowego

  1. Jest to system wybrany i sprawdzony przez duże międzynarodowe firmy i organizacje. Kilka przykładów kto używa Drupala: 
  2. Drupal 8 jest oprogramowaniem Open Source. Jest w pełni darmowy. Darmowe są też tysiące modułów do niego dostępnych na stronie www.drupal.org Nie musisz ponosić kosztów licencji jak w przypadku systemów komercyjnych. 
  3. Tysiące firm na całym świecie zajmują się dostosowywaniem Drupala do potrzeb klientów (instalacja, konfiguracja, tworzenie szablonów i modułów, hosting). Wybierając Drupala nie zamykamy się na pracę z jedną firmą przez wiele lat (z reguły budujemy serwis internetowy na 3-6 lat).
  4. Drupal jest projektem rozwijanym przez społeczność z całego świata. Ponad 100 000 użytkowników aktywnie rozwija rdzeń Drupala i jego moduły. Nie 10 czy 100 programistów z jednej firmy pracujących nad własnym systemem, ale 100 000 programistów! Do tego ponad 1 milion użytkowników jest zarejestrowanych w serwisie www.drupal.org i pomaga w rozwoju, zgłaszając różne propozycje zmian w systemie i modułach.
  5. Technologicznie Drupal 8 jest napisany w PHP (działa na wersji PHP 7, która jest bardzo szybka), używa komponentów Symfony Framework (uznawanego za najlepsze rozwiązanie w świecie PHP do budowania złożonych aplikacji) oraz systemu szablonów Twig ułatwiającego prace frontendowe oraz poprawiającego bezpieczeństwo. 
  6. Drupal Security Team - to specjalna grupa osób, która czuwa nad bezpieczeństwem Drupala i modułów. Zespół ten stale sprawdza Drupala w poszukiwaniu błędów. W przypadku pojawienia się błędów bezpieczeństwa szybko pojawiają się aktualizacje poprawiające błędy. Powiadomienia o nowych aktualizacjach są widoczne z poziomu panelu administracyjnego serwisu internetowego. Można je też otrzymywać na e-mail. Każdy serwis na Drupalu automatycznie sprawdza, czy ma najnowsze wersje Drupala i modułów. W razie pojawienia się nowych wersji od razu powiadamia o tym administratora.
  7. Nowa wersja Drupala 8 jest wydawana co pół roku. Drupal 8.0 został wydany pod koniec 2015 roku. Obecnie mamy wersję 8.4. Każda z nowych wersji to nie tylko poprawki błędów, ale również nowe funkcje i moduły dostępne w rdzeniu Drupala. Zespół kierujący rozwojem Drupala chce do jego rdzenia dodawać coraz więcej funkcji zwiększających jego możliwości. Wybierając Drupala 8 otrzymujemy zapewnienie otrzymania nowych funkcji w swoim serwisie internetowym za darmo. 
  8. Webservices - Drupal ma możliwość budowania API i komunikowania się z innymi systemami. Dzięki temu może łatwo wkomponować się w już działające systemy w firmie. Można też łatwo wykorzystać Drupala jako backend dla tzw. podejścia “headless” - Drupal zajmuje się dostarczaniem danych i treści, a samo ich wyświetlanie jest realizowane przez inne systemy.
  9. Moduły i funkcje w rdzeniu Drupala - jest ich bardzo dużo, ale najważniejsze z nich to: 
    • tworzenie dowolnej ilości typów danych o dowolnej strukturze wraz z relacjami pomiędzy typami danych
    • rozbudowane kategoryzowanie treści (kategorie, tagi, struktura drzewiasta, wiele kategorii dla jednej treści),
    • wersjonowanie, czyli śledzenie zmian w treści,
    • logi aktywności w systemie, historia aktywności użytkowników (kto i kiedy się zalogował, kiedy dodał treść itp.),
    • rozbudowane zarządzanie użytkownikami, system ról i uprawnień,
    • wielojęzyczność,
    • multisite: można zbudować na bazie jednej instalacji wiele kopii serwisu, np. dla danego kraju lub osobne wersje serwisu dla każdego z produktów czy usług,
    • zarządzanie mediami (zdjęcia, filmy),
    • wygodne zarządzanie treścią: edytor WYSWIG CKeditor, moderacja treści, szybka edycja i inne,
    • widoki i pola - elastyczne tworzenie struktury danych oraz jej wyświetlanie,
    • system przyjazny dla urządzeń mobilnych, responsywne obrazki,
    • migrate API: w rdzeniu znajduje się mechanizm do wygodnego migrowania danych/treści z innych systemów do Drupala,
    • możliwość blokowania użytkowników m.in. na podstawie IP, e-maila, hosta.
  10. Moduły dodatkowe. Są ich tysiące i można je pobrać za darmo na stronie https://www.drupal.org/. Ciekawsze moduły warte uwagi to:
    • Paragraphs - pozwala na bardzo elastyczne tworzenie treści. Na początku programista tworzy różne typy powtarzających się elementów. Następnie redaktorzy mają opcję budowania z tych elementów podstron. Podstrony mogą mieć dowolną liczbę elementów ustawionych w dowolnej kolejności. Więcej na naszym wpisie na blogu.
    • Metatag - umożliwia zarządzanie tagami meta dla potrzeb SEO. Można tworzyć tagi indywidualnie dla każdej podstrony lub zdefiniować szablony, na podstawie których Drupal będzie automatycznie tworzył tagi dla nowych podstron.
    • Google Analytics: integracja z Google Analytics, możliwa jest prosta integracja i złożona integracja do śledzenia typów użytkowników.
    • Pathauto: pozwala na automatyczne tworzenie aliasów url według ustalonego wzorca (np. /wiadomosci/kategoria/(tytul wiadomosci)).
    • Webform: pozwala na tworzenie formularzy przez panel administracyjny Drupala. W kilka minut można stworzyć formularz zbierający dane potencjalnych klientów albo ankietę.
    • SitemapXML: tworzy mapę XML zawierającą strukturę serwisu potrzebną dla Google i innych wyszukiwarek.
    • Captcha: dodaje captche do dowolnego formularza, aby chronić serwis przed spamem.
    • Panels: pozwala na tworzenie nowych podstron metodą “drag and drop”. Definiujemy nową stronę, ustalamy jej układ (np. 3 kolumny) i dodajemy do każdego z elementów układu treść.
    • SMTP: możemy wysyłać e-maile z Drupala przez zewnętrzne serwery. Można wysyłać też maile z zawartością HTML. Przydatne, gdy wysyłamy wiele e-maili do użytkowników i chcemy np. śledzić ich statystyki za pomocą zewnętrznych usług.
    • Search API + Solr: umożliwia podłączenie Apache Solr do Drupala. Bardzo przyspiesza to wyszukiwanie w witrynie w przypadku serwisów z dużą ilością treści.
    • Scheduler: umożliwia planowanie, kiedy treść ma być opublikowana w serwisie.
    • AddToAny share buttons: łatwe dodawanie ikon do dzielenia się wpisem w mediach społecznościowych.
    • Commerce: moduł do budowania sklepów internetowych.
    • Mailchimp lub Freshmail: integracja z popularnymi systemami do newsletterów.
    • Focal point: kadrowanie zdjęć przed ich publikacją.

Pełną listę modułów można znaleźć na stronie https://www.drupal.org/project/project_module

Podsumowanie

Powyżej wymieniłem listę 10 moim zdaniem najważniejszych powodów, dlaczego warto wybrać Drupala. Korzyści z używania jest znacznie więcej. Najlepiej poznać je testując system. W tym przypadku warto zainstalować dodatkowe moduły, aby poznać pełne jego możliwości. Udostępniliśmy dystrybucję (dystrybucja to rdzeń Drupala i dodatkowe moduły), która w standardzie zawiera dużo więcej, niż sam rdzeń oraz ma bardzo ładny wygląd. Szczegóły poznasz na naszym blogu oraz na www.droopler.pl
 

Używasz już Drupala? Napisz w komentarzu jakie są według Ciebie najważniejsze powody,  dla których warto z niego korzystać. 

 

Porozmawiajmy o Twoich projektach

Napisz do nas!