Drupal
             Community Plumbing !




 Lisbon, 27th May 2010
Hernâni Borges de Freitas
                            ...
Ok, I want a web app !

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

  Use a Framework
    Define your models, actions and
     controllers and mix up:
       RubyOnRa...
Drupal !

  CMF - Content Management Framework
CMS Highlights


  Shipped in Drupal core you get:
    Easy content creation, versioning and categorization
    User & ...
Framework


  Core can be expanded through hooks.

  Aspect Oriented Programming.

  Hooks are available on main functi...
Evolution


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

  Actually runs 1% of the web !

...
Rockstars !


  Entreprises (Inside/Outside the fw)

  Government Entities

  Media

  Universities

  Personal / Com...
Governments
Enterprises
Media
Culture
Universities
Even them !!
Represent Information !

  Everything is reduced to a node

  Node has basically
    Type
    Title
    Body
    Fie...
CCK - Model it !

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

  Fields can have dif...
Views – Filter and show it !

  Select which entities you want to show.

  Select how do you want to show it (table, lis...
Blocks & Panels - Organize it !

  Modules can define blocks.

  Each block can be deployed in different regions, pages ...
Hooks - Extend it !

  Extension available by defining new modules which
  implement certain hooks.

  Modules inside /s...
Module – Just use it !

  Popular Modules
    CCK and derived (Filefield, Date, Embedded media fields,
     Location)
  ...
Languages - Translate it !

  Drupal core and modules can be translated to different
   languages
  When showing text fr...
Themes - Beautify it !

  Several template systems available, PHPtemplate most popular.

  All content should be outpute...
HELP ? – Get it !

  Drupal.org
    Check if any module/path/code snippet provides the solution
    Don’t be afraid. Re...
Questions ?
Upcoming SlideShare
Loading in...5
×

Drupal Recipe

879

Published on

Featuring its hightlights, main uses and basic components

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
879
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Drupal Recipe

  1. 1. Drupal Community Plumbing ! Lisbon, 27th May 2010 Hernâni Borges de Freitas "
  2. 2. 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.
  3. 3. 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..
  4. 4. Drupal !   CMF - Content Management Framework
  5. 5. 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
  6. 6. 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.
  7. 7. 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.
  8. 8. Rockstars !   Entreprises (Inside/Outside the fw)   Government Entities   Media   Universities   Personal / Comunnities Sites   Freelancers / Web Companies
  9. 9. Governments
  10. 10. Enterprises
  11. 11. Media
  12. 12. Culture
  13. 13. Universities
  14. 14. Even them !!
  15. 15. Represent Information !   Everything is reduced to a node   Node has basically   Type   Title   Body   Fields   Revisions
  16. 16. 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.
  17. 17. 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.
  18. 18. 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.
  19. 19. 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
  20. 20. 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
  21. 21. 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.
  22. 22. 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.
  23. 23. 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/
  24. 24. Questions ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×