SlideShare una empresa de Scribd logo
1 de 17
Brent Ratliff Twitter: @brentratliff Blog: laminarlogic.com
Old Drupal Paradigm Extend Drupal core with modules in order to add functionality Modules added content types, blocks, and queries with Drupal API calls and hooks Modules added site functionality including end to end workflow
Common Site Functionality Events Blog Forums Articles Videos Product Views Ticketing System / CRM
“Functionality” Modules Pros One click install Worked out of the box Established workflow Cons Inflexible Too many assumptions made Required coding to change Tough to customize
CCK and Views Changed Everything
CCK/Views Paradigm Create some content types with the fields we need (text, images, videos, dates, currency, locations, etc) Reference content types to content and users Create nice lists of these things for display and search (Views, Node & User References) Create some blocks to display when our users are interacting with these features
Contrib Module developers began contributing smaller modules made to target specific tasks Sitebuilders use these lighter modules to build their desired functionality in a more custom way like assemblingLego™ blocks Examples: Views plugins, specific CCK fields, Nodereference widgets, GMAP, Rules, Workflow - all geared towards a CCK/Views paradigm
CCK/Views Functionality Pros Incredibly flexible Only minor glue modules needed if any code at all Can completely control workflow, forms, queries, lists, and display Clients now get almost exactly what they want Cons Configuration is in the database Lots of time spent on configuration clicking through the U/I Portability, Version Control, Dev+Staging+Production We lost the one click install
This is great, this “feature” works exactly how I want it to.
Oh crap, now everything’s in the database. How do I get it out?
Options Backup & Migrate Module Deploy Module Feeds (Feed API) Custom SQL Exportables – This sounds promising
Exportables Views (Export/Import UI) CCK Export/Import Panels 3 Context Boxes Strongarm (Drupal Variables Table) Ctools – API to expose custom module vars
Context and Features Wouldn’t it be great if you could define the functionality you want your site to have, build the pieces separately, or maybe, some for now and some for later. It sure would be nice if I could build a cool feature once and deploy it wherever I want by clicking a check box. Or better yet, develop it offline and deploy it.
The Features Module A module that builds modules from exportables Provides a UI to gather exportables related to site functionality (a feature) Creates and manages .info, .module and other files Custom hooks can be added The best of both worlds
Context A module that allows sitebuilders to layout their site into logical sections by controlling conditions and reactions Block visibility, body classes, active menus, custom plugins Replaces block admin page Exportable
Context Theme Gotchas Theme functions hook_block Menu Trees Primary Links preprocess_page
Let’s take a look at an example

Más contenido relacionado

La actualidad más candente

Angular js presentation at Datacom
Angular js presentation at DatacomAngular js presentation at Datacom
Angular js presentation at Datacom
David Xi Peng Yang
 
7.imaging on windows phone
7.imaging on windows phone7.imaging on windows phone
7.imaging on windows phone
Nguyên Phạm
 

La actualidad más candente (20)

Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Lightning components ver1.0
Lightning components ver1.0Lightning components ver1.0
Lightning components ver1.0
 
Comparative analysis of java script framework
Comparative analysis of java script frameworkComparative analysis of java script framework
Comparative analysis of java script framework
 
Mvc framework
Mvc frameworkMvc framework
Mvc framework
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
jQuery programming with visual web part
jQuery programming with visual web partjQuery programming with visual web part
jQuery programming with visual web part
 
Fluttering
FlutteringFluttering
Fluttering
 
Angular js presentation at Datacom
Angular js presentation at DatacomAngular js presentation at Datacom
Angular js presentation at Datacom
 
Apoyo en la administración de bases de datos mediante microsoft data tools
Apoyo en la administración de bases de datos mediante microsoft data toolsApoyo en la administración de bases de datos mediante microsoft data tools
Apoyo en la administración de bases de datos mediante microsoft data tools
 
DF2UFL 2012: Developer's Den - What's New and What's on the Horizon
DF2UFL 2012: Developer's Den - What's New and What's on the HorizonDF2UFL 2012: Developer's Den - What's New and What's on the Horizon
DF2UFL 2012: Developer's Den - What's New and What's on the Horizon
 
How Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web ApplicationsHow Evoq Helps You Build Modern Web Applications
How Evoq Helps You Build Modern Web Applications
 
Shield UI JavaScript Chart
Shield UI JavaScript ChartShield UI JavaScript Chart
Shield UI JavaScript Chart
 
Web component
Web componentWeb component
Web component
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-Binder
 
Programming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVCProgramming is Fun with ASP.NET MVC
Programming is Fun with ASP.NET MVC
 
7.imaging on windows phone
7.imaging on windows phone7.imaging on windows phone
7.imaging on windows phone
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 
ASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a coupleASP.NEt MVC and Angular What a couple
ASP.NEt MVC and Angular What a couple
 
SoapUI Training in Bangalore
SoapUI Training in BangaloreSoapUI Training in Bangalore
SoapUI Training in Bangalore
 

Similar a Features and Context Overview

Intro to Features Module on Drupal
Intro to Features Module on DrupalIntro to Features Module on Drupal
Intro to Features Module on Drupal
Aidan Foster
 
Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins Presentation
Ashok Modi
 

Similar a Features and Context Overview (20)

Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
Intro to Features Module on Drupal
Intro to Features Module on DrupalIntro to Features Module on Drupal
Intro to Features Module on Drupal
 
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying ConfigurationIBM Drupal Users Group Discussion on Managing and Deploying Configuration
IBM Drupal Users Group Discussion on Managing and Deploying Configuration
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
Zimmertwins Presentation
Zimmertwins PresentationZimmertwins Presentation
Zimmertwins Presentation
 
Using Features
Using FeaturesUsing Features
Using Features
 
Drupal features knowledge sharing
Drupal features   knowledge sharingDrupal features   knowledge sharing
Drupal features knowledge sharing
 
Features everywhere
Features everywhere Features everywhere
Features everywhere
 
Angular - Chapter 3 - Components
Angular - Chapter 3 - ComponentsAngular - Chapter 3 - Components
Angular - Chapter 3 - Components
 
Justin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12neJustin Herrin Comparing Joomla CCKs from jd12ne
Justin Herrin Comparing Joomla CCKs from jd12ne
 
Features & Installation Profiles
Features & Installation ProfilesFeatures & Installation Profiles
Features & Installation Profiles
 
What the heck are Features and why do I need them for my Drupal website?
What the heck are Features and why do I need them for my Drupal website?What the heck are Features and why do I need them for my Drupal website?
What the heck are Features and why do I need them for my Drupal website?
 
Module Madness
Module MadnessModule Madness
Module Madness
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
What I Learned At Drupal Con Dc 2009
What I Learned At Drupal Con Dc 2009What I Learned At Drupal Con Dc 2009
What I Learned At Drupal Con Dc 2009
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
Introduction to the features module
Introduction to the features moduleIntroduction to the features module
Introduction to the features module
 
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
 
Features: safely deploying your site
Features: safely deploying your siteFeatures: safely deploying your site
Features: safely deploying your site
 
Modules as requirement specifications
Modules as requirement specificationsModules as requirement specifications
Modules as requirement specifications
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Features and Context Overview

  • 1. Brent Ratliff Twitter: @brentratliff Blog: laminarlogic.com
  • 2. Old Drupal Paradigm Extend Drupal core with modules in order to add functionality Modules added content types, blocks, and queries with Drupal API calls and hooks Modules added site functionality including end to end workflow
  • 3. Common Site Functionality Events Blog Forums Articles Videos Product Views Ticketing System / CRM
  • 4. “Functionality” Modules Pros One click install Worked out of the box Established workflow Cons Inflexible Too many assumptions made Required coding to change Tough to customize
  • 5. CCK and Views Changed Everything
  • 6. CCK/Views Paradigm Create some content types with the fields we need (text, images, videos, dates, currency, locations, etc) Reference content types to content and users Create nice lists of these things for display and search (Views, Node & User References) Create some blocks to display when our users are interacting with these features
  • 7. Contrib Module developers began contributing smaller modules made to target specific tasks Sitebuilders use these lighter modules to build their desired functionality in a more custom way like assemblingLego™ blocks Examples: Views plugins, specific CCK fields, Nodereference widgets, GMAP, Rules, Workflow - all geared towards a CCK/Views paradigm
  • 8. CCK/Views Functionality Pros Incredibly flexible Only minor glue modules needed if any code at all Can completely control workflow, forms, queries, lists, and display Clients now get almost exactly what they want Cons Configuration is in the database Lots of time spent on configuration clicking through the U/I Portability, Version Control, Dev+Staging+Production We lost the one click install
  • 9. This is great, this “feature” works exactly how I want it to.
  • 10. Oh crap, now everything’s in the database. How do I get it out?
  • 11. Options Backup & Migrate Module Deploy Module Feeds (Feed API) Custom SQL Exportables – This sounds promising
  • 12. Exportables Views (Export/Import UI) CCK Export/Import Panels 3 Context Boxes Strongarm (Drupal Variables Table) Ctools – API to expose custom module vars
  • 13. Context and Features Wouldn’t it be great if you could define the functionality you want your site to have, build the pieces separately, or maybe, some for now and some for later. It sure would be nice if I could build a cool feature once and deploy it wherever I want by clicking a check box. Or better yet, develop it offline and deploy it.
  • 14. The Features Module A module that builds modules from exportables Provides a UI to gather exportables related to site functionality (a feature) Creates and manages .info, .module and other files Custom hooks can be added The best of both worlds
  • 15. Context A module that allows sitebuilders to layout their site into logical sections by controlling conditions and reactions Block visibility, body classes, active menus, custom plugins Replaces block admin page Exportable
  • 16. Context Theme Gotchas Theme functions hook_block Menu Trees Primary Links preprocess_page
  • 17. Let’s take a look at an example

Notas del editor

  1. Different problems associated with each to include dual production and development. Don’t want to take the site offline.