SlideShare a Scribd company logo
1 of 29
Download to read offline
2013 Twin Cities Drupalcamp
Fredric Mitchell
@fredricmitchell
The Seven Stages
Of Drupal Development
1.) Shock and Denial
2.) Pain and Guilt
3.) Anger and Bargaining
4.) Depression and Reflection
5.) The Upward Turn
6.) Reconstruction
7.) Acceptance and Hope
7 Stages of Grief Drupal@fredricmitchell | 2
●
Web Development Manager at
Orbit Media Studios
●
Web Dev 10+ years, Drupal
●
Gardening, T-Ball, Thundercats
Are you qualified? @fredricmitchell | 3
●
Grief == Drupal
●
Belie All Fears
●
Want Answers
●
Reaffirmation and Confidence
You are here because... @fredricmitchell | 4
Present State @fredricmitchell | 5
http://www.codem0nk3y.com/2012/04/what-bugs-me-about-modx-and-why/cms-learning-curve/
http://www.flickr.com/photos/32029534@N00/7317378118/
1. Shock and Denial @fredricmitchell | 6
Shock provides emotional protection from being
overwhelmed all at once. This may last for weeks
months.
Shock and Denial @fredricmitchell | 7
node
entity
content type
bundle
views
entityfieldquery
preprocess
process
alter
ctools
panels
blocks
beans
i18n
entity api
workflow
workbench
state machine
hooks
query_alter
tid
vid
nid
uid
theme
ckeditor
rules
roles
permissions
content access
logintobaggan
features
spaces
context
sites
conf
2. Pain and Guilt
http://www.flickr.com/photos/cuboidal/23246255/
@fredricmitchell | 8
Although excruciating, it is important that you
experience the pain fully, and not hide it, avoid it or
escape from it.
Tools for Pain and Guilt@fredricmitchell | 9
● Google
● Pro Drupal 7 Development (book)
● drupal.org / api.drupal.org
● drupalize.me
● IRC
● Local Meetups
● Camps / Cons
● Time
http://www.flickr.com/photos/13259518@N00/7339686070/
3. Anger and Bargaining@fredricmitchell | 10
Frustration gives way to anger, and you may lash out and
lay unwarranted blame on someone else.
Causes of Anger @fredricmitchell | 11
Find a page
admin/content → Scroll & Paginate
or
Build view → Create filters → Setup perms → Set
paths → Export to features → Pray
or
Install admin_views (dependencies)
Causes of Anger @fredricmitchell | 12
Place a block
admin/structure → Blocks → Find & Scroll →
Configure
or
Install Context / Context UI → Setup perms → Set
conditions → Set Reactions
or
Install beans (dependencies)
Causes of Anger @fredricmitchell | 13
Small team working together
Features get overridden
Core is updated and break things
Patches are all over the place
Build vs. Buy
UI vs. Code
http://www.flickr.com/photos/30990153@N02/4379602297/
4. Depression. Reflection.@fredricmitchell | 14
Encouragement from others is not helpful to you during
this stage of grieving.
Sad Face :-( @fredricmitchell | 15
Retrieve single field value
The bad way
$value = $node->field_value['und'][0]['value']
The 'Drupal' way
$value = field_get_items('node', $node, 'field_value');
$value = (is_array($value)) ? reset($value) : $value;
$value = (isset($value['value']))
? $value['value']
: false;
Sad Face :-( @fredricmitchell | 16
Set a field value
The bad way
$user->field_value['und'][0]['value'] = $value;
The 'Drupal' way
Install entity_api module
$user = entity_metadata_wrapper('user', $user);
$user->field_value->set($value);
$user->save();
Sad Face :-( @fredricmitchell | 17
Get a menu
$tree = menu_tree_page_data('main-menu');
$main_menu = menu_tree_output($tree, 1);
print drupal_render($main_menu);
Get taxonomy terms
$v =
taxonomy_vocabulary_machine_name_load($n);
$terms = taxonomy_get_tree($v->vid);
foreach ($terms as $term) {
$options[$term->tid] = $term->name;
Sad Face :-( @fredricmitchell | 18
Migration
drupal.org/project/migrate
The Good – It exists!!!
The Bad – Documentation is spotty.
The Ugly – 9000 ways of doing it.
migrate_d2d
migrate_extras
Code: https://gist.github.com/fmitchell/6079933
http://www.flickr.com/photos/18850767@N02/6853403410/
5. The Upward Turn @fredricmitchell | 19
As you start to adjust, your life becomes a little calmer
and more organized.
That is helpful @fredricmitchell | 20
What node/menu/object am I on?
menu_get_object()
Querying made easy
EntityFieldQuery
URL arguments made easy
drupal_get_query_parameters()
That is helpful @fredricmitchell | 21
I want to change this form
hook_form_alter()
Examples, please!
drupal.org/project/examples
Quickly do things
drush
That is helpful @fredricmitchell | 22
I want to create a distribution
Make
Installation Profiles (derf?)
drupal.org/node/108973
drupal.org/documentation/build/distributions
http://www.flickr.com/photos/49503058184@N01/172906852/
6. Reconstruction @fredricmitchell | 23
As you become more functional, your mind starts
working again, and you will find yourself seeking
realistic solutions.
What's next? @fredricmitchell | 24
Load all the things
entity_load_multiple() - D8
Configuration
VCS, No more system settings forms - D8
Mobile
IE8 is dead, jQuery 2.0, Responsive grids - D8
What's next? @fredricmitchell | 25
Make it pretty!
Twig - D8
Services
HTTPFoundation, HTTPCache - D8
Multilingual
Everything is entity API - D8
http://www.flickr.com/photos/40461532@N05/5049303652/
7. Acceptance and Hope@fredricmitchell | 26
Acceptance does not necessarily mean instant happiness.
Given the pain and turmoil you have experienced, you
can never return to the carefree, untroubled YOU that
existed.
If I Must @fredricmitchell | 27
node
entity
content type
bundle
views
entityfieldquery
preprocess
process
alter
ctools
panels
blocks
beans
i18n
entity api
workflow
workbench
state machine
hooks
query_alter
tid
vid
nid
uid
theme
ckeditor
rules
roles
permissions
content access
logintobaggan
features
spaces
context
sites
conf
●
Drupal 8 needs you!
●
Join a group.
●
Wear your scars proudly.
The Future @fredricmitchell | 28
2013 Twin Cities Drupalcamp
Fredric Mitchell
@fredricmitchell
Thank you!!

More Related Content

Viewers also liked

#CannesLions 2014: Day 5 Recap #OgilvyCannes
#CannesLions 2014: Day 5 Recap #OgilvyCannes #CannesLions 2014: Day 5 Recap #OgilvyCannes
#CannesLions 2014: Day 5 Recap #OgilvyCannes Ogilvy
 
Presentación sobre eficiencia energetica en smart cities
Presentación sobre eficiencia energetica en  smart cities Presentación sobre eficiencia energetica en  smart cities
Presentación sobre eficiencia energetica en smart cities inLabFIB
 
彼氏から彼女へ贈るプレゼント
彼氏から彼女へ贈るプレゼント彼氏から彼女へ贈るプレゼント
彼氏から彼女へ贈るプレゼントstucon
 
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせる
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせるスペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせる
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせるstucon
 
PYMES Desarrollo Productivo y Social con Enfoque de Género
PYMES Desarrollo Productivo y Social con Enfoque de GéneroPYMES Desarrollo Productivo y Social con Enfoque de Género
PYMES Desarrollo Productivo y Social con Enfoque de GéneroApolo Ronchi
 
Defrag Panel _Filtering information through a social network _ Tamccann
Defrag Panel _Filtering information through a social network _ TamccannDefrag Panel _Filtering information through a social network _ Tamccann
Defrag Panel _Filtering information through a social network _ TamccannT. A. McCann
 
Social Media for Arts Entrepreneurs at ASU
Social Media for Arts Entrepreneurs at ASUSocial Media for Arts Entrepreneurs at ASU
Social Media for Arts Entrepreneurs at ASUDevon Smith
 
Ficha inscricao aluno_cisja
Ficha inscricao aluno_cisjaFicha inscricao aluno_cisja
Ficha inscricao aluno_cisjaamirpajm
 
Developing an online identity - some tips
Developing an online identity - some tipsDeveloping an online identity - some tips
Developing an online identity - some tipsBryony Taylor
 
Paid search competitive analysis
Paid search competitive analysisPaid search competitive analysis
Paid search competitive analysisAdlucent
 

Viewers also liked (13)

#CannesLions 2014: Day 5 Recap #OgilvyCannes
#CannesLions 2014: Day 5 Recap #OgilvyCannes #CannesLions 2014: Day 5 Recap #OgilvyCannes
#CannesLions 2014: Day 5 Recap #OgilvyCannes
 
Presentación sobre eficiencia energetica en smart cities
Presentación sobre eficiencia energetica en  smart cities Presentación sobre eficiencia energetica en  smart cities
Presentación sobre eficiencia energetica en smart cities
 
彼氏から彼女へ贈るプレゼント
彼氏から彼女へ贈るプレゼント彼氏から彼女へ贈るプレゼント
彼氏から彼女へ贈るプレゼント
 
Animals
AnimalsAnimals
Animals
 
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせる
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせるスペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせる
スペシャルクーポンガチャによって中高生に家計簿の習慣をつけさせる
 
PYMES Desarrollo Productivo y Social con Enfoque de Género
PYMES Desarrollo Productivo y Social con Enfoque de GéneroPYMES Desarrollo Productivo y Social con Enfoque de Género
PYMES Desarrollo Productivo y Social con Enfoque de Género
 
Defrag Panel _Filtering information through a social network _ Tamccann
Defrag Panel _Filtering information through a social network _ TamccannDefrag Panel _Filtering information through a social network _ Tamccann
Defrag Panel _Filtering information through a social network _ Tamccann
 
Social Media for Arts Entrepreneurs at ASU
Social Media for Arts Entrepreneurs at ASUSocial Media for Arts Entrepreneurs at ASU
Social Media for Arts Entrepreneurs at ASU
 
Ficha inscricao aluno_cisja
Ficha inscricao aluno_cisjaFicha inscricao aluno_cisja
Ficha inscricao aluno_cisja
 
UX Team Of One
UX Team Of OneUX Team Of One
UX Team Of One
 
Developing an online identity - some tips
Developing an online identity - some tipsDeveloping an online identity - some tips
Developing an online identity - some tips
 
Paid search competitive analysis
Paid search competitive analysisPaid search competitive analysis
Paid search competitive analysis
 
摩根簡介
摩根簡介摩根簡介
摩根簡介
 

Similar to The 7 Stages of Drupal Development

There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010Emma Jane Hogbin Westby
 
Migrating to Drupal 8: How to Migrate Your Content and Minimize the Risks
Migrating to Drupal 8: How to Migrate Your Content and Minimize the RisksMigrating to Drupal 8: How to Migrate Your Content and Minimize the Risks
Migrating to Drupal 8: How to Migrate Your Content and Minimize the RisksAcquia
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Chipway
 
教科書と現場のあいだ
教科書と現場のあいだ教科書と現場のあいだ
教科書と現場のあいだYukei Wachi
 
Introducing Drupal and Drupal.Org Community in PUP QC, PH
Introducing Drupal and Drupal.Org Community in PUP QC, PHIntroducing Drupal and Drupal.Org Community in PUP QC, PH
Introducing Drupal and Drupal.Org Community in PUP QC, PHEleison Cruz
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Renderingmichael.labriola
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkMediacurrent
 
Top SharePoint misconfiguration
Top SharePoint misconfiguration Top SharePoint misconfiguration
Top SharePoint misconfiguration Serge Tremblay
 
Top 5 Non-Obvious Drupal Modules
Top 5 Non-Obvious Drupal ModulesTop 5 Non-Obvious Drupal Modules
Top 5 Non-Obvious Drupal Modulesghing
 
Drupalcamp Gent 2012 - DRD module - by Joy Group
Drupalcamp Gent 2012 - DRD module - by Joy GroupDrupalcamp Gent 2012 - DRD module - by Joy Group
Drupalcamp Gent 2012 - DRD module - by Joy GroupJons Slemmer
 
Views plugins-in-d7-and-d8
Views plugins-in-d7-and-d8Views plugins-in-d7-and-d8
Views plugins-in-d7-and-d8Frank Holldorff
 
Introduction à l'intégration continue en PHP
Introduction à l'intégration continue en PHPIntroduction à l'intégration continue en PHP
Introduction à l'intégration continue en PHPEric Hogue
 
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...HostedbyConfluent
 
Why Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher EducationWhy Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher EducationAcquia
 
Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013Chris Ward
 
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1Vladimir Roudakov
 
Upgrading Drupal Modules - php[world] 2015
Upgrading Drupal Modules - php[world] 2015Upgrading Drupal Modules - php[world] 2015
Upgrading Drupal Modules - php[world] 2015Chris Tankersley
 

Similar to The 7 Stages of Drupal Development (20)

Cms comparison cmsexpo
Cms comparison cmsexpoCms comparison cmsexpo
Cms comparison cmsexpo
 
There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010
 
Migrating to Drupal 8: How to Migrate Your Content and Minimize the Risks
Migrating to Drupal 8: How to Migrate Your Content and Minimize the RisksMigrating to Drupal 8: How to Migrate Your Content and Minimize the Risks
Migrating to Drupal 8: How to Migrate Your Content and Minimize the Risks
 
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
Conference Migrate to Drupal 8 by Leon Cros at Drupal Developer Days 2015 in ...
 
教科書と現場のあいだ
教科書と現場のあいだ教科書と現場のあいだ
教科書と現場のあいだ
 
Drupal Flyover, CMS Expo
Drupal Flyover, CMS ExpoDrupal Flyover, CMS Expo
Drupal Flyover, CMS Expo
 
Introducing Drupal and Drupal.Org Community in PUP QC, PH
Introducing Drupal and Drupal.Org Community in PUP QC, PHIntroducing Drupal and Drupal.Org Community in PUP QC, PH
Introducing Drupal and Drupal.Org Community in PUP QC, PH
 
Optimizing Browser Rendering
Optimizing Browser RenderingOptimizing Browser Rendering
Optimizing Browser Rendering
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Top SharePoint misconfiguration
Top SharePoint misconfiguration Top SharePoint misconfiguration
Top SharePoint misconfiguration
 
Top 5 Non-Obvious Drupal Modules
Top 5 Non-Obvious Drupal ModulesTop 5 Non-Obvious Drupal Modules
Top 5 Non-Obvious Drupal Modules
 
Drupalcamp Gent 2012 - DRD module - by Joy Group
Drupalcamp Gent 2012 - DRD module - by Joy GroupDrupalcamp Gent 2012 - DRD module - by Joy Group
Drupalcamp Gent 2012 - DRD module - by Joy Group
 
Views plugins-in-d7-and-d8
Views plugins-in-d7-and-d8Views plugins-in-d7-and-d8
Views plugins-in-d7-and-d8
 
Introduction à l'intégration continue en PHP
Introduction à l'intégration continue en PHPIntroduction à l'intégration continue en PHP
Introduction à l'intégration continue en PHP
 
Drupalcamp Gent 2012
Drupalcamp Gent 2012Drupalcamp Gent 2012
Drupalcamp Gent 2012
 
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...
10 Things We Learned Re-imagining Kafka for the Cloud with Addison Huddy | Ka...
 
Why Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher EducationWhy Drupal 8 Is a Game Changer for Higher Education
Why Drupal 8 Is a Game Changer for Higher Education
 
Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013Drupal DevOps - Melbourne DevOps July 2013
Drupal DevOps - Melbourne DevOps July 2013
 
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
Drupal south 2014 - bootstrap vs foundation deathmatch - v.1.1
 
Upgrading Drupal Modules - php[world] 2015
Upgrading Drupal Modules - php[world] 2015Upgrading Drupal Modules - php[world] 2015
Upgrading Drupal Modules - php[world] 2015
 

Recently uploaded

Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 

Recently uploaded (20)

Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 

The 7 Stages of Drupal Development

  • 1. 2013 Twin Cities Drupalcamp Fredric Mitchell @fredricmitchell The Seven Stages Of Drupal Development
  • 2. 1.) Shock and Denial 2.) Pain and Guilt 3.) Anger and Bargaining 4.) Depression and Reflection 5.) The Upward Turn 6.) Reconstruction 7.) Acceptance and Hope 7 Stages of Grief Drupal@fredricmitchell | 2
  • 3. ● Web Development Manager at Orbit Media Studios ● Web Dev 10+ years, Drupal ● Gardening, T-Ball, Thundercats Are you qualified? @fredricmitchell | 3
  • 4. ● Grief == Drupal ● Belie All Fears ● Want Answers ● Reaffirmation and Confidence You are here because... @fredricmitchell | 4
  • 5. Present State @fredricmitchell | 5 http://www.codem0nk3y.com/2012/04/what-bugs-me-about-modx-and-why/cms-learning-curve/
  • 6. http://www.flickr.com/photos/32029534@N00/7317378118/ 1. Shock and Denial @fredricmitchell | 6 Shock provides emotional protection from being overwhelmed all at once. This may last for weeks months.
  • 7. Shock and Denial @fredricmitchell | 7 node entity content type bundle views entityfieldquery preprocess process alter ctools panels blocks beans i18n entity api workflow workbench state machine hooks query_alter tid vid nid uid theme ckeditor rules roles permissions content access logintobaggan features spaces context sites conf
  • 8. 2. Pain and Guilt http://www.flickr.com/photos/cuboidal/23246255/ @fredricmitchell | 8 Although excruciating, it is important that you experience the pain fully, and not hide it, avoid it or escape from it.
  • 9. Tools for Pain and Guilt@fredricmitchell | 9 ● Google ● Pro Drupal 7 Development (book) ● drupal.org / api.drupal.org ● drupalize.me ● IRC ● Local Meetups ● Camps / Cons ● Time
  • 10. http://www.flickr.com/photos/13259518@N00/7339686070/ 3. Anger and Bargaining@fredricmitchell | 10 Frustration gives way to anger, and you may lash out and lay unwarranted blame on someone else.
  • 11. Causes of Anger @fredricmitchell | 11 Find a page admin/content → Scroll & Paginate or Build view → Create filters → Setup perms → Set paths → Export to features → Pray or Install admin_views (dependencies)
  • 12. Causes of Anger @fredricmitchell | 12 Place a block admin/structure → Blocks → Find & Scroll → Configure or Install Context / Context UI → Setup perms → Set conditions → Set Reactions or Install beans (dependencies)
  • 13. Causes of Anger @fredricmitchell | 13 Small team working together Features get overridden Core is updated and break things Patches are all over the place Build vs. Buy UI vs. Code
  • 14. http://www.flickr.com/photos/30990153@N02/4379602297/ 4. Depression. Reflection.@fredricmitchell | 14 Encouragement from others is not helpful to you during this stage of grieving.
  • 15. Sad Face :-( @fredricmitchell | 15 Retrieve single field value The bad way $value = $node->field_value['und'][0]['value'] The 'Drupal' way $value = field_get_items('node', $node, 'field_value'); $value = (is_array($value)) ? reset($value) : $value; $value = (isset($value['value'])) ? $value['value'] : false;
  • 16. Sad Face :-( @fredricmitchell | 16 Set a field value The bad way $user->field_value['und'][0]['value'] = $value; The 'Drupal' way Install entity_api module $user = entity_metadata_wrapper('user', $user); $user->field_value->set($value); $user->save();
  • 17. Sad Face :-( @fredricmitchell | 17 Get a menu $tree = menu_tree_page_data('main-menu'); $main_menu = menu_tree_output($tree, 1); print drupal_render($main_menu); Get taxonomy terms $v = taxonomy_vocabulary_machine_name_load($n); $terms = taxonomy_get_tree($v->vid); foreach ($terms as $term) { $options[$term->tid] = $term->name;
  • 18. Sad Face :-( @fredricmitchell | 18 Migration drupal.org/project/migrate The Good – It exists!!! The Bad – Documentation is spotty. The Ugly – 9000 ways of doing it. migrate_d2d migrate_extras Code: https://gist.github.com/fmitchell/6079933
  • 19. http://www.flickr.com/photos/18850767@N02/6853403410/ 5. The Upward Turn @fredricmitchell | 19 As you start to adjust, your life becomes a little calmer and more organized.
  • 20. That is helpful @fredricmitchell | 20 What node/menu/object am I on? menu_get_object() Querying made easy EntityFieldQuery URL arguments made easy drupal_get_query_parameters()
  • 21. That is helpful @fredricmitchell | 21 I want to change this form hook_form_alter() Examples, please! drupal.org/project/examples Quickly do things drush
  • 22. That is helpful @fredricmitchell | 22 I want to create a distribution Make Installation Profiles (derf?) drupal.org/node/108973 drupal.org/documentation/build/distributions
  • 23. http://www.flickr.com/photos/49503058184@N01/172906852/ 6. Reconstruction @fredricmitchell | 23 As you become more functional, your mind starts working again, and you will find yourself seeking realistic solutions.
  • 24. What's next? @fredricmitchell | 24 Load all the things entity_load_multiple() - D8 Configuration VCS, No more system settings forms - D8 Mobile IE8 is dead, jQuery 2.0, Responsive grids - D8
  • 25. What's next? @fredricmitchell | 25 Make it pretty! Twig - D8 Services HTTPFoundation, HTTPCache - D8 Multilingual Everything is entity API - D8
  • 26. http://www.flickr.com/photos/40461532@N05/5049303652/ 7. Acceptance and Hope@fredricmitchell | 26 Acceptance does not necessarily mean instant happiness. Given the pain and turmoil you have experienced, you can never return to the carefree, untroubled YOU that existed.
  • 27. If I Must @fredricmitchell | 27 node entity content type bundle views entityfieldquery preprocess process alter ctools panels blocks beans i18n entity api workflow workbench state machine hooks query_alter tid vid nid uid theme ckeditor rules roles permissions content access logintobaggan features spaces context sites conf
  • 28. ● Drupal 8 needs you! ● Join a group. ● Wear your scars proudly. The Future @fredricmitchell | 28
  • 29. 2013 Twin Cities Drupalcamp Fredric Mitchell @fredricmitchell Thank you!!