SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
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 ?

Más contenido relacionado

La actualidad más candente

Drupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IDrupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione I
Gian Luca Matteucci
 
Twitter bootstrap
Twitter bootstrapTwitter bootstrap
Twitter bootstrap
dennisdc
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuery
dennisdc
 
Introduction to Zend_Pdf
Introduction to Zend_PdfIntroduction to Zend_Pdf
Introduction to Zend_Pdf
dennisdc
 

La actualidad más candente (20)

Drupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IDrupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione I
 
Twitter bootstrap
Twitter bootstrapTwitter bootstrap
Twitter bootstrap
 
Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3Up to Speed on HTML 5 and CSS 3
Up to Speed on HTML 5 and CSS 3
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuery
 
Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8Building a Custom Theme in Drupal 8
Building a Custom Theme in Drupal 8
 
Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2Blisstering drupal module development ppt v1.2
Blisstering drupal module development ppt v1.2
 
Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016Developing new feature in Joomla - Joomladay UK 2016
Developing new feature in Joomla - Joomladay UK 2016
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introduction
 
Introduction to Zend_Pdf
Introduction to Zend_PdfIntroduction to Zend_Pdf
Introduction to Zend_Pdf
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
 
Drupal website in 45 mins
Drupal website in 45 minsDrupal website in 45 mins
Drupal website in 45 mins
 
Backbone js-slides
Backbone js-slidesBackbone js-slides
Backbone js-slides
 
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery TrainingCartegraph Live HTML, CSS, JavaScript and jQuery Training
Cartegraph Live HTML, CSS, JavaScript and jQuery Training
 
Drupal as a Programmer-Friendly CMS at ConFoo
Drupal as a Programmer-Friendly CMS at ConFooDrupal as a Programmer-Friendly CMS at ConFoo
Drupal as a Programmer-Friendly CMS at ConFoo
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developers
 
Anex.......
Anex.......Anex.......
Anex.......
 
Geodaten & Drupal 7
Geodaten & Drupal 7Geodaten & Drupal 7
Geodaten & Drupal 7
 
Tikal's Backbone_js introduction workshop
Tikal's Backbone_js introduction workshopTikal's Backbone_js introduction workshop
Tikal's Backbone_js introduction workshop
 
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
Phase2 OpenPublish Presentation SF SemWeb Meetup, April 28, 2009
 
Workflow Essentials for Web Development
Workflow Essentials for Web DevelopmentWorkflow Essentials for Web Development
Workflow Essentials for Web Development
 

Destacado

Andrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAndrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State Senate
Acquia
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everything
librarywebchic
 

Destacado (8)

Andrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAndrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State Senate
 
Display suite - Drupal.cat
Display suite - Drupal.catDisplay suite - Drupal.cat
Display suite - Drupal.cat
 
MIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application FrameworkMIE Toolbox, a Case for Drupal as an Application Framework
MIE Toolbox, a Case for Drupal as an Application Framework
 
Adapting the VU template to drupal
Adapting the VU template to drupalAdapting the VU template to drupal
Adapting the VU template to drupal
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everything
 
Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012Presentación sobre Display Suite en el Drupal Day Valencia 2012
Presentación sobre Display Suite en el Drupal Day Valencia 2012
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupal
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal?
 

Similar a Drupal Recipe

DrupalDeveloper
DrupalDeveloperDrupalDeveloper
DrupalDeveloper
Raju J
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
Lauren Roth
 

Similar a Drupal Recipe (20)

CalArts presentation
CalArts presentationCalArts presentation
CalArts presentation
 
Vskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample materialVskills certified open source cms drupal professional sample material
Vskills certified open source cms drupal professional sample material
 
What's Drupal?
What's Drupal? What's Drupal?
What's Drupal?
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 Minutes
 
What's Drupal_ .ppt
What's Drupal_ .pptWhat's Drupal_ .ppt
What's Drupal_ .ppt
 
The Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu RedesignThe Technical Side of Harvard.edu Redesign
The Technical Side of Harvard.edu Redesign
 
Drupal8 corporate training in Hyderabad
Drupal8 corporate training in HyderabadDrupal8 corporate training in Hyderabad
Drupal8 corporate training in Hyderabad
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabus
 
Drupal introduction
Drupal introductionDrupal introduction
Drupal introduction
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
DrupalDeveloper
DrupalDeveloperDrupalDeveloper
DrupalDeveloper
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source App
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal_cubet seminar
Drupal_cubet seminarDrupal_cubet seminar
Drupal_cubet seminar
 
Distribution best practices
Distribution best practicesDistribution best practices
Distribution best practices
 
Implementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing CompanyImplementing a Symfony Based CMS in a Publishing Company
Implementing a Symfony Based CMS in a Publishing Company
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
 
Single sourcing to the max
Single sourcing to the maxSingle sourcing to the max
Single sourcing to the max
 
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09
 
The Drupal Way
The Drupal WayThe Drupal Way
The Drupal Way
 

Más de hernanibf

Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
hernanibf
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
hernanibf
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
hernanibf
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Caceres
hernanibf
 
Fix me if you can - DrupalCon prague
Fix me if you can - DrupalCon pragueFix me if you can - DrupalCon prague
Fix me if you can - DrupalCon prague
hernanibf
 
My site is slow
My site is slowMy site is slow
My site is slow
hernanibf
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your website
hernanibf
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
hernanibf
 
Drupal + selenium
Drupal + seleniumDrupal + selenium
Drupal + selenium
hernanibf
 

Más de hernanibf (15)

Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHP
 
Drupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon BarcelonaDrupal architectures for flexible content - Drupalcon Barcelona
Drupal architectures for flexible content - Drupalcon Barcelona
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibility
 
One Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp LondonOne Drupal to rule them all - Drupalcamp London
One Drupal to rule them all - Drupalcamp London
 
One drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp CaceresOne drupal to rule them all - Drupalcamp Caceres
One drupal to rule them all - Drupalcamp Caceres
 
Fix me if you can - DrupalCon prague
Fix me if you can - DrupalCon pragueFix me if you can - DrupalCon prague
Fix me if you can - DrupalCon prague
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013
 
My site is slow
My site is slowMy site is slow
My site is slow
 
Oxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your websiteOxford DrupalCamp 2012 - The things we found in your website
Oxford DrupalCamp 2012 - The things we found in your website
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
Acquia Commons
Acquia CommonsAcquia Commons
Acquia Commons
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Study
 
Drupal + selenium
Drupal + seleniumDrupal + selenium
Drupal + selenium
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Último (20)

Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

Drupal Recipe

  • 1. Drupal Community Plumbing ! Lisbon, 27th May 2010 Hernâni Borges de Freitas "
  • 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. 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. Drupal !   CMF - Content Management Framework
  • 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. 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. 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. Rockstars !   Entreprises (Inside/Outside the fw)   Government Entities   Media   Universities   Personal / Comunnities Sites   Freelancers / Web Companies
  • 11. Media
  • 15. Represent Information !   Everything is reduced to a node   Node has basically   Type   Title   Body   Fields   Revisions
  • 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. 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. 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. 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. 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. 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. 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. 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/