SlideShare une entreprise Scribd logo
1  sur  23
Using features/
            exportables in production
                           @drupalvolcon Antwerp April 20, 2010




Stijn De Meyere @stijndm www.sken.be                         VILLAVISCOM
Stijn De Meyere

                 freelance drupal dev as villaviscom.be
                 working closely with nascom.be
                 @stijndm
                 sken.be



Stijn De Meyere @stijndm www.sken.be                  VILLAVISCOM
The problem

                 Development local/online
                 Staging
                 Production




Stijn De Meyere @stijndm www.sken.be                 VILLAVISCOM
The problem

                 Different databases
                 No version control
                 Did we do that?




Stijn De Meyere @stijndm www.sken.be                 VILLAVISCOM
Solution


                 As much settings as possible in code




Stijn De Meyere @stijndm www.sken.be                    VILLAVISCOM
Features
                                       drupal.org/project/features




Stijn De Meyere @stijndm www.sken.be                                 VILLAVISCOM
Features


                 Allows you to export settings that live in the
                 database to code
                 A feature is a module, but more




Stijn De Meyere @stijndm www.sken.be                     VILLAVISCOM
Features: exportables
                 Strongarm (variables)
                 Permissions
                 Context
                 Imagecache
                 Views
                 Content (node + cck)
                 Set dependencies

Stijn De Meyere @stijndm www.sken.be     VILLAVISCOM
Features extra

                 drupal.org/project/features_extra
                 Taxonomy (vocabularies)
                 Nodequeue
                 Blocks



Stijn De Meyere @stijndm www.sken.be                 VILLAVISCOM
Fun and easy
                 Easy creation
                 Easy additions
                 Diff (drupal.org/project/diff)
                 Easy maintenance with Drush (drush features-
                 update [feature-name] (drupal.org/project/
                 drush)
                 Acts as a module (because it is a module)

Stijn De Meyere @stijndm www.sken.be                  VILLAVISCOM
Fun and easy

                 Except the first export
                 Oh, and don’t forget ...
                 What to do whith stuff already in code?




Stijn De Meyere @stijndm www.sken.be                   VILLAVISCOM
When is a module a
                         feature
                 When the .info file has one of these:
                 features[context][] =
                 features[variable][] =
                 features[user][] =
                 features[node][] =
                 features[views][] =


Stijn De Meyere @stijndm www.sken.be                     VILLAVISCOM
Why is this important



Stijn De Meyere @stijndm www.sken.be   VILLAVISCOM
Why is this important
                 All (most of) our settings are in code
                 Source control
                 Easy deployment (upload, revert)
                 Operate and support
                 Getting rid of thix (and minimizing
                 template.php)


Stijn De Meyere @stijndm www.sken.be                      VILLAVISCOM
Other stuff



Stijn De Meyere @stijndm www.sken.be                 VILLAVISCOM
Display Suite

                 Has features support, but not for individual
                 objects
                 Individual display and fields export
                 (settings are in variables)




Stijn De Meyere @stijndm www.sken.be                    VILLAVISCOM
Formatters


                 Custom CCK formatters, hand coded or with
                 the help of drupal.org/project/
                 custom_formatters




Stijn De Meyere @stijndm www.sken.be                VILLAVISCOM
Feature server
                                       fserver




Stijn De Meyere @stijndm www.sken.be             VILLAVISCOM
Fserver

                 code.developmentseed.org/featureserver/
                 node/163
                 Make you site act as a module/feature server
                 Update notifications
                 Automated release in combination with
                 Project module (drupal.org/project/project)


Stijn De Meyere @stijndm www.sken.be                   VILLAVISCOM
Fserver examples


                 fserver.nascom.be/
                 fserver.pronovix.net/




Stijn De Meyere @stijndm www.sken.be     VILLAVISCOM
Jump-starting a project



Stijn De Meyere @stijndm www.sken.be   VILLAVISCOM
Jump-starting a project

                 Define default modules
                 Define default features
                 Standardising workflow
                 Drush + Drush Make



Stijn De Meyere @stijndm www.sken.be       VILLAVISCOM
Questions?



Stijn De Meyere @stijndm www.sken.be                VILLAVISCOM

Contenu connexe

En vedette

Drupal 7 Tutorial: Features Module
Drupal 7 Tutorial: Features ModuleDrupal 7 Tutorial: Features Module
Drupal 7 Tutorial: Features ModuleAcquia
 
CMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalCMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalInfoBeans Technologies Ltd.
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarSuzanne Dergacheva
 
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8Wong Hoi Sing Edison
 
Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Jacqueline Nyagahima
 
Build Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensBuild Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensAcquia
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualSuzanne Dergacheva
 
Magento vs osCommerce vs Opencart
Magento vs osCommerce vs OpencartMagento vs osCommerce vs Opencart
Magento vs osCommerce vs OpencartGrape5
 
Drupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesDrupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesNuvole
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8Dick Olsson
 
Business benefits of Drupal 8
Business benefits of Drupal 8Business benefits of Drupal 8
Business benefits of Drupal 8Mediacurrent
 
Webform and Drupal 8
Webform and Drupal 8Webform and Drupal 8
Webform and Drupal 8Philip Norton
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsKris Buytaert
 
Decoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for DevelopersDecoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for DevelopersAcquia
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessAcquia
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginnerseverlearner
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionDrupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionJeff Geerling
 

En vedette (19)

Drupal Commerce
Drupal CommerceDrupal Commerce
Drupal Commerce
 
Drupal 7 Tutorial: Features Module
Drupal 7 Tutorial: Features ModuleDrupal 7 Tutorial: Features Module
Drupal 7 Tutorial: Features Module
 
CMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using DrupalCMS web publishing solution for a travel related website using Drupal
CMS web publishing solution for a travel related website using Drupal
 
What is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? WebinarWhat is Drupal? And Why is it Useful? Webinar
What is Drupal? And Why is it Useful? Webinar
 
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
[HKDUG] #20160626 - HKOSCon 2015 - Website DIY with Drupal 8
 
Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...Developing a Communication & Knowledge management Strategy - my experience at...
Developing a Communication & Knowledge management Strategy - my experience at...
 
Build Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal GardensBuild Custom Surveys and Forms Natively in Drupal Gardens
Build Custom Surveys and Forms Natively in Drupal Gardens
 
The Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 MultilingualThe Wonderful World of Drupal 8 Multilingual
The Wonderful World of Drupal 8 Multilingual
 
Magento vs osCommerce vs Opencart
Magento vs osCommerce vs OpencartMagento vs osCommerce vs Opencart
Magento vs osCommerce vs Opencart
 
Drupal 8 Configuration Management with Features
Drupal 8 Configuration Management with FeaturesDrupal 8 Configuration Management with Features
Drupal 8 Configuration Management with Features
 
Content Staging in Drupal 8
Content Staging in Drupal 8Content Staging in Drupal 8
Content Staging in Drupal 8
 
Business benefits of Drupal 8
Business benefits of Drupal 8Business benefits of Drupal 8
Business benefits of Drupal 8
 
Webform and Drupal 8
Webform and Drupal 8Webform and Drupal 8
Webform and Drupal 8
 
Spree commerce
Spree commerceSpree commerce
Spree commerce
 
Drupal and Devops , the Survey Results
Drupal and Devops , the Survey ResultsDrupal and Devops , the Survey Results
Drupal and Devops , the Survey Results
 
Decoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for DevelopersDecoupled Drupal: What This Means for Developers
Decoupled Drupal: What This Means for Developers
 
Drupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital BusinessDrupal 8: The Foundation for Digital Experience and Digital Business
Drupal 8: The Foundation for Digital Experience and Digital Business
 
Introduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute BeginnersIntroduction to Drupal for Absolute Beginners
Introduction to Drupal for Absolute Beginners
 
Drupal 8 - A Brief Introduction
Drupal 8 - A Brief IntroductionDrupal 8 - A Brief Introduction
Drupal 8 - A Brief Introduction
 

Similaire à Introduction to Drupal features

2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.comMathieu Buffenoir
 
How the hell do I run Docker in production, and will it scale?
How the hell do I run Docker in production, and will it scale?How the hell do I run Docker in production, and will it scale?
How the hell do I run Docker in production, and will it scale?Daniël van Gils
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDocker, Inc.
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannDevDay.org
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?Katarzyna Hoffman
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?Cloud 66
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1benDesigning
 
ZCM update VAI Brainforce
ZCM update VAI BrainforceZCM update VAI Brainforce
ZCM update VAI BrainforceRoel van Bueren
 
A (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesA (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesDavid Wengier
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET WorldDima Pasko
 
Making Security Usable: Product Engineer Perspective
Making Security Usable: Product Engineer PerspectiveMaking Security Usable: Product Engineer Perspective
Making Security Usable: Product Engineer PerspectiveC4Media
 
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)Avoiding the domino effect in our [micro]services (SOLID at macro-design level)
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)CodelyTV
 
Microservices: Improving the autonomy of our teams with Event-Driven Architec...
Microservices: Improving the autonomy of our teams with Event-Driven Architec...Microservices: Improving the autonomy of our teams with Event-Driven Architec...
Microservices: Improving the autonomy of our teams with Event-Driven Architec...CodelyTV
 
Power Tools For Browser-Based Design
Power Tools For Browser-Based DesignPower Tools For Browser-Based Design
Power Tools For Browser-Based DesignStephen Hay
 
Lessons Learned from running Docker in production
Lessons Learned from running Docker in productionLessons Learned from running Docker in production
Lessons Learned from running Docker in productionNicholas Dille
 
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...Concentrated Technology
 

Similaire à Introduction to Drupal features (20)

2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com
 
How the hell do I run Docker in production, and will it scale?
How the hell do I run Docker in production, and will it scale?How the hell do I run Docker in production, and will it scale?
How the hell do I run Docker in production, and will it scale?
 
DockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with DockerDockerCon EU 2015: Trading Bitcoin with Docker
DockerCon EU 2015: Trading Bitcoin with Docker
 
Interaction Design with Wireframes
Interaction Design with WireframesInteraction Design with Wireframes
Interaction Design with Wireframes
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
 
Deploying w7
Deploying w7Deploying w7
Deploying w7
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?
 
How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?How the hell do I run my microservices in production, and will it scale?
How the hell do I run my microservices in production, and will it scale?
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
ZCM update VAI Brainforce
ZCM update VAI BrainforceZCM update VAI Brainforce
ZCM update VAI Brainforce
 
A (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesA (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project Files
 
Ideal Deployment In .NET World
Ideal Deployment In .NET WorldIdeal Deployment In .NET World
Ideal Deployment In .NET World
 
Making Security Usable: Product Engineer Perspective
Making Security Usable: Product Engineer PerspectiveMaking Security Usable: Product Engineer Perspective
Making Security Usable: Product Engineer Perspective
 
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)Avoiding the domino effect in our [micro]services (SOLID at macro-design level)
Avoiding the domino effect in our [micro]services (SOLID at macro-design level)
 
Microservices: Improving the autonomy of our teams with Event-Driven Architec...
Microservices: Improving the autonomy of our teams with Event-Driven Architec...Microservices: Improving the autonomy of our teams with Event-Driven Architec...
Microservices: Improving the autonomy of our teams with Event-Driven Architec...
 
Power Tools For Browser-Based Design
Power Tools For Browser-Based DesignPower Tools For Browser-Based Design
Power Tools For Browser-Based Design
 
Lessons Learned from running Docker in production
Lessons Learned from running Docker in productionLessons Learned from running Docker in production
Lessons Learned from running Docker in production
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
Container Security Scanning by Timo Pagel
Container Security Scanning by Timo PagelContainer Security Scanning by Timo Pagel
Container Security Scanning by Timo Pagel
 
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
 

Dernier

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 

Dernier (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 

Introduction to Drupal features

  • 1. Using features/ exportables in production @drupalvolcon Antwerp April 20, 2010 Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 2. Stijn De Meyere freelance drupal dev as villaviscom.be working closely with nascom.be @stijndm sken.be Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 3. The problem Development local/online Staging Production Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 4. The problem Different databases No version control Did we do that? Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 5. Solution As much settings as possible in code Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 6. Features drupal.org/project/features Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 7. Features Allows you to export settings that live in the database to code A feature is a module, but more Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 8. Features: exportables Strongarm (variables) Permissions Context Imagecache Views Content (node + cck) Set dependencies Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 9. Features extra drupal.org/project/features_extra Taxonomy (vocabularies) Nodequeue Blocks Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 10. Fun and easy Easy creation Easy additions Diff (drupal.org/project/diff) Easy maintenance with Drush (drush features- update [feature-name] (drupal.org/project/ drush) Acts as a module (because it is a module) Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 11. Fun and easy Except the first export Oh, and don’t forget ... What to do whith stuff already in code? Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 12. When is a module a feature When the .info file has one of these: features[context][] = features[variable][] = features[user][] = features[node][] = features[views][] = Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 13. Why is this important Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 14. Why is this important All (most of) our settings are in code Source control Easy deployment (upload, revert) Operate and support Getting rid of thix (and minimizing template.php) Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 15. Other stuff Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 16. Display Suite Has features support, but not for individual objects Individual display and fields export (settings are in variables) Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 17. Formatters Custom CCK formatters, hand coded or with the help of drupal.org/project/ custom_formatters Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 18. Feature server fserver Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 19. Fserver code.developmentseed.org/featureserver/ node/163 Make you site act as a module/feature server Update notifications Automated release in combination with Project module (drupal.org/project/project) Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 20. Fserver examples fserver.nascom.be/ fserver.pronovix.net/ Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 21. Jump-starting a project Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 22. Jump-starting a project Define default modules Define default features Standardising workflow Drush + Drush Make Stijn De Meyere @stijndm www.sken.be VILLAVISCOM
  • 23. Questions? Stijn De Meyere @stijndm www.sken.be VILLAVISCOM