drupal recipe

24
Drupal Community Plumbing ! Lisbon, 27th May 2010 Hernâni Borges de Freitas

Upload: hernanibf

Post on 18-May-2015

876 views

Category:

Education


0 download

DESCRIPTION

Featuring its hightlights, main uses and basic components

TRANSCRIPT

Page 1: Drupal Recipe

"

Drupal Community Plumbing !

Lisbon, 27th May 2010 Hernâni Borges de Freitas

Page 2: Drupal Recipe

Ok, I want a web app !

  Common difficulties:   From the ground - Hard to build and maintain an app from zero.

  From the top - Hard to customize features, look & feel and specially small details.

  Reiventing the wheel - Need to rewrite code/UI between all your projects, usually with worst results than using something done before.

  Rock solid – But hard to maintain and to change when you or your client needs.

  Alone in the dark – when problems occurs hard to understand the problem and correct the problem.

Page 3: Drupal Recipe

Traditional Receipt

  Use a Framework   Define your models, actions and

controllers and mix up:   RubyOnRails, CakePhp, CodeIgniter,

Symfony, Zend Framework, Django,etc....

  Use a CMS   Features and UI already defined:

  Joomla, WordPress, SharePoint, Ez Publish, etc..

Page 4: Drupal Recipe

Drupal !

  CMF - Content Management Framework

Page 5: Drupal Recipe

CMS Highlights

  Shipped in Drupal core you get:   Easy content creation, versioning and categorization

  User & Roles Management

  Navigation configuration

  Look&Feel customization

  MultiSite/MultiLanguage

  Reporting

  Caching

  Routing

Page 6: Drupal Recipe

Framework

  Core can be expanded through hooks.

  Aspect Oriented Programming.

  Hooks are available on main functions   Content creation, user register and login,

url routing,

  Modules can define its own hooks.

  All content should be themable and translable.

Page 7: Drupal Recipe

Evolution

  Started as university project by Dries Buytaert in 2000 in Antwerp.

  Actually runs 1% of the web !

  Developers   800 contributors to core   5000 modules provide almost any feature.   3000 developers in last drupalcon SF   Several distributions, based in drupal.

Page 8: Drupal Recipe

Rockstars !

  Entreprises (Inside/Outside the fw)

  Government Entities

  Media

  Universities

  Personal / Comunnities Sites

  Freelancers / Web Companies

Page 9: Drupal Recipe

Governments

Page 10: Drupal Recipe

Enterprises

Page 11: Drupal Recipe

Media

Page 12: Drupal Recipe

Culture

Page 13: Drupal Recipe

Universities

Page 14: Drupal Recipe

Even them !!

Page 15: Drupal Recipe

Represent Information !

  Everything is reduced to a node

  Node has basically   Type

  Title

  Body

  Fields

  Revisions

Page 16: Drupal Recipe

CCK - Model it !

  Every node type can be seen as a domain class, having attributes (fields).

  Fields can have different types (text, numeric, links, references, media, location coordinates).

  Fields edited by different widgets (drop-down, textfields, media browsers, maps..)

  Fields can be shared between node types, related with other fields and its display can be customized.

Page 17: Drupal Recipe

Views – Filter and show it !

  Select which entities you want to show.

  Select how do you want to show it (table, list, grid, xml/json/rss output ?)

  Select which fields you want to show.

  Select how do you want to filter entities (type, attributes, terms).

  Powerful query builder for all your information.

Page 18: Drupal Recipe

Blocks & Panels - Organize it !

  Modules can define blocks.

  Each block can be deployed in different regions, pages and to different users.

  Panels allows you to drag and drop content in your page.

  Almost any content can be dragged anywhere.

Page 19: Drupal Recipe

Hooks - Extend it !

  Extension available by defining new modules which implement certain hooks.

  Modules inside /sites/all/modules or /sites/default/modules

  Common hooks   hook_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL)

  hook_user($op, &$edit, &$account, $category = NULL)

  Hook_menu

  Hook_block

  Hook_perm

  Hook_install

Page 20: Drupal Recipe

Module – Just use it !

  Popular Modules   CCK and derived (Filefield, Date, Embedded media fields,

Location)

  Wysiwyg

  Views (Gmap views, Calendar, RSS/XML output).

  ImageApi/ImageCache

  Notifications

  Pathauto

  Workflow & Rules

  Auth Modules (LDAP, Fb/Twitter Connect)

  Solr Search

Page 21: Drupal Recipe

Languages - Translate it !

  Drupal core and modules can be translated to different languages

  When showing text from   T(‘text’) or l(‘text’) - verify if there is an available translation to

current language.

  Content can be translated using different versions for the same content.

  Structure can be translated.

  Core is translated to 40+ languages.

Page 22: Drupal Recipe

Themes - Beautify it !

  Several template systems available, PHPtemplate most popular.

  All content should be outputed through theme () functions.

  Theme functions look to templates suggestions in functions or template files.

  Themes and modules can override module output by redefining these functions.

  Currently around 900 themes available.

Page 23: Drupal Recipe

HELP ? – Get it !

  Drupal.org   Check if any module/path/code snippet provides the solution

  Don’t be afraid. Really helpfull community!

  Drupalmodules.com

  Themegarden.org

  Books

  Drupal em pt   http://groups.drupal.org/portugal

  http://groups.google.com/group/drupal-portugal/

Page 24: Drupal Recipe

Questions ?