While dealing with grief is very difficult, the blueprint for dealing with it is SURPRISINGLY similar to path developers take when working through Drupal. This session comically explores those stages.
1. SHOCK & DENIAL
Shock provides emotional protection from being overwhelmed all at once. This may last for weeks.
2. PAIN & GUILT
You may have guilty feelings or remorse over things you did or didn't do. Life feels chaotic and scary during this phase.
3. ANGER & BARGAINING
Frustration gives way to anger, and you may lash out and lay unwarranted blame for the death on someone else. Please try to control this, as permanent damage to your relationships may result. This is a time for the release of bottled up emotion.
You may rail against fate, questioning "Why me?" You may also try to bargain in vain with the powers that be for a way out of your despair ("I will never drink again if you just bring him back")
4. REFLECTION, LONELINESS
During this time, you finally realize the true magnitude of your journey, and it depresses you. You may isolate yourself on purpose, reflect on things you did and focus on memories before Drupal.
5. THE UPWARD TURN
As you start to adjust to life, your life becomes a little calmer and more organized. Your physical symptoms lessen, and your "depression" begins to lift slightly.
6. RECONSTRUCTION & WORKING THROUGH
As you become more functional, your mind starts working again, and you will find yourself seeking realistic solutions.
7. ACCEPTANCE & HOPE
You learn to accept and deal with the reality of your situation. 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 before. But you will find a way forward.
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
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
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
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
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
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
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