38. konference EurOpen.CZ 11. května.2011. www.vojtechkusy.cz



Podobné dokumenty
D R U P A L V O J T Ě C H K U S W O J T H A

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

Drupal konference sobota,

Olga Rudikova 2. ročník APIN

CCK & Views DRUPAL KUNG-FU

Jak na sekce webu v Drupalu

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

MBI - technologická realizace modelu

Od grafického návrhu k funkčnímu webu

Formy komunikace s knihovnami

Mediareference Vojtěch

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Pohled pod pokličku spíš než na UI Využití jako platformy pro vývoj aplikací PV219 Jakub Kolář FI MU

Obsah. Úvod 15 Poděkování autora 16 Zpětná vazba od čtenářů 17 Zdrojové kódy ke knize 17 Errata 17. Představení Drupalu 19

Dobrý CMS Popis produktu a jeho rozšíření

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

KOMPONENTY APLIKACE TreeINFO. Petr Štos ECM Business Consultant

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Dobrý SHOP Popis produktu a jeho rozšíření

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Název: On-line tvorba webu Anotace:

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Bakalářské. Vzdělání: Telefon: Ostrava. Bydliště: Ukázky práce: Správa a monitoring platformy provozované na AWS

Redakční systém Joomla. Prokop Zelený

1. Webový server, instalace PHP a MySQL 13

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Dobrý FOTO Popis produktu a jeho rozšíření

MODULÁRNÍ REDAKČNÍ SYSTÉM (CMS), SE ZAMĚŘENÍM PRO FIREMNÍ

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

Jaku b Su ch ý 1

1 Webový server, instalace PHP a MySQL 13

Architektura softwarových systémů

Střední odborná škola a Střední odborné učiliště, Hořovice

Co musíte udělat po instalaci WordPressu. Vlastimil Ott

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Mapový server Marushka. Technický profil

Nové funkce a technologie v současných a budoucích verzích Invenia. Jiří Kunčar

Vybraná zajímavá Lotus Notes řešení použitelná i ve vašich aplikacích. David Marko TCL DigiTrade

Business Intelligence

Mediální komunikace. Vysoká škola mezinárodních a veřejných vztahů PhDr. Peter Jan Kosmály, Ph.D

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

FFUK Uživatelský manuál pro administraci webu Obsah

Technologie. Osnovy kurzu: Školení správců systému. 1. den, dopolední blok

IS pro podporu BOZP na FIT ČVUT

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Seminární práce z předmětu UPI

Domino 10 nové komponenty a související témata (node.js, ES )

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Použití databází na Webu

Redakční systém Joomla!

SYLABUS IT V. Jiří Kubica. Ostrava 2011

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

bubileg webový redakční systém Manuál administrace pro systém verze 5

Elektronická podpora výuky předmětu Komprese dat

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft Azure Workshop

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Drupal 6.6. webová správa obsahu z pohledu vývojáře

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

M4 PDF rozšíření. Modul pro PrestaShop.

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Obsah. Kapitola 2 Instalace Drupalu Požadavky na webové technologie...35 Webový server Podpora PHP Databáze...

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Bc. David Gešvindr MSP MCSA MCTS MCITP MCPD

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

Stručný úvod pro programátory. Michal Kuchta

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

NMS. Linux na Strahově. Radim Roška & Moris Bangoura InstallFest Silicon Hill

Red Hat Enterprise Virtualization

Open Source a softwarová integrace. Roman Piontek Director of SaaS Innovation

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Systémová administrace portálu Liferay

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

Ideální platforma pro Vaše internetové projekty.

Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

Nové jazykové brány do Caché. Daniel Kutáč

Případová studie: Adresářové řešení pro webhosting pomocí ApacheDS. Lukáš Jelínek

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Novell Identity Management. Jaromír Látal Datron, a.s.

Správa obsahu webové platformy

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

WEBOVÉ STRÁNKY SNADNO A RYCHLE ANEB JE TU WEB

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze

Transkript:

38. konference EurOpen.CZ 11. května.2011 DRUPAL VOJTĚCH KUSÝ @WOJTHA www.vojtechkusy.cz

KDO JSEM D R U P A L V Ý V O J Á Ř / E V A N G E L I Z Á T O R & P H D. S T U D E N T postgraduální studium na ČVUT FSV Katedra inženýrské informatiky Obor informační systémy ve stavebnictví Software na řízení projektů; Modelování dynamických systémů 8 let na volné noze: PHP, webdesign, Drupal (5 let) Drupal.cz, Drupal.org reference: spolupráce na: od února 2011 Atomic Ant Ltd. http://atomicant.co.uk

C O J E D R U P A L ZÁKLADNÍ CHARAKTERISTIKY vysoce modulární open source content management system (CMS) nebo content management framework (CMF) napsaný v PHP snadno rozšiřitelný - téměř každý aspekt Drupalu lze ovlivnit pomocí modulů nebo témat Druplicon vs Drupal logo

D R I E S B U Y T A E R T A N E B K D O Z A T O M Ů Ž E... původní autor: Dries Buytaert, kol. roku 2000 Drupal 1.0.0 - opensource projekt od 15.1.2001 vlastní DrupalTM trademark zakladatel - enterprise Drupal support

TECHNOLOGIE ZÁKLADNÍ POŽADAVKY NA SERVER PHP: o Drupal 6: PHP 5.2, min PHP 4.4.0 o Drupal 7: PHP 5.3, min PHP 5.2.5 Podporované databáze: o Drupal 6: MySQL 4.1+, PostgreSQL 7.1+, (Oracle modul) o Drupal 7: PHP PDO (MySQL, PostgreSQL, SQLite,...), MS SQL a MS Azure (modul) WebServer: o Apache (Linux/Windows) o Nginx (Linux/Windows) o Lighttpd (Linux/Windows) o IIS (Windows only)

DRUPAL-ARCHITEKTURA D R U P A L J A K O S T A V E B N I C E L E G O Contrib = moduly od přispěvatelů Jádro Vlastní modul Jádro = knihovny + základní subsytémy Obrázek z knihy Pro Drupal Development, 2nd Edition

DRUPAL Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U Srdce systému := o knihovny základních funkcích o povinné moduly: System, User, Node, Filter, Block System, User, Node, Filter, Field, Field SQL Storage, Text o téma vzhledu (frontend a administrační) Nepovinné: o Blog, Taxonomy, Comment, Poll o a dalších asi 20 modulů Contrib: o Asi 7000 modulů a témat vzhledu, ke stažení na drupal.org (bezplatně, GNU GPL v2)

DRUPAL NENÍ MVC D R U P A L N E N Í M V C A L E P A C Presentation-abstraction-control Zdroj: http://en.wikipedia.org/wiki/file:pac-schema.png

KONCEPTY ZÁSADNÍ KONCEPTY V DRUPALU systém háků Zásadní moduly: o CCK = Fields o Views o Features o Drush o Panels o...

HÁKY (HOOKS) D R U P A L Z P O H L E D U V Ý V O J Á Ř E Až do Drupalu 6 bylo jádro Drupalu s jedinou výjimkou (xml parser) striktně procedurální Drupal má poměrně unikátní architekturu, která spočívá v systému háků (hooks) a jmenných konvencích (naming conventions) o komunikace jádra s moduly o komunikace modulů mezi sebou Modifikační háky (alter hooks) umožňují měni výstup jiných modulů či jádra Od Drupalu 7 změna, procedurální jádro a systém háků zůstává, ale subsystémy jsou objektové

D R U P A L 6 M Á 7 3 H Á K Ů... A D R U P A L 7 J E Š T Ě V Í C hook_access, hook_actions_delete, hook_action_info, hook_action_info_alter, hook_block, hook_boot, hook_comment, hook_cron, hook_db_rewrite_sql, hook_delete, hook_disable, hook_elements, hook_enable, hook_exit, hook_file_download, hook_filter, hook_filter_tips, hook_flush_caches, hook_footer, hook_form, hook_forms, hook_form_alter, hook_form_form_id_alter, hook_help, hook_hook_info, hook_init, hook_insert, hook_install, hook_link, hook_link_alter, hook_load, hook_locale, hook_mail, hook_mail_alter, hook_menu, hook_menu_alter, hook_menu_link_alter, hook_nodeapi, hook_node_access_records, hook_node_grants, hook_node_info, hook_node_operations, hook_node_type, hook_openid, hook_perm, hook_ping, hook_prepare, hook_profile_alter, hook_requirements, hook_schema, hook_schema_alter, hook_search, hook_search_preprocess, hook_system_info_alter, hook_taxonomy, hook_term_path, hook_theme, hook_theme_registry_alter, hook_translated_menu_link_alter, hook_translation_link_alter, hook_uninstall, hook_update, hook_update_index, hook_update_last_removed, hook_update_n, hook_update_projects_alter, hook_update_status_alter, hook_user, hook_user_operations, hook_validate, hook_view, hook_watchdog, hook_xmlrpc

Zásada: Don t hack core http://media.brianshumate.com/stuff/dont_hack_drupal_core_wallpaper.png

SOUBOR.INFO R E G I S T R A Č N Í S O U B O R M O D U L U mymodule.info name = My first module description = Say hello. core = 7.x ;dependencies[] = profile ;dependencies[] = menu package = "My modules" ;php = 5.3 INI

SOUBOR.MODULE H L A V N Í S O U B O R M O D U L U mymodule.module <?php /** * Implementation of hook_init() */ function mymodule_init() { drupal_set_message(t('hello World')); } PHP

ZÁKLADNÍ KNIHOVNY Z Á K L A D N Í R O Z H R A N Í D R U P A L A P I Překlad (lokalizace) a filtrování výstupu Databázová vrstva Menu systém a routování Systém práv přístupu Form API - rozhraní pro práci s formuláři File API - rozhraní pro práci se soubory Field API - rozhraní pro práci s datovými poli Entity - obecná implementace Drupal objektů, API pro vytváření dalších entit API pro přístup k Drupal objektům: Node, Taxonomy, Comment, User Šablonovací vrstva - hook_theme(), theme()

D R U P A L T E R M I N O L O G I E Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U Entity o Drupal 6 - uživatel, taxonomie, uzel, komentář jednotlivé nesouvisející objekty o Drupal 7 entity všechny tyto objekty jsou entity některé jsou tzv. "fieldable" - je možné je rozšířit pomocí Field API (dříve modul CCK)

D R U P A L T E R M I N O L O G I E Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U Uzel (node - entita) o část obsahu, obvykle má nadpis a nějaký obsah o příklady: Story, Page, Forum topic, Product Taxonomie (taxonomy - entita) o Drupal systém pro kategorizaci obsahu o obsahuje termíny (terms) organizované ve slovnících (vocabularies) Háky/háčky (hooks) o Systém háků umožňuje Drupalu komunikovat s moduly a také umožňuje komunikovat modulům sobě navzájem

D R U P A L T E R M I N O L O G I E Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U Modul o Je obecně jednotka která rozšiřuje Drupal o nějaké funkce, nebo upravuje chování Drupalu Téma (Theme) o Mění "look & feel" Drupalu Instalační profil o Instalační skript, který umožňuje Drupal přednastavit Distribuce o Instalační balení Drupalu = jádro + moduly + profil

D R U P A L T E R M I N O L O G I E Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U Field - pole - (Fields API) o jednoduchý datový typ, který je možné navěsit na entity Field instances - instance polí o sdílená pole mezi entitami Bundle - balík o instance entity skupina polí o typ obsahu (uzlu), slovníky,...

M O D U L C C K - F i e l d s A P I Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U CCK (Fields UI) poskytuje UI pro vytváření typů obsahu stará se o ukládání a nahrávání dat z databáze o automaticky vytváří DB tabulky s příslušnými sloupečky (single vs. multiple) o kromě toho ukládá podrobné nastavení všech definic políček do vlastní tabulky (metadata) dále poskytuje o formulářové prvky (widget) a jejich validaci, o zobrazení dat je možné několika způsoby pomocí formátovačů (formatters)

C C K P O L E = F I E L D Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U

M O D U L C C K - F i e l d s A P I Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U DEMONSTRACE

M O D U L C C K / F I E L D S A P I CONTENT CONSTRUCTION KIT

M O D U L C C K Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U

M O D U L C C K Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U

M O D U L C C K Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U

M O D U L C C K Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U

M O D U L V I E W S TVORBA POHLEDŮ NA DATA nástroj na generování pohledů na data vizuální editor pro vytváření dotazů filtrování, třídění dat široké možnosti formátování o nativní formatování - např. zobrazit celý uzel o nebo vlastní - např. zobrazit jako tabulku vytváření hlavního obsahu nebo bloků, RSS zdrojů, CSV, XML apod od verze 6.x-3.0 a 7.x-3.0 umožňuje práci i s externími daty (YQL, Google API, Wolfram Search...)

M O D U L V I E W S TVORBA POHLEDŮ NA DATA http://www.yoroy.com/elders/drupal/views-sitemap.png

M O D U L V I E W S TVORBA POHLEDŮ NA DATA

M O D U L V I E W S Z Á K L A D N Í A R C H I T E K T U R A D R U P A L U DEMONSTRACE

M O D U L V I E W S TVORBA POHLEDŮ NA DATA

M O D U L V I E W S TVORBA POHLEDŮ NA DATA

M O D U L V I E W S TVORBA POHLEDŮ NA DATA

A CO OBRÁZKY? TVORBA POHLEDŮ NA DATA V Drupal 7 použijeme vestavěné Image Styles V Drupal 6 doinstalujeme ImageCache a ImageApi

M O D U L V I E W S TVORBA POHLEDŮ NA DATA

PROČ ENTITY? E N T I T Y - N O V Ý K O N C E P T Použití Node API pro řešení některých problémů sice urychlilo práci,...... na druhou stranu to ale někdy znamenalo řešit spoustu jiných problémů: o co když nechci, aby se můj typ uzlu indexoval o proč musí mít každý typ uzlu titulek a URL? o... Node API bylo skutečně dobré pro řešení klasických typů obsahu jako je Stránka, Článek, Produkt...... v ostatních případech použití Node API občas připomínalo drbání se pravou rukou za levým uchem

PROČ ENTITY? E N T I T Y - N O V Ý K O N C E P T Vznikla tak silná potřeba abstrahovat od konceptu uzlů Entita je OBJEKT se kterým Drupal, umí velmi dobře pracovat Entitou může být cokoliv: o Uzel (Node) o Uživatel (User) o Komentář (Comment) o Uživatel (User) o Blok (Block) o Položka menu... Entity API http://drupal.org/project/entity o Wolfgang Ziegler (fago)

PANELS K D Y Ž P E V N É R E G I O N Y N E S T A Č Í Vytváření flexibilních dynamických šablon a layoutů stránek bez nutnosti kódovat extra šablony Definování libovolných regionů Možné měnit i "za provozu", převádění obsahu mezi regiony Podobná filozofie jako modul Views mají i stejného autora

PANELS K D Y Ž P E V N É R E G I O N Y N E S T A Č Í

PANELS K D Y Ž P E V N É R E G I O N Y N E S T A Č Í

PANELS K D Y Ž P E V N É R E G I O N Y N E S T A Č Í

PANELS K D Y Ž P E V N É R E G I O N Y N E S T A Č Í

A N A T O M I E D R U P A L W E B U S T R U K T U R A S T R Á N K Y P Ř I P O U Ž I T Í O B V Y K L Ý C H M O D U L Ů

A N A T O M I E D R U P A L W E B U S T R U K T U R A S T R Á N K Y P Ř I P O U Ž I T Í O B V Y K L Ý C H M O D U L Ů

ŠABLONOVÁNÍ THEMING A JEDNODUCHÁ ÚPRAVA ŠABLON Oddělení logiky od prezentace Každý prvek má nějaký presenter, tzn. nějakou výchozí šablonu, presentery jsou na sobě navrstvené V tématu můžeme tyto výchozí presentery přetěžovat tak, že vytvoříme svoje vlastní Šablona v tématu má přednost před výchozí šablonou v modulu Jakýkoliv výstup modulu by mělo jít přepsat, pokud to nejde, jedná se o chybu Výstup by měl být bezpečnostně ošetřen, ale nelze na vývojáře spoléhat, obzvláště u contrib modulů.info soubor + css = minimální šablona atomicant.co.uk atomicant.cz

ÚVOD DO ŠABLONOVÁNÍ THEMING A JEDNODUCHÁ ÚPRAVA ŠABLON Anatomie tématu vzhledu o.info soubor vyžadováno o.tpl.php soubory - přetížené šablony o template.php - přetížené theme funkce a pomocné funkce o styly - css o skripty - js,... o obrázky o atd... atomicant.co.uk atomicant.cz

ÚVOD DO ŠABLONOVÁNÍ THEMING A JEDNODUCHÁ ÚPRAVA ŠABLON atomicant.co.uk atomicant.cz

ÚVOD DO ŠABLONOVÁNÍ THEMING A JEDNODUCHÁ ÚPRAVA ŠABLON atomicant.co.uk atomicant.cz

ÚVOD DO ŠABLONOVÁNÍ THEMING A JEDNODUCHÁ ÚPRAVA ŠABLON atomicant.co.uk atomicant.cz

MULTISITE One Drupal to rule them all!

INSTALAČNÍ PROFILY DISTRIBUCE A INSTALAČNÍ PROFILY Instalační profil o Instalační skript, který umožňuje Drupal přednastavit Instalační profily na Drupal.org o http://drupal.org/project/installation+profiles atomicant.co.uk atomicant.cz

INSTALAČNÍ PROFILY DISTRIBUCE A INSTALAČNÍ PROFILY Distribuce o Instalační "balíček" Drupalu = jádro + moduly + profil atomicant.co.uk atomicant.cz

DISTRIBUCE DISTRIBUCE A INSTALAČNÍ PROFILY OpenAtrium - http://openatrium.com/ groupware distribuce určená pro intranety (původně vyvinuto jako intranet pro mezinárodní pracovní skupiny Světové banky) OpenPublish - http://openpublishapp.com/ distribuce určená pro publikační portály OpenPublic - http://openpublicapp.com/ - distribuce určená pro státní organizace Pressflow - http://pressflow.org/ - distribuce/fork Drupalu uzpůsobená pro vyšší výkon Tattler (app) - http://tattlerapp.com/ - agregační nástroj pro monitorování zadaných témat v libovolných veřejných zdrojích a sociálních sítích Acquia Drupal http://acquia.com/products-services/acquia-drupal Drupal Commons - distribuce společnosti Acquia určená pro webu a trychlé o m i c a n t. cvybudování o. u k a t o m i c a n t. ckomunitního/sociálního z

RDF NATIVNÍ PODPORA RDF Resource Description Framework (RDF) česky systém popisu zdrojů RDF je jednou z hlavních komponent sémantického webu triplet / triple / trojice: podmět-vlastnost-předmět "Obloha má modrou barvu": o Obloha o má barvu o modrou I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web... Tim Berners-Lee, 1999 http://semantic-drupal.com/

RDF NATIVNÍ PODPORA RDF http://richard.cyganiak.de/2007/10/lod/lod-datasets_2010-09-22.html

RDF NATIVNÍ PODPORA RDF RYCHLÁ DEMONSTRACE

VÝKON VÝKON V DRUPALU Pokud nenačítá data z cache je Drupal obecně relativně pomalý a náročný na zdroje Operační paměť, databáze i procesor (zejména kvůli renderování) Je to daň za architekturu Naštěstí ta samá architektura umožňuje data centrálně cachovat a nebo rozkládat zátěž na více strojů Memcache, Varnish, Squid, CDN, NoSQL DB pro některé tabulky Modul Boost alias poorman s Varnish Optimalizace frontendu: agregace CSS a JSS, image sprites Weby pro anonymní uživatele zcela bez problémů

D E V E L N Á S T R O J E Z Á K L A D N Í N Á S T R O J E P R O V Ý V O J V D R U P A L U Devel - základní toolkit pro vývojáře http://drupal.org/project/devel Drush Drupal Shell - Drupal v příkazové řádce http://drupal.org/project/drush Coder - kontrola standardů a upgrade modulů http://drupal.org/project/coder Backup and Migrate - zálohování databáze http://drupal.org/project/backup_migrate SimpleTest - testovací framework (D7+ v jádru) http://drupal.org/project/simpletest Translation template extractor - extrakce překladů: http://drupal.org/project/potx

D R U P A L A P I VYVÍJÍME PRO DRUPAL ukázky programování pro Drupal (jestli zbude čas)

KOMUNITA KOLIK? 5. ledna 2011 Drupal 7 Release party - 326 akcí - 96 zemí

KOMUNITA KDE? 5. ledna 2011 Drupal 7 Release party - 326 akcí - 96 zemí http://www.drupal7releaseparty.org/ http://www.drupal7releaseparty.org/

KOMUNITA JÁDRO Jádro Drupalu 7 obsahuje patche od 954 lidí 5 Čechů

DRUPAL 8 D r u p a l w e b j a k o s o u č á s t g i g a n t i c k é h o g r a f u The RAM is new disk and the disk is new tape CRUD => CRA (P) UUID v jádře Pluggable core Orientace na mobilní zařízení Orientace na webservices

VIZE DRUPAL JAKO JEDNOTÍCÍ PRVEK http://buytaert.net/acquia-product-strategy-and-vision

VIZE DRUPAL JAKO JEDNOTÍCÍ PRVEK http://buytaert.net/acquia-product-strategy-and-vision

VIZE DRUPAL JAKO JEDNOTÍCÍ PRVEK http://buytaert.net/acquia-product-strategy-and-vision

VIZE DRUPAL JAKO JEDNOTÍCÍ PRVEK http://buytaert.net/acquia-product-strategy-and-vision

D R U P A L - V L A S T N O S T I K L Í Č O V É V L A S T N O S T I D R U P A L U + + + Rozšiřitelnost 7500 modulů a témat na drupal.org Málo kvalitních témat (obtížné, musí být univerzální) Až 80-100% práce i u velkých webů lze vyřešit pouhou konfigurací přes UI - Konfigurace je držena v databázi, nešikovné pro dlouhodobý vývoj (ale nástroje už existují) + Bezpečnost + Škálovatelnost + Vývojářská komunita + Důraz na standardy a dokumentaci - Bez podpůrných systémů náročný na zdroje +/- Není zpětná kompatibilita (major verze)

W O R D P R E S S, J O O M L A! SROVNÁNÍ S NEJVĚTŠÍMI KONKURENTY Wordpress určen obecně spíš na jednoduché weby s jedním administrátorem Joomla! určena pro menší až po střední weby Drupal zvládne malé weby i velké weby, je připravený na škálování Pro menší weby je ale náročnější na zdroje Neexistuje pro něj trh hotových aplikací, takže vývoj může být dražší I když se Drupal snaží být stále více user-friendly, jeho hlavní cílovou skupinou jsou vývojáři či geekové, kterým vyhovuje flexibilita a možnost pokročilých nastaveních kdekoliv a kdykoliv Drupal není produkt, za produkty se dají považovat až distribuce, v porovnání s Wordpressem se jedná jen o polotovar

K D O P O U Ž Í V Á D R U P A L??

K D O P O U Ž Í V Á D R U P A L? DRUPAL.ORG

K D O P O U Ž Í V Á D R U P A L? GARMIN.DK

K D O P O U Ž Í V Á D R U P A L? LEFIGARO.FR

K D O P O U Ž Í V Á D R U P A L? ECONOMIST.COM

K D O P O U Ž Í V Á D R U P A L? LONDON.GOV.UK

K D O P O U Ž Í V Á D R U P A L? WHITEHOUSE.GOV

K D O P O U Ž Í V Á D R U P A L? ENERGY.GOV

K D O P O U Ž Í V Á D R U P A L? PYTHONLINE.COM

K D O P O U Ž Í V Á D R U P A L? GRAMMY.COM

K D O P O U Ž Í V Á D R U P A L? SHC.STANFORD.EDU

K D O P O U Ž Í V Á D R U P A L? WWW.DUKE.EDU

K D O P O U Ž Í V Á D R U P A L? UBUNTU.COM

LITERATURA K D E S E D O Z V Ě D Ě T V Í C Pro Drupal 7 Development Drupal 7 Module Development

SETKÁNÍ K D E S E D O Z V Ě D Ě T V Í C Komunita Drupal.cz BRNO - 12. května 2011 Drupal hospoda PRAHA - 18. května 2011 Drupal hospoda PRAHA konec května Drupal setkání v Hubu Drupalcon London 2011, 22.-26. 8. 2011 http://london2011.drupal.org/

D Í K Y Z A P O Z O R N O S T R O Z L O U Č E N Í A P R O S T O R N A D O T A Z Y "Come for software, stay for community" Vojtěch Kusý @wojtha http://drupal.org/user/56154 Atomic Ant Ltd. http://atomicant.co.uk http://atomicant.cz