SlideShare a Scribd company logo
1 of 61
Dlaczego Twoja kolejna aplikacja
powinna bazować na platformie
Drupal?
Grzegorz Bartman
Twitter: @grzegorzbartman
E-mail: grzegorz.bartman@droptica.com
Czym jest Drupal?
Drupal to platforma do tworzenia aplikacji internetowych
Za pomocą systemu Drupal oraz
tysięcy modułów można budować takie
aplikacje internetowe jak:
●Sklepy internetowe
●Serwisy z aktualnościami
●Intranety i extranety
●Bazy wiedzy
●Strony korporacyjne
●Serwisy społecznościowe
●Systemy rezerwacji
Dries Buytaert – autor systemu Drupal

www.droptica.com

strona 2/61
Drupal jest używany przez firmy
i organizacje z całego świata

http://www.whitehouse.gov/

http://www.economist.com/
http://www.mbca.org/

http://www.nokiasiemensnetworks.com/

http://about.van.fedex.com/

http://research.nokia.com/

http://www.allegrogroup.com
http://mcdonalds.com.au/

www.droptica.com

https://events.jftc.nato.int/

https://drupal.org/case-studies

strona 3/61
Drupal jest na licencji Open Source
Klient otrzymuje dostęp do
całego kodu źródłowego
aplikacji

Nie ma opłat licencyjnych za
korzystanie z platformy Drupal
oraz tysięcy modułów
dostępnych na stronie
www.drupal.org

www.droptica.com

strona 4/61
PHP i MySQL
Drupal jest napisany w PHP i korzysta z
bazy danych MySQL/MariaDB – działa
na większości serwerów hostingowych

Drupal działa na darmowym
serwerze Apache, ale także
na serwerach Nginx, IIS,
Lighttpd

www.droptica.com

strona 5/61
Społeczność
System Drupal jest rozwijany od 2001 roku
Aktualna wersja systemu – 7
Wersja 8 będzie wydana w na
początku 2014 roku
Drupal.org to:
- 24 000 modułów
- 1 800 szablonów
- 600 dystrybucji Drupala
- 29 000 programistów
W Polsce społeczność drupalowa
spotyka się na corocznych konferencjach
DrupalCamp Wrocław
http://dcwroc.pl
http://2012.dcwroc.pl

www.droptica.com

strona 6/61
Dlaczego klienci chwalą Drupala?
Prosty interfejs zarządzania
treścią w systemie

Szybkie wykonanie aplikacji
dzięki tysiącom darmowych
modułów i rozbudowanemu API

Możliwość integracji z
innymi systemami w firmie
Niższe koszty wdrożenia w
porównaniu z komercyjnymi
systemami
Praktycznie nieograniczone
możliwości rozbudowy systemu

www.droptica.com

System sprawdzony w wielu
wdrożeniach na całym
świecie, co potwierdza jego
solidność i niezawodność.
strona 7/61
Elementy składowe Drupala (1)
Entity

Fields

Node
Node types:

Boolean
Car

Page

News

Users

File

Image

Image

Engine size
Job

Description

Taxonomy
Vocabularies
Tags

Custom entities
(for example: Drupal Commerce module)

www.droptica.com

Text

Cities

Term reference
Node reference
User reference
Field collection

News categories

strona 8/61
Elementy składowe Drupala (2)

www.droptica.com

strona 9/61
Dlaczego programiści chwalą Drupala?

www.droptica.com

strona 10/61
Dlaczego programiści chwalą Drupala?
Entity API – pozwala na
tworzenie encji do
przechowywania danych w
systemie

Fields API – umożliwia
rozbudowanie struktury encji
przez przeglądarkę
internetową, bez konieczności
pisania kodu

Views – generator zapytań
SQL – za pomocą
przeglądarki można pobierać
dowolne informacje z bazy
danych i prezentować je w
dowolnej formie dla
użytkowników (HTML, JSON,
XML, PDF, XLS, inne)

Rules – moduł oparty o
strukturę
Zdarzenie-Warunek-Akcja
(Event Condition Action ECA).
Pozwala wyklikać akcje, które
mają być wykonywane przy
konkretnych zdarzeniach
systemowych (np. wysyłanie
e-mail po dodaniu treści do
systemu)

www.droptica.com

strona 11/61
Fields API

Klikając tworzymy strukturę danych, Drupal sam tworzy
odpowiednie tabele w bazie danych
www.droptica.com

strona 12/61
Views (1)

W panelu administracyjnym tworzymy widok (zapytanie SQL +
formatowanie wyświetlania).
www.droptica.com

strona 13/61
Views (2)

Moduł Views automatycznie generuje odpowiednie zapytanie
SQL
www.droptica.com

strona 14/61
Views (3)

W ciągu kilku minut można wygenerować stronę pobierającą
dane z bazy danych i wyświetlającą je w wybranym formacie.
www.droptica.com

strona 15/61
Devel (1)
https://drupal.org/project/devel

www.droptica.com

strona 16/61
Devel (2)

Droptica sp. z o.o.

www.droptica.com

strona 17/61
Haki (hook)
Rdzeń Drupala

Własny moduł

Formularz dodawania
treści

Użytkownik wysłał formularz

Walidacja formularza

Zaczepiamy się
w momencie
walidacji
formularza

Tytuł treści musi być
sprawdzony
w zewnętrznej bazie danych
przed zapisaniem danych.

Zapisanie formularza

Przekierowanie do strony

www.droptica.com

W ten sposób można dowolnie
zmieniać i rozbudowywać Drupala bez
jego modyfikacji, używając własnych
modułów.
strona 18/61
Haki (hook)

●

https://api.drupal.org/api/drupal/includes%21module.inc/group/hooks/7

●

https://api.drupal.org/api/views/views.api.php/group/views_hooks/7

www.droptica.com

strona 19/61
Views API (1)

www.droptica.com

strona 20/61
Views API (2)

www.droptica.com

strona 21/61
Rules

Wysyłanie wiadomości e-mail z powiadomieniem o nowych
Samochodach dodanych do systemu – wyklikane w kilka minut
www.droptica.com

strona 22/61
Rules API (1)

www.droptica.com

strona 23/61
Rules API (2)

http://drupalcontrib.org/api/drupal/contributions!rules!rules.api.php/7

www.droptica.com

strona 24/61
Fields API

https://drupal.org/project/link - moduł dodaje
nowy typ pola: Link. Pole służy do
przechowywania adresów stron
internetowych

https://api.drupal.org/api/drupal/includes!module.inc/group/hooks/7 hook_field_*
www.droptica.com

strona 25/61
Entity API

https://drupal.org/project/commerce - moduł
do tworzenia sklepu internetowego. Moduł
definiuje nowe encje w Drupalu, np. „Order”

www.droptica.com

strona 26/61
Uprawnienia (1)

Rozbudowany system uprawnień pozwala na dowolne
zarządzanie dostępem do treści.
www.droptica.com

strona 27/61
Uprawnienia (2)
if (user_access('administer my module') {
//do something
}

www.droptica.com

strona 28/61
Forms API (1)
W Drupalu do definiowania formularzy używamy tablic PHP.
Jak modyfikować formularze? → hook_form_alter()

https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7

www.droptica.com

strona 29/61
Forms API (2)
Własne formularze

https://api.drupal.org/api/drupal/developer%21topics%21forms_api_reference.html/7

www.droptica.com

strona 30/61
Services
https://drupal.org/project/services

www.droptica.com

strona 31/61
Services (2)
https://drupal.org/project/services

www.droptica.com

strona 32/61
Services (3)

www.droptica.com

strona 33/61
Services (4)
Potrzebujesz więcej opcji w Services?
●https://drupal.org/project/services_views
●Hooki: https://drupal.org/node/783460

www.droptica.com

strona 34/61
System szablonów
Wszystkie elementy kodu HTML generowane
przez rdzeń Drupala oraz moduły mogą być
nadpisane
Dedykowany plik dla strony /mypage:
page--mypage.tpl.php
Dedykowany plik dla node typu car:
node--car.tpl.php
Dedykowany plik dla pola field_body w rodzaju
zawartości Car:
field--body--car.tpl.php
Funkcje w pliku template.php pozwalają na
nadpisywanie lub dodawanie zmiennych, np:
●template_preprocess_page(&$variables,
$hook)
●template_preprocess_node(&$variables)
https://drupal.org/node/171194

www.droptica.com

strona 35/61
Szablony bazowe
●

Lista wszystkich szablonów: https://drupal.org/project/Themes

Szablony w Drupalu mają możliwość dziedziczenia dlatego często używa się szablonów bazowych i
na ich podstawie tworzy własne
●

●

Najpopularniejsze szablony bazowe
●

https://drupal.org/project/zen

●

https://drupal.org/project/omega

●

https://drupal.org/project/adaptivetheme

●

https://drupal.org/project/fusion

●

https://drupal.org/project/bootstrap

●

https://drupal.org/project/basic

www.droptica.com

strona 36/61
There's module for that
Poszukaj gotowego modułu
zanim zaczniesz pisać własny!
Im mniej własnego kodu tym
mniejsze prawdopodobieństwo
błędów w aplikacji
Jak szukać?
●Wyszukiwarka na drupal.org nie
daje dobrych wyników
●http://drupalmodules.com
●Google.pl → site:drupal.org

www.droptica.com

strona 37/61
Moduł Examples

Jeśli zdecydujesz się na napisanie własnego modułu sprawdź przykłady
w module https://drupal.org/project/examples

www.droptica.com

strona 38/61
Drush

Drush pozwala na zarządzanie Drupalem z poziomu konsoli
Instalacja w Debian/Ubuntu: apt-get install drush
Przykładowe komendy:
●Pobieranie modułu devel: drush dl devel
●Czyszczenie cache: drush cc all
●Uruchomienie crona: drush cron
●Aktualizacja bazy: drush updb
●Wszystkie polecenia: drush help

www.droptica.com

strona 39/61
hook_update_N
Hook służy do aktualizacji bazy danych. Można go wykorzystać do
zarządzania wersjami aplikacji opartej na Drupalu.
Hook jest wywoływany podczas uruchomienia skrypty /update.php
Hook o zadanym numerze (np.. mymodule_update_7101) wykona się tylko
raz (nie zostanie ponownie wywołany po uruchomieniu procesu na stronie
/update.php)
Więcej:
http://designhammer.com/blog/managing-drupal-site-updates-hookupdaten

www.droptica.com

strona 40/61
Features
Moduł Features https://drupal.org/project/features pozwala na zapisywanie
ustawień Drupala, rodzajów zawartości, widoków, pól w plikach (specjalne
moduły).
Opcja eksportu wszystkich ustawień z bazy danych do kodu pozwala na
użycie wersjonowania plików (GIT, SVN) do zarządzania aplikacja i ułatwia
pracę w grupie programistów.
W połączeniu z Drush można zbudować środowisko do automatycznego
budowania aplikacji oraz przenoszenia wersji aplikacji pomiędzy serwerami.
Przykład skonfigurowanego serwera:
https://drupal.org/project/droptica_devserver

www.droptica.com

strona 41/61
Obsługa wielu domen
●

Multisite (core)
●

●

●

Jeden katalog z plikami
Drupala
Osobne bazy danych dla
każdej domeny (opcja
współdzielenia
wybranych tabel)
Każda domena ma
swoich użytkowników I
administratorów

www.droptica.com

●

Domain Access Module
●

●
●

Jeden katalog z plikami
Drupala
Jedna baza danych
Jedna baza
użytkowników, jeden
panel zarządzania
stronami

strona 42/61
Serwer
Przy dużych aplikacjach istnieje konieczność optymalizacji Drupala oraz serwera pod
względem wydajności.
Możliwości Drupala:
●Integracja z Memcache https://drupal.org/project/memcache
●Integracja z Varnish https://drupal.org/project/varnish
●Integracja z Solr https://drupal.org/project/search_api_solr
●Obsługa baz danych Master/Slave https://drupal.org/node/1952990
●Content delivery network https://drupal.org/project/cdn
https://drupal.org/project/storage_api
●Mongodb https://drupal.org/project/mongodb
●Redis https://drupal.org/project/redis

www.droptica.com

strona 43/61
Aegir
Aegir pozwala na zarządzanie wieloma stronami opartymi o Drupala
Bardzo pomaga w pracy jeśli zarządzamy dużą ilością podobnych stron.
Więcej:
http://www.youtube.com/watch?v=NE5b5qZ4vto
http://www.aegirproject.org/

www.droptica.com

strona 44/61
Środowiska programistyczne
Wszystkie popularne środowiska programistyczne mają
rozszerzenia ułatwiające pracę z Drupalem
Eclipse https://drupal.org/project/eclipse
https://drupal.org/node/75242
Netbeans https://drupal.org/project/netbeans
Sublime
http://realityloop.com/blog/2012/08/09/drupal-development-using-s
ublime-text-2-5-steps

www.droptica.com

strona 45/61
Możliwości (1)
Podczas tej prezentacji przedstawiłem 6 modułów
●Devel
●Views (w rdzeniu Drupala 8)
●Rules
●Link
●Commerce
●Services

www.droptica.com

strona 46/61
Możliwości (2)
Na stronie drupal.org jest ponad 22 000 modułów

www.droptica.com

strona 47/61
Przegląd modułów (1)
https://drupal.org/project/admin_menu
●https://drupal.org/project/backup_migrate
●https://drupal.org/project/devel_themer
●https://drupal.org/project/search_krumo
●https://drupal.org/project/feeds
●https://drupal.org/project/migrate
●https://drupal.org/project/field_collection
●https://drupal.org/project/l10n_update
●https://drupal.org/project/addressfield
●https://drupal.org/project/context
●https://drupal.org/project/date
●https://drupal.org/project/filefield_sources
●https://drupal.org/project/WYSIWYG
●https://drupal.org/project/media
●https://drupal.org/project/menu_breadcrumb
●https://drupal.org/project/panels
●https://drupal.org/project/pathauto
●https://drupal.org/project/smtp
●https://drupal.org/project/views_bulk_operations
●https://drupal.org/project/views_php
●https://drupal.org/project/views_slideshow
●

www.droptica.com

strona 48/61
Przegląd modułów (2)
https://drupal.org/project/flexslider
●https://drupal.org/project/webform
●https://drupal.org/project/print
●https://drupal.org/project/colorbox
●https://drupal.org/project/imagecache_actions
●https://drupal.org/project/nodequeue
●https://drupal.org/project/revisioning
●https://drupal.org/project/globalredirect
●https://drupal.org/project/metatag
●https://drupal.org/project/page_title
●https://drupal.org/project/redirect
●https://drupal.org/project/xmlsitemap
●https://drupal.org/project/captcha
●https://drupal.org/project/recaptcha
●https://drupal.org/project/libraries
●https://drupal.org/project/transliteration
●https://drupal.org/project/token
●https://drupal.org/project/strongarm
●https://drupal.org/project/fboauth
●https://drupal.org/project/facebook_rules
●

●

www.droptica.com

strona 49/61
Przegląd modułów (3)
https://drupal.org/project/drupalforfirebug
●https://drupal.org/project/oauth
●https://drupal.org/project/quicktabs
●https://drupal.org/project/popup_message
●https://drupal.org/project/service_links
●https://drupal.org/project/userpoints
●https://drupal.org/project/email
●https://drupal.org/project/simplenews
●https://drupal.org/project/menu_attributes
●https://drupal.org/project/flag
●https://drupal.org/project/auto_nodetitle
●https://drupal.org/project/archive
●https://drupal.org/project/diff
●https://drupal.org/project/menu_block
●https://drupal.org/project/site_map
●https://drupal.org/project/coder
●https://drupal.org/project/masquerade
●https://drupal.org/project/fivestar
●https://drupal.org/project/calendar
●https://drupal.org/project/privatemsg
●

www.droptica.com

strona 50/61
Przegląd modułów (4)
https://drupal.org/project/stringoverrides
●https://drupal.org/project/og
●https://drupal.org/project/boost
●https://drupal.org/project/securepages
●https://drupal.org/project/tagadelic
●https://drupal.org/project/content_access
●https://drupal.org/project/acl
●https://drupal.org/project/simple_access
●https://drupal.org/project/views_data_export
●https://drupal.org/project/views_load_more
●https://drupal.org/project/picture
●https://drupal.org/project/breakpoints
●https://drupal.org/project/ldap
●

http://drupalmodules.com/top-downloads

www.droptica.com

strona 51/61
Słabe strony systemu (1)
Szybkie tworzenie skalowalnych
aplikacji możliwe jest w Drupalu tylko
przez doświadczonych
programistów. Osoby z małym
doświadczeniem zbudują aplikację
na Drupalu ale jej użytkowanie i
rozbudowa nie będą wygodne, co
przełoży się na wyższe koszty
utrzymania aplikacji oraz
niezadowolenie klienta
●Realizacja w Drupalu interfejsu
użytkownika projektowanego (layout
w PSD) bez udziału osoby znającej
budowę Drupala może być
czasochłonna z uwagi na pewną
narzuconą strukturę prezentacji
danych.
●

www.droptica.com

strona 52/61
Słabe strony systemu (2)

W początkowej fazie nauki Drupala warto mieć kontakt z doświadczonym programistą
Drupala. Taka osoba szybciej pomoże w rozwiązywaniu problemów niż najlepsza
książka czy dokumentacja.

www.droptica.com

strona 53/61
Historia
Drupal 1.0 – 2001-01-15
●Drupal 5.0 – 2007-01-15
●Drupal 6.0 – 2008-02-13
●Drupal 7.0 – 2011-01-05
●Drupal 8.0 – 2014-??
● drupal 8.0-alpha4 2013-10-18
●

www.droptica.com

strona 54/61
Drupal 8
●
●

●
●
●

Object oriented code
Configuration management
(configuration in files)
Mobile
Breakpoint API
Multilangual

●
●
●
●
●
●
●

Views
Web Services
PHPUnit
Backbone
Twig
Symfony (HttpKernel)
CKEditor

http://www.sensiolabs.co.uk/ - strona oparta o Drupal 8!
●http://www.youtube.com/watch?v=8uhNFoOnz_g DrupalCon Prague 2013 Keynote
●http://www.palantir.net/blog/how-i-learned-stop-worrying-and-love-drupal-8
http://www.palantir.net/sites/default/files/Drupal8ATL.pdf
●

www.droptica.com

strona 55/61
Drupal w sieci
http://drupal.org
●https://api.drupal.org
●http://drupalmodules.com
●http://drupal.pl
●http://dcwroc.pl/videos
●http://2012.dcwroc.pl/videos
●http://drupalidzienastudia.pl
●http://3drupal.pl
●http://nodeone.se/sv/learn-drupal
●http://dropbucket.org/
●http://www.droptica.com/pl/blog
●http://www.drupalday.pl
●

www.droptica.com

strona 56/61
Dystrybucje
http://openatrium.com - praca w grupie
●https://drupal.org/project/commerce_kickstart - sklep oparty o moduł Drupal
Commerce z przykładową konfiguracją
●https://drupal.org/project/openpublish - publikacja treści, artykułów
●https://drupal.org/project/commons - budowanie społeczności
●https://drupal.org/project/erpal - CRM, Project management, document
management, employee management, calendars, idp
●https://drupal.org/project/civicrm_starterkit - dystrybucja oparta o CiviCRM
●https://drupal.org/project/panopoly - bazowa platforma do budowania
serwisów w oparciu o moduł Panels, pozwala na wygodną edycję
zawartości stron, na Panopoly oparte jest OpenAtrium 2
●https://drupal.org/project/distributions - lista dystrybucji
●

www.droptica.com

strona 57/61
Książki

www.droptica.com

strona 58/61
Podsumowanie
Wybierając platformę Drupal
otrzymujesz:
●Zadowolenie użytkowników (klienta)
- System prosty i wygodny w obsłudze,
krótki czas realizacji, brak opłat
licencyjnych
●Zadowolenie programistów – dużo
modułów i rozbudowane API pozwala
łatwo i przyjemnie pracować nad
rozbudową aplikacji

www.droptica.com

strona 59/61
Pytania?

www.droptica.com

strona 60/61
Dziękuję za uwagę

Grzegorz Bartman
•

https://twitter.com/grzegorzbartman

•

Grzegorz.Bartman@droptica.com

www.droptica.com

strona 61/61

More Related Content

What's hot

Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Grzegorz Bartman
 
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław SobieckiDrupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław SobieckiGrzegorz Bartman
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiGrzegorz Bartman
 
Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Droptica
 
Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]Droptica
 
Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Droptica
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Droptica
 
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]Droptica
 
Testy funkcjonalne
Testy funkcjonalneTesty funkcjonalne
Testy funkcjonalnePROSKAR
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomTomasz Dziuda
 
Tworzenie stron WWW we Flashu 8. Projekty
Tworzenie stron WWW we Flashu 8. ProjektyTworzenie stron WWW we Flashu 8. Projekty
Tworzenie stron WWW we Flashu 8. ProjektyWydawnictwo Helion
 
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...PROIDEA
 

What's hot (14)

Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
 
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław SobieckiDrupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
 
Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]Nowości w drupal 9 i 10 [PL]
Nowości w drupal 9 i 10 [PL]
 
Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]Devel - przegląd możliwości modułu [PL]
Devel - przegląd możliwości modułu [PL]
 
Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]Migrate API w Drupalu [PL]
Migrate API w Drupalu [PL]
 
Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]Drupal jako modularny i rozszerzalny CMS [PL]
Drupal jako modularny i rozszerzalny CMS [PL]
 
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Grok Artykul
Grok ArtykulGrok Artykul
Grok Artykul
 
Testy funkcjonalne
Testy funkcjonalneTesty funkcjonalne
Testy funkcjonalne
 
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistomWordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
WordUp Gdynia - Jak tworzyć motywy przyjazne użytkownikom i programistom
 
Tworzenie stron WWW we Flashu 8. Projekty
Tworzenie stron WWW we Flashu 8. ProjektyTworzenie stron WWW we Flashu 8. Projekty
Tworzenie stron WWW we Flashu 8. Projekty
 
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
4Developers 2018: Graceful Degradation kontra Progressive Enhancement (Jacek ...
 

Similar to Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?

Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Droptica
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?PHPCon Poland
 
Drupal Feeds - Wiktor Burbo
Drupal Feeds - Wiktor BurboDrupal Feeds - Wiktor Burbo
Drupal Feeds - Wiktor BurboGrzegorz Bartman
 
Dlaczego Drupal CMS? - www.siplex.pl
Dlaczego Drupal CMS? - www.siplex.plDlaczego Drupal CMS? - www.siplex.pl
Dlaczego Drupal CMS? - www.siplex.plKamil Niewczas
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach3camp
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Droptica
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztatyintive
 
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji androidSages
 
Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]Droptica
 
Drupal Context - Agnieszka Cupek
Drupal Context - Agnieszka CupekDrupal Context - Agnieszka Cupek
Drupal Context - Agnieszka CupekGrzegorz Bartman
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzkeGaldoMedia
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławTomasz Dziuda
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAArtur Gunia
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyWydawnictwo Helion
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Natalia Stanko
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Bartlomiej Zass
 

Similar to Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal? (20)

Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
Drupal Commerce - konfiguracja prostego sklepu internetowego [PL]
 
Systemy dedykowane (pdf)
Systemy dedykowane (pdf)Systemy dedykowane (pdf)
Systemy dedykowane (pdf)
 
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
Silverlight i PHP - jak budować interfejs nowoczesnych aplikacji internetowych?
 
Silverlight i PHP
Silverlight i PHPSilverlight i PHP
Silverlight i PHP
 
Drupal Feeds - Wiktor Burbo
Drupal Feeds - Wiktor BurboDrupal Feeds - Wiktor Burbo
Drupal Feeds - Wiktor Burbo
 
Dlaczego Drupal CMS? - www.siplex.pl
Dlaczego Drupal CMS? - www.siplex.plDlaczego Drupal CMS? - www.siplex.pl
Dlaczego Drupal CMS? - www.siplex.pl
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztaty
 
Architektura aplikacji android
Architektura aplikacji androidArchitektura aplikacji android
Architektura aplikacji android
 
Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]
 
PyLadies #6
PyLadies #6PyLadies #6
PyLadies #6
 
Drupal Context - Agnieszka Cupek
Drupal Context - Agnieszka CupekDrupal Context - Agnieszka Cupek
Drupal Context - Agnieszka Cupek
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCAPRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
PRZEGLĄD NARZĘDZI W WARSZTACIE OTWARTEGO NAUKOWCA
 
Delphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programistyDelphi 8 .NET. Kompendium programisty
Delphi 8 .NET. Kompendium programisty
 
Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2Prostota i mozliwosci symfony2
Prostota i mozliwosci symfony2
 
Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)Programowanie aplikacji dla Windows 8 (WinRT)
Programowanie aplikacji dla Windows 8 (WinRT)
 

More from Grzegorz Bartman

Automatyzacja w tworzeniu aplikacji opartych Drupala
Automatyzacja w tworzeniu aplikacji opartych DrupalaAutomatyzacja w tworzeniu aplikacji opartych Drupala
Automatyzacja w tworzeniu aplikacji opartych DrupalaGrzegorz Bartman
 
Wprowadzenie do pisania własnych modułów oraz do systemu menu.
Wprowadzenie do pisania własnych modułów oraz do systemu menu. Wprowadzenie do pisania własnych modułów oraz do systemu menu.
Wprowadzenie do pisania własnych modułów oraz do systemu menu. Grzegorz Bartman
 
WYSIWYG w Drupalu 7 - Tomasz Rychter
WYSIWYG w Drupalu 7 - Tomasz RychterWYSIWYG w Drupalu 7 - Tomasz Rychter
WYSIWYG w Drupalu 7 - Tomasz RychterGrzegorz Bartman
 
Drupal Features - Agnieszka Piłasiewicz
Drupal Features - Agnieszka PiłasiewiczDrupal Features - Agnieszka Piłasiewicz
Drupal Features - Agnieszka PiłasiewiczGrzegorz Bartman
 
Szkolenie drupal-podstawy 2
Szkolenie drupal-podstawy 2Szkolenie drupal-podstawy 2
Szkolenie drupal-podstawy 2Grzegorz Bartman
 
Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Grzegorz Bartman
 
Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Grzegorz Bartman
 
Drupal 6 - podstawy - www.openbit.pl
Drupal 6 - podstawy - www.openbit.plDrupal 6 - podstawy - www.openbit.pl
Drupal 6 - podstawy - www.openbit.plGrzegorz Bartman
 

More from Grzegorz Bartman (9)

Automatyzacja w tworzeniu aplikacji opartych Drupala
Automatyzacja w tworzeniu aplikacji opartych DrupalaAutomatyzacja w tworzeniu aplikacji opartych Drupala
Automatyzacja w tworzeniu aplikacji opartych Drupala
 
Wprowadzenie do pisania własnych modułów oraz do systemu menu.
Wprowadzenie do pisania własnych modułów oraz do systemu menu. Wprowadzenie do pisania własnych modułów oraz do systemu menu.
Wprowadzenie do pisania własnych modułów oraz do systemu menu.
 
WYSIWYG w Drupalu 7 - Tomasz Rychter
WYSIWYG w Drupalu 7 - Tomasz RychterWYSIWYG w Drupalu 7 - Tomasz Rychter
WYSIWYG w Drupalu 7 - Tomasz Rychter
 
Drupal Features - Agnieszka Piłasiewicz
Drupal Features - Agnieszka PiłasiewiczDrupal Features - Agnieszka Piłasiewicz
Drupal Features - Agnieszka Piłasiewicz
 
Drupal 7 training - Views
Drupal 7 training - ViewsDrupal 7 training - Views
Drupal 7 training - Views
 
Szkolenie drupal-podstawy 2
Szkolenie drupal-podstawy 2Szkolenie drupal-podstawy 2
Szkolenie drupal-podstawy 2
 
Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2
 
Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2Openbit szkolenie-drupal-podstawy 2
Openbit szkolenie-drupal-podstawy 2
 
Drupal 6 - podstawy - www.openbit.pl
Drupal 6 - podstawy - www.openbit.plDrupal 6 - podstawy - www.openbit.pl
Drupal 6 - podstawy - www.openbit.pl
 

Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?