content management framework drupal aneb 80% webu za pár hodin. hodí se i pro mě?

91
Content Management Framework Drupal TM aneb 80% webu za pár hodin. Hodí se i pro mě? Vojtěch Kusý http://vojtechkusy.cz

Upload: vojtech-kusy

Post on 18-Dec-2014

4.710 views

Category:

Technology


0 download

DESCRIPTION

Základy práce se systémem Drupal, využití modulů CCK, Views a Panels, šablonování, tipy pro vývoj custom modulů, showcase.

TRANSCRIPT

Page 1: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Content Management Framework DrupalTM

aneb 80% webu za pár hodin.

Hodí se i pro mě?

Vojtěch Kusýhttp://vojtechkusy.cz

Page 2: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Co vás čeká? … A nemine?!

● Představení CMS Drupal● Stručná historie● Architektura

● Co lze stihnout za hodinu?● Šablony● Distribuce● Hybridní vývoj● Drupal Show

Page 3: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Dries Buytaert aneb „řekněte mi kdo za to může?“

● původní autor: Dries Buytaert, kol. roku 2000● hardcore Linux geek :-)

● komunitní opensource od samého začátku, žádná „komerční“ vize

● DORP => dorp.org => drop.org => DROP => DRUPPEL => [DRUPAL] => drupal.org

● Dries vlastní TRADEMARK ... DrupalTM

● automatická licence● komerční licence => zisk putuje asociaci

Page 4: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Zdroj: http://buytaert.net/files/state-of-drupal-april-2010.pdf

Page 5: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Dries už mezitím trochu vyrostl :-)

Page 6: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Základní architektura Drupalu

● Modulární architektura● Základní moduly (povinné): System, User, Node,

Filter, Block● Nepovinné: Blog, Taxonomy, Comment, Poll …

● Základní „objekty“ resp. entity● Povinné: Node (uzel), User, Block● Nepovinné: Taxonomy term (kategorie), Comment

● Témata● Několik témat v jádře, v Drupa 6 použitelný jen

Garland v dnešní době (ostatní? … nostalgie)

Page 7: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

80% webu za pár hodin

● Drupal se snadno instaluje (dnes standard)● Za hodinu můžeme mít hotovou základní

strukturu webu, včetně pár stránek obsahu● A to dokonce „na míru!“

● Tzn žádné zbytečná pole při vkládání obsahu● Obsah vypisujeme kde chceme, jak chceme a kdy

chceme!● Co třeba takový web pro Barcamp...?

Page 8: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Hlavička

Primární menu

Blok

Blok

Menu Uvítání

Novinky

Seznam přednášek Seznam přednášejících

Barcamp Brno 2010

Page 9: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Snadná instalace

● Co je potřeba?● nakonfigurovaný Apache, PHP 4.1+, MySQL/Postgre● prázdná databáze● stažený a rozbalený Drupal● popřípadě český překlad● … a pak už jen klikáme

Page 10: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

One-click instalátory

● Kromě toho je možné využít● Acquia Drupal Stack Installer (+ Apache, MySQL)● Bitnami Drupal Stack (+ Apache, MySQL)● Microsoft Web Platform (+ IIS, SQL Server)

Page 11: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal & MS Web Platform

Page 12: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Ale zpět k Barcamp webu a k instalaci „obyčejného“ Drupalu …

POJDMĚ NA TO!

Page 13: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 14: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 15: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 16: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Instalace je hotová ...

Page 17: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Teď ještě doladíme barvy

Page 18: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 19: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Náš první článek

Page 20: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Rovnou vytvoříme i odkaz v primárním menu

Page 21: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Zárodek titulní stránky... a co dál?

Page 22: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Nyní přichází na řadu MONSTRA!

CCKViewsPanels

A pár pomocníků...

ImagecacheToken

Pathauto

Page 23: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

V modulech zapneme CCK, Views,

Imagecache, Panels, ...

Page 24: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

A vytvoříme první CCK typ obsahu

Page 25: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Přidáme nějaká políčka

Page 26: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Nastavení políčka

Page 27: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Zvolíme způsob zobrazení/formátování

Page 28: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Vytvoření pohledu

Page 29: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 30: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 31: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Vytvoření panelu

Page 32: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 33: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 34: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

PANEL

VIEW

CCK

CCK

CCKBLOKY

Takhle nějak?

Page 35: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Voila!

Nebylo by lepší zobrazitpřednášky v tabulce?

No problem!

Za litr! :-)

Page 36: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Změna seznamu na tabulku +1-2min

Setříděno dle„délky“

Page 37: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 38: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

?

ImageCache

Page 39: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 40: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Ukázali jsme si

● Instalace je snadná● CCK● Views● Panels● Imagecache● Moduly spolu spolupracují

Page 41: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Jednoduché weby

● Jednoduché weby jsou v Drupalu hotové skutečně za pár hodin

● Nejvíc času zabere šablonování – vytvoření tématu – pokud nám tedy nestačí nějaké hotové téma

Page 42: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Úvod do šablonování

http://www.flickr.com/photos/dominicspics/820426697

Page 43: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal & Šablony

● Drupal není MVC ale PAC!!!● MVC = model – view – controller● PAC = presentation – abstraction – controller

● 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řebíjet“ tak, že vytvoříme svoje vlastní

● Šablona v tématu má přednost

Page 44: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

„Přebíjení“

● Dva základní typy● šablony v souboru (*.tpl.php, např. page.tpl.php)● šablonovací funkce (theme_*, např. theme_image)

● Jmenné konvence – podobně jako u CSS● node-1.tpl.php > node-story.tpl.php > node.tpl.php● mojetema_image() > phptemplate_image() >

theme_image()

Page 45: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Theme Developer● Dříve submodul Devel (Developer Tools)● Dnes již jako samostatný modul

Page 46: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Views - theme information

Page 47: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Views - theme information

Page 48: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

!!! Kodér by měl rozumět jak mechanizmus šablon v Drupalu funguje !!!

!!! Nelze dělat šablony a funkcionalitu zcela odděleně. !!!

(Resp. lze ale je to spousta práce navíc.)

Pokud patříte mezi HTML puristy, potěší vás projekt Mothership

Page 49: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Když moduly nestačí aneb vývoj s Drupalem

● chceme verzovat, ale Drupal má všechno v DB● vytvoříme modul klasickým způsobem (<D5)● implementujeme potřebné háky …● pro obhospodaření vlastního typu uzlu je

potřeba:● hook_node_info, hook_form, hook_insert,

hook_update, hook_delete, hook_validate …● implementovat hook_views a vytvořit příslušnou

podporu hook_views...

Page 50: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Jde to i jinak... hybridní vývoj

● Dokud to lze, využíváme možností CCK, Views a podobných modulů

● CCK typ obsahu, Views i třeba Imagecache profil lze exportovat

● Exporty lze uložit do modulu a nainstalovat během hook_install● verzování, deploy● základ, který se dá v UI změnit (CCK – dá se

zakázat), ale ke kterému se můžeme vrátit● změny se musí hlídat s při distribuci ošetřovat

manuálně (hook_update)

Page 51: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Features – již brzy ...

● Feature = moduly + nastavení● Všechny informace jsou uložené v textovém

souboru● „Mini-instalační profil“

● Rozpoznání změn● Verzovatelné, snadné přenášení mezi Dev a Stable

serverem● Z modulů se stanou spíše „knihovny“● Pro obyčejné uživatele budou určené „features“

Page 52: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Další pokročilé nástroje

● Aegir● DRUSH

= Drupal Shell

Page 53: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Distribuce / Instalační profily

● OpenAtrium = intranety, projekty, týmy● PressFlow = magazíny, škálovatelnost● OpenScholar = univerzity, vzdělávací instituce● Tattler = agregování obsahu, topic monitoring● …

● Distribuce = instalační profil + moduly● Aktuálně asi 15 distribucí a 80 instalačních

profilů

Distribuce nejsou forky!!!

Page 54: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

OpenAtrium: intranety, projekty, týmy

Page 55: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

PressFlow: magazíny, škálovatelnost

Page 56: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

OpenScholar: univerzity, vzdělávací instituce

Page 57: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Acquia = Drupal 4 Enterprises

● Acquia Drupal● Drupal + Acquia moduly (heartbeat, search,

update) a témata + supported moduly● Acquia Drupal Stack Installer

● Enterprise Support● 24/7 za $8000 ročně

● Acquia Partners● Drupal Gardens (drupalgardens.com)● Drupal hosting

Page 58: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Co je Drupal – z pohledu uživatele

● CMS, které je neuvěřitelně flexibilní● nefunguje sice stylem „zapnu a jedu“, ale

pomocí 6000 různých modulů je možné přizpůsobit si web na „míru“ bez znalostí programování

● modulům kralují CCK a Views● flexibilní systém práv● e-commerce modul Übercart umožňuje i laikům

rozjet jednodušší e-shop

Page 59: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Co je Drupal z pohledu vývojáře

● platforma pro vytváření CMS systémů, specifická architektura, která nemá obdoby(?)

● architektura háků (hooks) dovoluje se snadno napojit na různé fáze běhu systému

● Drupal není MVC, ale PAC● silné API, které lze snadno rozšiřovat● bezpečnost

● požadavky modulů jdou přes API● „alter háky“ a přebití šablon – snadný update

modulů

Page 60: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 61: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Úskalí

● CCK a Views nejsou samospasitelné, musí se s nimi umět a stále je co zlepšovat

● Deploy a verzování změn v databázi● Klesající výkon při velkém počtu

● a) přihlášených uživatelů● b) při velkém počtu modulů

Page 62: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

USE CASES

http://www.flickr.com/photos/evansfam/4700346257

Page 63: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 64: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 65: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 66: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 67: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 68: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal & Rockstars

Page 69: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 70: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 71: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 72: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal & Drupal & EnterprisesEnterprises

http://www.flickr.com/photos/sinkdd/3151637571/

Page 73: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 74: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 75: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 76: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 77: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

http://www.flickr.com/photos/barackobamadotcom/2639286039

Yes... WE CAN !

Drupal & Drupal & GovernmentGovernment

Page 78: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 79: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 80: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 81: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Něco z domovské

česko-slovenské

kotliny

Page 82: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 83: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 84: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?
Page 85: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Co nás čeká...

● Drupal 7.0 (2010-??) - REVOLUCE● >= PHP 5.2.x only, přepis subsystémů do objektů● UX – Mark Boulton● RDF v jádře● driver pro MS SQL Server (MS Web Platform)● asi 50 modulů zahrnuto do jádra, včetně Fields API● standard + smallcore● první RC očekáván koncem července/srpna

● Drupal 8.0 (???) CVS => Git !!!!!

Page 86: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal.org redesign

markboulton.co.uk

Page 87: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Drupal Way – proč zvolit Drupal?

● Dává velkou moc i neprogramátorům● Rychlý start● Flexibilní – ideální na projekty, kde se očekává

mnoho změn za běhu● Hybridní způsob vývoje – propojení nástrojů

Views, CCK, Panels a dalších● Komunita

Page 88: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Zdroje o Drupalu

● drupal.org● groups.drupal.org● planet.drupal.org● drupal.com● drupaldojo.com● api.drupal.org

Page 89: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Zdroje o Drupalu v ČR a SK

● drupal.cz a drupal.sk● drupal.cz/forum

● seriály a články na ● Interval, Root, Maxiorel

● 2 knihy od Jana Polzera● Drupal - Podrobný průvodce

tvorbou a správou webů● 333 tipů a triků pro Drupal● bohužel obsahují chyby

Page 90: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

„Come for softwarestay for community“

Díky za pozornost

Vojtěch Kusý

www.vojtechkusy.cz@wojtha

Page 91: Content Management Framework Drupal aneb 80% webu za pár hodin. Hodí se i pro mě?

Náměty k diskusi

● Drupal vs Joomla vs Wordpress● Drupal vs Frameworky (Rails, Django...)● Drupal vs ???● Deploy