SlideShare a Scribd company logo
1 of 23
Drupal as a Framework




                            Mike Bell
                   Drupal Developer
                          @mikebell_
       http://drupal.org/user/189605
What is Drupal?
Basic CMS
Framework
Awesome!


About Drupal, The F word, Drupal as a
 Framework, Case Study, The Future.
History of Drupal
5 Major version        4 – 5 no longer receive
4.x – Deprecated         security updates

5.x – Deprecated
6.x – Supported
7.x – Supported        6 – 7 Active support
8.x – In Development     and new contributed
                         modules
Major Improvements
Bigger and better api
More hooks
Improved hooks!
What is a Framework
“A web application framework is a software
  framework that is designed to support the
  development of dynamic websites, web
  applications and web services.” - Wikipedia
Drupal is all these are more!
Why is Drupal a framework?
Contributed Modules – Ctools, Views, CCK (6)
API
Services Module
CLI Tools
Drush - “Command Line Drupal”
http://drush.ws (Pear install)
drush site-install
drush pm-enable
drush sqlc
Quick Case Study
Better Regulation
Document Management system – on steroids
Extending Drupal way beyond a simple CMS
 application.
Over 10k+ of custom code
5k+ commits (GIT FTW!)
Features
Parsing 200/300 page documents
Time sensitive versions - “The Time Machine”
SOLR Search – modified through modules
Parsing
HTML File
Split on HTML tags
Processed using built in Batch API
ID numbers created using built in Lock API
Time Machine
Expands on Drupals nid and vid methodology
Adds 3rd id called docid (and defid)
SOLR
Standard SOLR search
Using Apache SOLR contributed module
Biasing added through custom module
API Examples
Form API
Menu Hooks
Form API
Create new form entirely from PHP arrays
Hook into any Drupal form and alter contents
Add/Alter validation functions
Add/Alter submission functions
Menu Hook
function hook_menu() {
  $items['example'] = array(
    'title' => 'Example Page',
    'page callback' =>
 'example_page',
    'access arguments' =>
 array('access content'),
    'type' => MENU_SUGGESTED_ITEM,
  );
Drupal 8 – The Future
Adopting more OO standards
Inclusion of Symfony2 components
Configuration Management
Full HTML5 support (Improved mobile
 compatibility)
Configuration Management
To me the most important part of Drupal 8
Settings and Content



          Dev → Stage → Production
Drupal 8 and Symfony2
Announced this year at DrupalCon Denver
Collaboration between Drupal and Symfony2
Allowing contribution from Drupal to Symfony2
  and vice-versa.
Symfony2
It's all about adoption
Taking best parts of Symfony2 and including
  them
Attracting new developers and enterprise
 developers
Symfony2 Components
HttpFoundation – better session handling, less
 reliance on globals
HttpKernel – better responses to client
Routing – seperation of url look from function
EventDispatcher
DependencyInjection
ClassLoader – automatic inclusion of classes,
 compatability with other none Drupal
 applications.
Twig
New templating engine
Theming in Drupal is a mess
Twig should fix this
Increased Security
Sane standards
NWDUG
North West Drupal User Group
1st Wednesday of every month
6pm to 8-9pm at Madlab in the Northern Quarter
No excuses!
This Month – Simplifying Drupal admin interface
Next Month – Testing in Drupal
Interesting Links
http://symfony.com/blog/symfony2-meets-drupal-8
http://groups.drupal.org/drupal-initiatives
http://nwdrupal.org.uk/



                  Any Questions?

More Related Content

Similar to PHPNW Drupal as a Framework

Open Source CMS Certification
Open Source CMS CertificationOpen Source CMS Certification
Open Source CMS CertificationVskills
 
Drupal
DrupalDrupal
Drupalbtopro
 
Building University Websites with the Drupal Content Management System
Building University Websites with the Drupal Content Management SystemBuilding University Websites with the Drupal Content Management System
Building University Websites with the Drupal Content Management SystemMark Jarrell
 
Drupal Roadmap 2010
Drupal Roadmap 2010Drupal Roadmap 2010
Drupal Roadmap 2010kathyhh
 
Drupal module development training delhi
Drupal module development training delhiDrupal module development training delhi
Drupal module development training delhiunitedwebsoft
 
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
 
SynapseIndia portfolio: Drupal 7 Application Development
SynapseIndia portfolio: Drupal 7 Application DevelopmentSynapseIndia portfolio: Drupal 7 Application Development
SynapseIndia portfolio: Drupal 7 Application DevelopmentSynapseIndia
 
Follow before a drupal security release by shamit khemka
Follow before a drupal security release by shamit khemkaFollow before a drupal security release by shamit khemka
Follow before a drupal security release by shamit khemkaSynapseIndia
 
Introduction to Drupal, Wayne Eaker, Nov 11, 09
Introduction to Drupal, Wayne Eaker, Nov 11, 09 Introduction to Drupal, Wayne Eaker, Nov 11, 09
Introduction to Drupal, Wayne Eaker, Nov 11, 09 Lunch Ann Arbor Marketing
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsThom Bunting
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To DrupalLauren Roth
 
Drupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime CollegeDrupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime Collegeguest08bc36
 
Drupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeDrupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeGeshan Manandhar
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Phase2
 
Highlights from DrupalCon2010 SF
Highlights from DrupalCon2010 SFHighlights from DrupalCon2010 SF
Highlights from DrupalCon2010 SFHeather Rodriguez
 
What's New & Cool in Drupal 7
What's New & Cool in Drupal 7What's New & Cool in Drupal 7
What's New & Cool in Drupal 7O'Reilly Media
 

Similar to PHPNW Drupal as a Framework (20)

Drupal6 and Drupal 7 difference
Drupal6 and Drupal 7 differenceDrupal6 and Drupal 7 difference
Drupal6 and Drupal 7 difference
 
Open Source CMS Certification
Open Source CMS CertificationOpen Source CMS Certification
Open Source CMS Certification
 
Drupal
DrupalDrupal
Drupal
 
Building University Websites with the Drupal Content Management System
Building University Websites with the Drupal Content Management SystemBuilding University Websites with the Drupal Content Management System
Building University Websites with the Drupal Content Management System
 
Drupal Roadmap 2010
Drupal Roadmap 2010Drupal Roadmap 2010
Drupal Roadmap 2010
 
Drupal module development training delhi
Drupal module development training delhiDrupal module development training delhi
Drupal module development training delhi
 
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
 
SynapseIndia portfolio: Drupal 7 Application Development
SynapseIndia portfolio: Drupal 7 Application DevelopmentSynapseIndia portfolio: Drupal 7 Application Development
SynapseIndia portfolio: Drupal 7 Application Development
 
Follow before a drupal security release by shamit khemka
Follow before a drupal security release by shamit khemkaFollow before a drupal security release by shamit khemka
Follow before a drupal security release by shamit khemka
 
Introduction to Drupal, Wayne Eaker, Nov 11, 09
Introduction to Drupal, Wayne Eaker, Nov 11, 09 Introduction to Drupal, Wayne Eaker, Nov 11, 09
Introduction to Drupal, Wayne Eaker, Nov 11, 09
 
Doing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via DistributionsDoing Drupal: Quick Start Deployments via Distributions
Doing Drupal: Quick Start Deployments via Distributions
 
Introduction To Drupal
Introduction To DrupalIntroduction To Drupal
Introduction To Drupal
 
Drupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime CollegeDrupal Experience Sharing at Prime College
Drupal Experience Sharing at Prime College
 
Drupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime CollegeDrupal Experience Sharing At Prime College
Drupal Experience Sharing At Prime College
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7Taking your site from Drupal 6 to Drupal 7
Taking your site from Drupal 6 to Drupal 7
 
Highlights from DrupalCon2010 SF
Highlights from DrupalCon2010 SFHighlights from DrupalCon2010 SF
Highlights from DrupalCon2010 SF
 
Introducing drupal
Introducing  drupalIntroducing  drupal
Introducing drupal
 
Drupal by Gaurav Boudh
Drupal by Gaurav BoudhDrupal by Gaurav Boudh
Drupal by Gaurav Boudh
 
What's New & Cool in Drupal 7
What's New & Cool in Drupal 7What's New & Cool in Drupal 7
What's New & Cool in Drupal 7
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

PHPNW Drupal as a Framework

  • 1. Drupal as a Framework Mike Bell Drupal Developer @mikebell_ http://drupal.org/user/189605
  • 2. What is Drupal? Basic CMS Framework Awesome! About Drupal, The F word, Drupal as a Framework, Case Study, The Future.
  • 3. History of Drupal 5 Major version 4 – 5 no longer receive 4.x – Deprecated security updates 5.x – Deprecated 6.x – Supported 7.x – Supported 6 – 7 Active support 8.x – In Development and new contributed modules
  • 4. Major Improvements Bigger and better api More hooks Improved hooks!
  • 5. What is a Framework “A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services.” - Wikipedia Drupal is all these are more!
  • 6. Why is Drupal a framework? Contributed Modules – Ctools, Views, CCK (6) API Services Module
  • 7. CLI Tools Drush - “Command Line Drupal” http://drush.ws (Pear install) drush site-install drush pm-enable drush sqlc
  • 8. Quick Case Study Better Regulation Document Management system – on steroids Extending Drupal way beyond a simple CMS application. Over 10k+ of custom code 5k+ commits (GIT FTW!)
  • 9. Features Parsing 200/300 page documents Time sensitive versions - “The Time Machine” SOLR Search – modified through modules
  • 10. Parsing HTML File Split on HTML tags Processed using built in Batch API ID numbers created using built in Lock API
  • 11. Time Machine Expands on Drupals nid and vid methodology Adds 3rd id called docid (and defid)
  • 12. SOLR Standard SOLR search Using Apache SOLR contributed module Biasing added through custom module
  • 14. Form API Create new form entirely from PHP arrays Hook into any Drupal form and alter contents Add/Alter validation functions Add/Alter submission functions
  • 15. Menu Hook function hook_menu() { $items['example'] = array( 'title' => 'Example Page', 'page callback' => 'example_page', 'access arguments' => array('access content'), 'type' => MENU_SUGGESTED_ITEM, );
  • 16. Drupal 8 – The Future Adopting more OO standards Inclusion of Symfony2 components Configuration Management Full HTML5 support (Improved mobile compatibility)
  • 17. Configuration Management To me the most important part of Drupal 8 Settings and Content Dev → Stage → Production
  • 18. Drupal 8 and Symfony2 Announced this year at DrupalCon Denver Collaboration between Drupal and Symfony2 Allowing contribution from Drupal to Symfony2 and vice-versa.
  • 19. Symfony2 It's all about adoption Taking best parts of Symfony2 and including them Attracting new developers and enterprise developers
  • 20. Symfony2 Components HttpFoundation – better session handling, less reliance on globals HttpKernel – better responses to client Routing – seperation of url look from function EventDispatcher DependencyInjection ClassLoader – automatic inclusion of classes, compatability with other none Drupal applications.
  • 21. Twig New templating engine Theming in Drupal is a mess Twig should fix this Increased Security Sane standards
  • 22. NWDUG North West Drupal User Group 1st Wednesday of every month 6pm to 8-9pm at Madlab in the Northern Quarter No excuses! This Month – Simplifying Drupal admin interface Next Month – Testing in Drupal