Drupal Recipe

Post on 18-May-2015

871 views 0 download

Tags:

description

Featuring its hightlights, main uses and basic components

transcript

"

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.

  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.

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..

Drupal !

  CMF - Content Management Framework

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

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.

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.

Rockstars !

  Entreprises (Inside/Outside the fw)

  Government Entities

  Media

  Universities

  Personal / Comunnities Sites

  Freelancers / Web Companies

Governments

Enterprises

Media

Culture

Universities

Even them !!

Represent Information !

  Everything is reduced to a node

  Node has basically   Type

  Title

  Body

  Fields

  Revisions

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.

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.

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.

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

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

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.

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.

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/

Questions ?