SlideShare una empresa de Scribd logo
1 de 26
Drupal NWO-PUG CMS Shootout April 26, 2011 NWO-PUG  1 E-mail: chris@ctankersley.com Twitter: @dragonmantank Identi.ca: dragonmantank
Who Are You and Why Are You In My House? Chris Tankersley Doing PHP for 8 Years Lots of projects no one uses, and a few that some do TL;DR https://github.com/dragonmantank April 26, 2011 NWO-PUG  2
Drupal Web Application Framework Open-Sourced in 2001 by Dries Buytaert As of April 17, had 367,865 registered sites Estimated 1.5% of all websites, which is around 2.8 million Powers websites from basic blogs all the way to government websites Gigantic user community Functional, but moving toward OOP April 26, 2011 NWO-PUG  3
Nodes/Entities What Everything Is April 26, 2011 NWO-PUG  4
You Must Assimilate Data is stored in Drupal as Nodes (Drupal 6) or Entities (Drupal 7) Posts, Images, Users, etc, are all the same thing, just different characteristics Nodes are great in theory, a pain in practice Drupal 7 went one level below nodes and created Entities. Same idea, better implementation April 26, 2011 NWO-PUG  5
Working With Nodes All nodes have the same basic layout All nodes invoke the same hooks This means you have to do this: April 26, 2011 NWO-PUG  6
Hook System How Everything Works April 26, 2011 NWO-PUG  7
There’s a Hook for That Drupal uses a system of predefined ‘hooks’ for developers to attach to Hooks allow developers to attach to almost anything that Drupal does What to do something when a thing is deleted? Hook into ‘hook_delete’ Very powerful, but very steep learning curve April 26, 2011 NWO-PUG  8
Hooking Into A Hook Find the hook you want (‘hook_delete’) Add your module name in place of Hook April 26, 2011 NWO-PUG  9
Log a Node Deletion April 26, 2011 NWO-PUG  10
Modules Bending Drupal To Our Will April 26, 2011 NWO-PUG  11
Hooks, Hook, Hooks Modules are collections of Functions that implement Hooks Contains a .info file with the module information Contains a .module with all the functions April 26, 2011 NWO-PUG  12
Modules In Drupal’s Lifecycle Drupal kicks up and figures out what the user wants to do Drupal invokes the main hook Main hook calls all registered hooks Hooks all return data, and Drupal finally finishes the original hook out April 26, 2011 NWO-PUG  13
Modules = Hook Registration Really, ‘modules’ just allow you an easy way to enable/disable what code runs during the lifecycle April 26, 2011 NWO-PUG  14
Themes Making it look purdy April 26, 2011 NWO-PUG  15
Anatomy of a Theme Basically a specialized Module Folder contains PHP files, CSS, and JS Instead of hooking into Hooks, you hook into Templates April 26, 2011 NWO-PUG  16
Build From Foundations Drupal has many great Foundation Themes Download, Install, and modify CSS/JS to get going faster April 26, 2011 NWO-PUG  17
Taking the Good with the Bad There are some downsides… April 26, 2011 NWO-PUG  18
Performance All registered hooks always fire The more modules you have, the longer Drupal has to process 100 modules that hook into hook_delete fire every time hook_delete is fired, regardless of the situation Drupal is coded for developers, not sysadmins April 26, 2011 NWO-PUG  19
The Admin Interface Sucks April 26, 2011 NWO-PUG  20
The Admin Interface Can be hard to find things Community has tried to fix this with plugins I still find it a pain April 26, 2011 NWO-PUG  21
Learning Curve It’s there, and it’s big API Documentation is there, but hard to find what you want When you have 100’s of hooks, you kinda guess what you want Hard to find intermediate-advanced tutorials Lot of it is ‘Install this Module!’ instead of architecture April 26, 2011 NWO-PUG  22
Backward Compatibility Major Revisions break Backward Compatibility Makes for Slow Adoption of new releases Drupal 6 -> 7 is painful because many modules just didn’t work Drupal 7 -> 8 probably will be too April 26, 2011 NWO-PUG  23
Questions? April 26, 2011 NWO-PUG  24
Links Where to Find Stuff I Talked About April 26, 2011 NWO-PUG  25
Links Drupal Main Site: http://www.drupal.org API Site: http://api.drupal.org Contributions: http://drupal.org/download Creating Themes:  http://tips.webdesign10.com/how-to-make-a-drupal-theme April 26, 2011 NWO-PUG  26

Más contenido relacionado

Similar a Drupal Introduction

Introduction to new technologies in drupal 8
Introduction to new technologies in drupal 8Introduction to new technologies in drupal 8
Introduction to new technologies in drupal 8naxoc
 
Drupal 7 migrating to drupal 8
Drupal 7 migrating to drupal 8Drupal 7 migrating to drupal 8
Drupal 7 migrating to drupal 8DrupalGeeks
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowPhilip Norton
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site buildingIztok Smolic
 
LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)Rachel Vacek
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesIztok Smolic
 
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)DrupalCape
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Luc Bézier
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in LibrariesCary Gordon
 
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...Ronald Ashri
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...Eric Sembrat
 
Most Popular Drupal Modules
Most Popular Drupal ModulesMost Popular Drupal Modules
Most Popular Drupal ModulesAGILEDROP
 
Media Management in Drupal 8 (DrupalSouth 2018)
Media Management in Drupal 8 (DrupalSouth 2018)Media Management in Drupal 8 (DrupalSouth 2018)
Media Management in Drupal 8 (DrupalSouth 2018)Ivan Zugec
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampDipen Chaudhary
 
Drupal for Libraries
Drupal for LibrariesDrupal for Libraries
Drupal for Librariesleoklein
 
CMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalCMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalBlake Hall
 

Similar a Drupal Introduction (20)

PHP Templating Systems
PHP Templating SystemsPHP Templating Systems
PHP Templating Systems
 
Hacking core
Hacking coreHacking core
Hacking core
 
Introduction to new technologies in drupal 8
Introduction to new technologies in drupal 8Introduction to new technologies in drupal 8
Introduction to new technologies in drupal 8
 
Session v1
Session v1Session v1
Session v1
 
Drupal 7 migrating to drupal 8
Drupal 7 migrating to drupal 8Drupal 7 migrating to drupal 8
Drupal 7 migrating to drupal 8
 
Making The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To SwallowMaking The Drupal Pill Easier To Swallow
Making The Drupal Pill Easier To Swallow
 
Introduction into Drupal site building
Introduction into Drupal site buildingIntroduction into Drupal site building
Introduction into Drupal site building
 
LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)LITA Preconference: Getting Started with Drupal (handout)
LITA Preconference: Getting Started with Drupal (handout)
 
Drupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakesDrupal 8: Most common beginner mistakes
Drupal 8: Most common beginner mistakes
 
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)
Googling Your Way to Drupal Success (11/05/25 - Inky Serritslev)
 
Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016Drupal for beginners - Global Training Days - Cebu 2016
Drupal for beginners - Global Training Days - Cebu 2016
 
Drupal in Libraries
Drupal in LibrariesDrupal in Libraries
Drupal in Libraries
 
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...
How to Make Entities and Influence Drupal - Emerging Patterns from Drupal Con...
 
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
October 2016 - USG Rock Eagle - Everything You Need to Know to Plan Your Drup...
 
Most Popular Drupal Modules
Most Popular Drupal ModulesMost Popular Drupal Modules
Most Popular Drupal Modules
 
Drupal course hengl
Drupal course henglDrupal course hengl
Drupal course hengl
 
Media Management in Drupal 8 (DrupalSouth 2018)
Media Management in Drupal 8 (DrupalSouth 2018)Media Management in Drupal 8 (DrupalSouth 2018)
Media Management in Drupal 8 (DrupalSouth 2018)
 
Architecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal CampArchitecture of Drupal - Drupal Camp
Architecture of Drupal - Drupal Camp
 
Drupal for Libraries
Drupal for LibrariesDrupal for Libraries
Drupal for Libraries
 
CMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social DrupalCMS Expo 2011 - Social Drupal
CMS Expo 2011 - Social Drupal
 

Más de Chris Tankersley

Docker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersChris Tankersley
 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with gitChris Tankersley
 
Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Chris Tankersley
 
Dead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIChris Tankersley
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Chris Tankersley
 
BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018Chris Tankersley
 
You Were Lied To About Optimization
You Were Lied To About OptimizationYou Were Lied To About Optimization
You Were Lied To About OptimizationChris Tankersley
 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Chris Tankersley
 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Chris Tankersley
 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Chris Tankersley
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Chris Tankersley
 
OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017Chris Tankersley
 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017Chris Tankersley
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPChris Tankersley
 
Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016Chris Tankersley
 
How We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open SourceHow We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open SourceChris Tankersley
 

Más de Chris Tankersley (20)

Docker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live Containers
 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with git
 
Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)
 
Dead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPI
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
You Got Async in my PHP!
You Got Async in my PHP!You Got Async in my PHP!
You Got Async in my PHP!
 
Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
They are Watching You
They are Watching YouThey are Watching You
They are Watching You
 
BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018
 
You Were Lied To About Optimization
You Were Lied To About OptimizationYou Were Lied To About Optimization
You Were Lied To About Optimization
 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017
 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017
 
OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017
 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017
 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
 
Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016
 
How We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open SourceHow We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open Source
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Drupal Introduction

  • 1. Drupal NWO-PUG CMS Shootout April 26, 2011 NWO-PUG 1 E-mail: chris@ctankersley.com Twitter: @dragonmantank Identi.ca: dragonmantank
  • 2. Who Are You and Why Are You In My House? Chris Tankersley Doing PHP for 8 Years Lots of projects no one uses, and a few that some do TL;DR https://github.com/dragonmantank April 26, 2011 NWO-PUG 2
  • 3. Drupal Web Application Framework Open-Sourced in 2001 by Dries Buytaert As of April 17, had 367,865 registered sites Estimated 1.5% of all websites, which is around 2.8 million Powers websites from basic blogs all the way to government websites Gigantic user community Functional, but moving toward OOP April 26, 2011 NWO-PUG 3
  • 4. Nodes/Entities What Everything Is April 26, 2011 NWO-PUG 4
  • 5. You Must Assimilate Data is stored in Drupal as Nodes (Drupal 6) or Entities (Drupal 7) Posts, Images, Users, etc, are all the same thing, just different characteristics Nodes are great in theory, a pain in practice Drupal 7 went one level below nodes and created Entities. Same idea, better implementation April 26, 2011 NWO-PUG 5
  • 6. Working With Nodes All nodes have the same basic layout All nodes invoke the same hooks This means you have to do this: April 26, 2011 NWO-PUG 6
  • 7. Hook System How Everything Works April 26, 2011 NWO-PUG 7
  • 8. There’s a Hook for That Drupal uses a system of predefined ‘hooks’ for developers to attach to Hooks allow developers to attach to almost anything that Drupal does What to do something when a thing is deleted? Hook into ‘hook_delete’ Very powerful, but very steep learning curve April 26, 2011 NWO-PUG 8
  • 9. Hooking Into A Hook Find the hook you want (‘hook_delete’) Add your module name in place of Hook April 26, 2011 NWO-PUG 9
  • 10. Log a Node Deletion April 26, 2011 NWO-PUG 10
  • 11. Modules Bending Drupal To Our Will April 26, 2011 NWO-PUG 11
  • 12. Hooks, Hook, Hooks Modules are collections of Functions that implement Hooks Contains a .info file with the module information Contains a .module with all the functions April 26, 2011 NWO-PUG 12
  • 13. Modules In Drupal’s Lifecycle Drupal kicks up and figures out what the user wants to do Drupal invokes the main hook Main hook calls all registered hooks Hooks all return data, and Drupal finally finishes the original hook out April 26, 2011 NWO-PUG 13
  • 14. Modules = Hook Registration Really, ‘modules’ just allow you an easy way to enable/disable what code runs during the lifecycle April 26, 2011 NWO-PUG 14
  • 15. Themes Making it look purdy April 26, 2011 NWO-PUG 15
  • 16. Anatomy of a Theme Basically a specialized Module Folder contains PHP files, CSS, and JS Instead of hooking into Hooks, you hook into Templates April 26, 2011 NWO-PUG 16
  • 17. Build From Foundations Drupal has many great Foundation Themes Download, Install, and modify CSS/JS to get going faster April 26, 2011 NWO-PUG 17
  • 18. Taking the Good with the Bad There are some downsides… April 26, 2011 NWO-PUG 18
  • 19. Performance All registered hooks always fire The more modules you have, the longer Drupal has to process 100 modules that hook into hook_delete fire every time hook_delete is fired, regardless of the situation Drupal is coded for developers, not sysadmins April 26, 2011 NWO-PUG 19
  • 20. The Admin Interface Sucks April 26, 2011 NWO-PUG 20
  • 21. The Admin Interface Can be hard to find things Community has tried to fix this with plugins I still find it a pain April 26, 2011 NWO-PUG 21
  • 22. Learning Curve It’s there, and it’s big API Documentation is there, but hard to find what you want When you have 100’s of hooks, you kinda guess what you want Hard to find intermediate-advanced tutorials Lot of it is ‘Install this Module!’ instead of architecture April 26, 2011 NWO-PUG 22
  • 23. Backward Compatibility Major Revisions break Backward Compatibility Makes for Slow Adoption of new releases Drupal 6 -> 7 is painful because many modules just didn’t work Drupal 7 -> 8 probably will be too April 26, 2011 NWO-PUG 23
  • 24. Questions? April 26, 2011 NWO-PUG 24
  • 25. Links Where to Find Stuff I Talked About April 26, 2011 NWO-PUG 25
  • 26. Links Drupal Main Site: http://www.drupal.org API Site: http://api.drupal.org Contributions: http://drupal.org/download Creating Themes: http://tips.webdesign10.com/how-to-make-a-drupal-theme April 26, 2011 NWO-PUG 26