SlideShare uma empresa 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

Mais conteúdo relacionado

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
🐬 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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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 ...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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