SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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 ?

Contenu connexe

Tendances

Drupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IDrupal - presentazione formazione sessione I
Drupal - presentazione formazione sessione IGian Luca Matteucci
 
Twitter bootstrap
Twitter bootstrapTwitter bootstrap
Twitter bootstrapdennisdc
 
Introduction to ZendX jQuery
Introduction to ZendX jQueryIntroduction to ZendX jQuery
Introduction to ZendX jQuerydennisdc
 
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 8Anne Tomasevich
 
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.2Anil Sagar
 
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 2016Peter Martin
 
Web components - An Introduction
Web components - An IntroductionWeb components - An Introduction
Web components - An Introductioncherukumilli2
 
Introduction to Zend_Pdf
Introduction to Zend_PdfIntroduction to Zend_Pdf
Introduction to Zend_Pdfdennisdc
 
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...DrupalCampDN
 
Drupal website in 45 mins
Drupal website in 45 minsDrupal website in 45 mins
Drupal website in 45 minsRachit Gupta
 
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 TrainingShane Church
 
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 ConFooSuzanne Dergacheva
 
Drupal Javascript for developers
Drupal Javascript for developersDrupal Javascript for developers
Drupal Javascript for developersDream Production AG
 
Geodaten & Drupal 7
Geodaten & Drupal 7Geodaten & Drupal 7
Geodaten & Drupal 7Michael Milz
 
Tikal's Backbone_js introduction workshop
Tikal's Backbone_js introduction workshopTikal's Backbone_js introduction workshop
Tikal's Backbone_js introduction workshopTikal Knowledge
 
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, 2009Krista Thomas
 
Workflow Essentials for Web Development
Workflow Essentials for Web DevelopmentWorkflow Essentials for Web Development
Workflow Essentials for Web DevelopmentXavier Porter
 

Tendances (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
 

En vedette

Andrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAndrew Hoppin, CIO, NY State Senate
Andrew Hoppin, CIO, NY State SenateAcquia
 
Display suite - Drupal.cat
Display suite - Drupal.catDisplay suite - Drupal.cat
Display suite - Drupal.catAtenea tech
 
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 FrameworkLev Tsypin
 
Adapting the VU template to drupal
Adapting the VU template to drupalAdapting the VU template to drupal
Adapting the VU template to drupalKim Day
 
Drupal Open Source Everything
Drupal Open Source EverythingDrupal Open Source Everything
Drupal Open Source Everythinglibrarywebchic
 
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 2012Atenea tech
 
Intro to drupal
Intro to drupalIntro to drupal
Intro to drupalhernanibf
 
¿Qué es drupal?
¿Qué es drupal? ¿Qué es drupal?
¿Qué es drupal? Atenea tech
 

En vedette (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?
 

Similaire à Drupal Recipe

CalArts presentation
CalArts presentationCalArts presentation
CalArts presentationAshok Modi
 
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 materialVskills
 
Drupal in 30 Minutes
Drupal in 30 MinutesDrupal in 30 Minutes
Drupal in 30 MinutesRobert Carr
 
Drupal8 corporate training in Hyderabad
Drupal8 corporate training in HyderabadDrupal8 corporate training in Hyderabad
Drupal8 corporate training in Hyderabadphp2ranjan
 
Online Drupal Training Syllabus
Online Drupal Training SyllabusOnline Drupal Training Syllabus
Online Drupal Training Syllabusvibrantuser
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupalmayank.grd
 
DrupalDeveloper
DrupalDeveloperDrupalDeveloper
DrupalDeveloperRaju J
 
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 ApplittleMAS
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
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 CompanyMarcos Labad
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMSPhase2
 
Single sourcing to the max
Single sourcing to the maxSingle sourcing to the max
Single sourcing to the maxNeil Perlin
 
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 Jun09Tom Deryckere
 

Similaire à 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
 

Plus de hernanibf

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...hernanibf
 
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 2018hernanibf
 
Deployer - Deployment tool for PHP
Deployer - Deployment tool for PHPDeployer - Deployment tool for PHP
Deployer - Deployment tool for PHPhernanibf
 
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 Barcelonahernanibf
 
Drupal content editor flexibility
Drupal content editor flexibilityDrupal content editor flexibility
Drupal content editor flexibilityhernanibf
 
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 Londonhernanibf
 
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 Cacereshernanibf
 
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 praguehernanibf
 
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 2013hernanibf
 
My site is slow
My site is slowMy site is slow
My site is slowhernanibf
 
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 websitehernanibf
 
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 websitehernanibf
 
Acquia Commons
Acquia CommonsAcquia Commons
Acquia Commonshernanibf
 
Drupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case StudyDrupal Performance - SerBenfiquista.com Case Study
Drupal Performance - SerBenfiquista.com Case Studyhernanibf
 
Drupal + selenium
Drupal + seleniumDrupal + selenium
Drupal + seleniumhernanibf
 

Plus 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
 

Dernier

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Dernier (20)

Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

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/