SlideShare a Scribd company logo
1 of 34
STAGING AND DEPLOYMENT
PROJECT




          GREG DUNLAP (@HEYROCKER)
DATE                   CLIENT
          3/8/2011              DRUPALCON CHICAGO
•The Problem
•A Rant
•Some Ideas
The Problem
•Data smooshage
•ID Conflicts
•API issues
A Rant
WE DO NOT HAVE A
 CONFIGURATION
  MANAGEMENT
    PROBLEM
WE HAVE AN
 EVERYTHING
MANAGEMENT
  PROBLEM
THERE IS NO DIVIDE
    BETWEEN
CONFIGURATION AND
CONTENT IN DRUPAL
STOP PRETENDING
TREAT THINGS AS THINGS
 AND WE CAN SOLVE THE
  PROBLEM FOR REAL
Some Ideas
•Reliably unique IDs
•Everything exportable
•API cleanup
Reliably Unique IDs
Reliably Unique IDs

• UUIDs or Machine Names
Reliably Unique IDs

• UUIDs or Machine Names
•Apply as appropriate
UUIDs
UUIDs
•Add alongside keys
UUIDs
•Add alongside keys
•No query performance impact
UUIDs
•Add alongside keys
•No query performance impact
•Easier upgrade path
UUIDs
•Add alongside keys
•No query performance impact
•Easier upgrade path
•Translate IDs on save
Exportability
Exportability

• Everything
Exportability

• Everything
•Doesn’t have to be complex
API CLEANUP
Things That Are Not APIs
Things That Are Not APIs

 • Form submit functions
Things That Are Not APIs

 • Form submit functions
 • Form validate functions
Things That Are Not APIs

 • Form submit functions
 • Form validate functions
 • $_GET
If we can’t save things
 we can’t import them
That’s It
You can throw things now

More Related Content

What's hot

Expressing the Context - A Functional Way
Expressing the Context - A Functional WayExpressing the Context - A Functional Way
Expressing the Context - A Functional WayRodrigo G. de A.
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017Tracy Lee
 
A Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceA Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceTracy Lee
 
Release Status Analyser
Release Status AnalyserRelease Status Analyser
Release Status AnalyserPooja Shah
 
Content Assessment Hero League presented at LavaCon 2013
Content Assessment Hero League presented at LavaCon 2013Content Assessment Hero League presented at LavaCon 2013
Content Assessment Hero League presented at LavaCon 2013Jennifer DeAngelo
 
Banking on Innovation and DevOps
Banking on Innovation and DevOpsBanking on Innovation and DevOps
Banking on Innovation and DevOpsTapabrata Pal
 
Finding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in RailsFinding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in RailsValerie Woolard
 
Security with the Speed of Continuous Delivery
Security with the Speed of Continuous DeliverySecurity with the Speed of Continuous Delivery
Security with the Speed of Continuous DeliveryTapabrata Pal
 
Gartner starting and scaling dev ops
Gartner starting and scaling dev opsGartner starting and scaling dev ops
Gartner starting and scaling dev opsTapabrata Pal
 
Interns What Is DevOps
Interns What Is DevOpsInterns What Is DevOps
Interns What Is DevOpsAaron Blythe
 
Dev up 2017 - how do you measure up
Dev up 2017 - how do you measure upDev up 2017 - how do you measure up
Dev up 2017 - how do you measure upAngela Dugan
 
DevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DCDevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DCTapabrata Pal
 
Part of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confPart of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confTapabrata Pal
 
London Alexa Devs 9th Meetup - Look Who's Talking
London Alexa Devs 9th Meetup - Look Who's TalkingLondon Alexa Devs 9th Meetup - Look Who's Talking
London Alexa Devs 9th Meetup - Look Who's TalkingOscar Merry
 
Spiking Your Way to Improved Agile Development - Anatoli Kazatchkov
Spiking Your Way to Improved Agile Development - Anatoli KazatchkovSpiking Your Way to Improved Agile Development - Anatoli Kazatchkov
Spiking Your Way to Improved Agile Development - Anatoli KazatchkovAtlassian
 
State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]Mikhail Asavkin
 
How to Upgrade Angular 1 to Angular 2 - Piece by Piece
How to Upgrade Angular 1 to Angular 2 - Piece by Piece How to Upgrade Angular 1 to Angular 2 - Piece by Piece
How to Upgrade Angular 1 to Angular 2 - Piece by Piece Christopher T. Walrath
 
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of AngularLena Lekkou
 

What's hot (20)

Expressing the Context - A Functional Way
Expressing the Context - A Functional WayExpressing the Context - A Functional Way
Expressing the Context - A Functional Way
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
 
A Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open ConferenceA Practical Approach to React Native at All Things Open Conference
A Practical Approach to React Native at All Things Open Conference
 
Release Status Analyser
Release Status AnalyserRelease Status Analyser
Release Status Analyser
 
Content Assessment Hero League presented at LavaCon 2013
Content Assessment Hero League presented at LavaCon 2013Content Assessment Hero League presented at LavaCon 2013
Content Assessment Hero League presented at LavaCon 2013
 
Open Source Governance - The Hard Parts
Open Source Governance - The Hard PartsOpen Source Governance - The Hard Parts
Open Source Governance - The Hard Parts
 
Banking on Innovation and DevOps
Banking on Innovation and DevOpsBanking on Innovation and DevOps
Banking on Innovation and DevOps
 
Finding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in RailsFinding Translations: Localization and Internationalization in Rails
Finding Translations: Localization and Internationalization in Rails
 
Security with the Speed of Continuous Delivery
Security with the Speed of Continuous DeliverySecurity with the Speed of Continuous Delivery
Security with the Speed of Continuous Delivery
 
Agile Intro to DevOps
Agile Intro to DevOpsAgile Intro to DevOps
Agile Intro to DevOps
 
Gartner starting and scaling dev ops
Gartner starting and scaling dev opsGartner starting and scaling dev ops
Gartner starting and scaling dev ops
 
Interns What Is DevOps
Interns What Is DevOpsInterns What Is DevOps
Interns What Is DevOps
 
Dev up 2017 - how do you measure up
Dev up 2017 - how do you measure upDev up 2017 - how do you measure up
Dev up 2017 - how do you measure up
 
DevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DCDevOps Measurement - DevOpsDays DC
DevOps Measurement - DevOpsDays DC
 
Part of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity confPart of the pipeline-why continuous testing is essential - velocity conf
Part of the pipeline-why continuous testing is essential - velocity conf
 
London Alexa Devs 9th Meetup - Look Who's Talking
London Alexa Devs 9th Meetup - Look Who's TalkingLondon Alexa Devs 9th Meetup - Look Who's Talking
London Alexa Devs 9th Meetup - Look Who's Talking
 
Spiking Your Way to Improved Agile Development - Anatoli Kazatchkov
Spiking Your Way to Improved Agile Development - Anatoli KazatchkovSpiking Your Way to Improved Agile Development - Anatoli Kazatchkov
Spiking Your Way to Improved Agile Development - Anatoli Kazatchkov
 
State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]State management with GraphQL [Angular Minsk, Online, 13.06.20]
State management with GraphQL [Angular Minsk, Online, 13.06.20]
 
How to Upgrade Angular 1 to Angular 2 - Piece by Piece
How to Upgrade Angular 1 to Angular 2 - Piece by Piece How to Upgrade Angular 1 to Angular 2 - Piece by Piece
How to Upgrade Angular 1 to Angular 2 - Piece by Piece
 
The 4W's of Angular
The 4W's of AngularThe 4W's of Angular
The 4W's of Angular
 

Viewers also liked

A Shot In The Arm
A Shot In The ArmA Shot In The Arm
A Shot In The Armheyrocker
 
Smu Tech Committee 10-2011
Smu Tech Committee 10-2011Smu Tech Committee 10-2011
Smu Tech Committee 10-2011Ted Curran
 
Come Together - DrupalCamp Stockholm Keynote
Come Together - DrupalCamp Stockholm KeynoteCome Together - DrupalCamp Stockholm Keynote
Come Together - DrupalCamp Stockholm Keynoteheyrocker
 
Painting the bikeshed
Painting the bikeshedPainting the bikeshed
Painting the bikeshedheyrocker
 
Fusion app func_con8722_pdf_8722_0001
Fusion app func_con8722_pdf_8722_0001Fusion app func_con8722_pdf_8722_0001
Fusion app func_con8722_pdf_8722_0001jucaab
 
Beyond the Blog: Tools For Communicating with Your Community
Beyond the Blog: Tools For Communicating with Your CommunityBeyond the Blog: Tools For Communicating with Your Community
Beyond the Blog: Tools For Communicating with Your CommunityLirio
 
Play Your Reactivity Cards Right
Play Your  Reactivity Cards RightPlay Your  Reactivity Cards Right
Play Your Reactivity Cards Rightamr hassaan
 
Illustrating integers
Illustrating integersIllustrating integers
Illustrating integersBrenda Obando
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveAsociatia ProLinux
 
Drupal 8 Configuration Management Initiative Update
Drupal 8 Configuration Management Initiative UpdateDrupal 8 Configuration Management Initiative Update
Drupal 8 Configuration Management Initiative Updateheyrocker
 
Oracle CRM On Demand - Computer Telephony Integration for Avaya
Oracle CRM On Demand - Computer Telephony Integration for AvayaOracle CRM On Demand - Computer Telephony Integration for Avaya
Oracle CRM On Demand - Computer Telephony Integration for AvayaCRMIT
 

Viewers also liked (13)

A Shot In The Arm
A Shot In The ArmA Shot In The Arm
A Shot In The Arm
 
Smu Tech Committee 10-2011
Smu Tech Committee 10-2011Smu Tech Committee 10-2011
Smu Tech Committee 10-2011
 
Come Together - DrupalCamp Stockholm Keynote
Come Together - DrupalCamp Stockholm KeynoteCome Together - DrupalCamp Stockholm Keynote
Come Together - DrupalCamp Stockholm Keynote
 
Painting the bikeshed
Painting the bikeshedPainting the bikeshed
Painting the bikeshed
 
Fusion app func_con8722_pdf_8722_0001
Fusion app func_con8722_pdf_8722_0001Fusion app func_con8722_pdf_8722_0001
Fusion app func_con8722_pdf_8722_0001
 
10.6 probability
10.6 probability10.6 probability
10.6 probability
 
Beyond the Blog: Tools For Communicating with Your Community
Beyond the Blog: Tools For Communicating with Your CommunityBeyond the Blog: Tools For Communicating with Your Community
Beyond the Blog: Tools For Communicating with Your Community
 
Play Your Reactivity Cards Right
Play Your  Reactivity Cards RightPlay Your  Reactivity Cards Right
Play Your Reactivity Cards Right
 
Illustrating integers
Illustrating integersIllustrating integers
Illustrating integers
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian Live
 
Sky 101
Sky 101Sky 101
Sky 101
 
Drupal 8 Configuration Management Initiative Update
Drupal 8 Configuration Management Initiative UpdateDrupal 8 Configuration Management Initiative Update
Drupal 8 Configuration Management Initiative Update
 
Oracle CRM On Demand - Computer Telephony Integration for Avaya
Oracle CRM On Demand - Computer Telephony Integration for AvayaOracle CRM On Demand - Computer Telephony Integration for Avaya
Oracle CRM On Demand - Computer Telephony Integration for Avaya
 

Similar to Staging and Deployment Project

Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deploymentheyrocker
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesTed Drake
 
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di..."Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...Tealium
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightNeotys_Partner
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectGlobalLogic Ukraine
 
Advanced Analytics Implementations at EA scale
Advanced Analytics Implementations at EA scaleAdvanced Analytics Implementations at EA scale
Advanced Analytics Implementations at EA scaleAni Lopez
 
Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI AutomationAlexander Repty
 
How to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App TestingHow to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App TestingApplause
 
Beyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerBeyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerAleksei Akimov
 
Sage 500 erp data import tools from a to z
Sage 500 erp data import tools from a to zSage 500 erp data import tools from a to z
Sage 500 erp data import tools from a to zRKLeSolutions
 
Supersize me: Making Drupal go large
Supersize me: Making Drupal go largeSupersize me: Making Drupal go large
Supersize me: Making Drupal go largeTom Phethean
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxapidays
 
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světěKontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světěPeter Sedlařík
 
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar SlidesReduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar SlidesNeo4j
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Hong Tat Yew
 

Similar to Staging and Deployment Project (20)

Beyond The Rails Way
Beyond The Rails WayBeyond The Rails Way
Beyond The Rails Way
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di..."Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...
"Taming Advanced Analytics Implementations at EA Scale" - Electronic Arts, Di...
 
Leandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & RightLeandro Melendez - Switching Performance Left & Right
Leandro Melendez - Switching Performance Left & Right
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Advanced Analytics Implementations at EA scale
Advanced Analytics Implementations at EA scaleAdvanced Analytics Implementations at EA scale
Advanced Analytics Implementations at EA scale
 
Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI Automation
 
Key alias dev standard final
Key alias   dev standard finalKey alias   dev standard final
Key alias dev standard final
 
Devops is a Verb
Devops is a VerbDevops is a Verb
Devops is a Verb
 
How to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App TestingHow to Go Codeless for Automated Mobile App Testing
How to Go Codeless for Automated Mobile App Testing
 
Beyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API ExplorerBeyond the basic Swagger UI: Adyen API Explorer
Beyond the basic Swagger UI: Adyen API Explorer
 
Sage 500 erp data import tools from a to z
Sage 500 erp data import tools from a to zSage 500 erp data import tools from a to z
Sage 500 erp data import tools from a to z
 
"DevOps > CI+CD "
"DevOps > CI+CD ""DevOps > CI+CD "
"DevOps > CI+CD "
 
Supersize me: Making Drupal go large
Supersize me: Making Drupal go largeSupersize me: Making Drupal go large
Supersize me: Making Drupal go large
 
Lessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptxLessons learned on the Azure API Stewardship Journey.pptx
Lessons learned on the Azure API Stewardship Journey.pptx
 
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světěKontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
Kontent.ai DevMeetup #1 - Evoluce prvního veřejného API v hotelovém světě
 
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar SlidesReduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
 
Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)Introduction to cypress in Angular (Chinese)
Introduction to cypress in Angular (Chinese)
 
RootandLeaves.pptx
RootandLeaves.pptxRootandLeaves.pptx
RootandLeaves.pptx
 

Recently uploaded

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
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
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

Staging and Deployment Project

Editor's Notes

  1. Introduction, still talking about this four years later\n
  2. Our show tonight is three acts...\nWith assistance from a very special guest\n
  3. Mr. Jeff Eaton. \nI will not spend a lot of time on the problem as we’re all pretty familiar with it\n
  4. Monolithical database with all information\nAutoincrementing IDs\nLack of APIs\n
  5. \n
  6. \n
  7. Our existing tools are focused only on the needs of developers and the ability to deploy configuration. This is understandable but doesn’t fix things.\n
  8. Drupal has never pretended otherwise\nTrend has been to blur this line, not clarify it\nNodequeue example\n\n
  9. \n
  10. We can draw arbitrary lines, but why? Let Drupal be Drupal \n
  11. \n
  12. There is no magic bullet solution. There are too many use cases and workflows for that. This is a list of things we can do to enable people to do what they need.\n
  13. \n
  14. UUIDs everywhere is not necessary or appropriate\nMachine names still have uses in situations where identifier needs to be human-readable (aka CSS class names)\n
  15. UUIDs everywhere is not necessary or appropriate\nMachine names still have uses in situations where identifier needs to be human-readable (aka CSS class names)\n
  16. Prevent ugly paths with pathauto in core\nModules act on node_save() to handle the data they know (relations, etc)\n\n
  17. Prevent ugly paths with pathauto in core\nModules act on node_save() to handle the data they know (relations, etc)\n\n
  18. Prevent ugly paths with pathauto in core\nModules act on node_save() to handle the data they know (relations, etc)\n\n
  19. Prevent ugly paths with pathauto in core\nModules act on node_save() to handle the data they know (relations, etc)\n\n
  20. How can be discussed, we dont have to reinvent most of it. load() vs export(), lets not have two ways to load and save thing for different situations when the functionality is largely the same. \n
  21. How can be discussed, we dont have to reinvent most of it. load() vs export(), lets not have two ways to load and save thing for different situations when the functionality is largely the same. \n
  22. This is not about improving or cleaning up APIs, that stuff is going to get done. It is more about making sure we have actual APIs to load and save things. \n
  23. Lesson here: Form API is not the place to put CRUD functionality, core needs to implement these things consistently and lead the way for contrib. People don’t usually think of this as part of the staging and deployment problem but it is because...\n
  24. Lesson here: Form API is not the place to put CRUD functionality, core needs to implement these things consistently and lead the way for contrib. People don’t usually think of this as part of the staging and deployment problem but it is because...\n
  25. Lesson here: Form API is not the place to put CRUD functionality, core needs to implement these things consistently and lead the way for contrib. People don’t usually think of this as part of the staging and deployment problem but it is because...\n
  26. Right now we have a hard time saving things because there is functionality that exists only in submit and validate functions. Your options are drupal_form_submit() (hack with inconsistent formats) or node_save() (wont catch everything.) So when I talk about API cleanup I mostly mean turning things that aren’t APIs into actual APIs so we can save and load things consistently, and creating APIs for things that don’t have them (cf roles, etc)\n
  27. These three things allow things to actually be deployed. There are lots of workflows and use cases for this, and we don’t need to address them all, let contrib worry about it. But without these changes we can’t address any of them. This is also an approachable set of solutions, if you try to change the world in a core release...\n
  28. \n