the 7 stages of drupal development
TRANSCRIPT
![Page 1: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/1.jpg)
2013 Twin Cities Drupalcamp
Fredric Mitchell@fredricmitchell
The Seven StagesOf Drupal Development
![Page 2: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/2.jpg)
1.) Shock and Denial2.) Pain and Guilt3.) Anger and Bargaining4.) Depression and Reflection5.) The Upward Turn6.) Reconstruction7.) Acceptance and Hope
7 Stages of Grief Drupal@fredricmitchell | 2
![Page 3: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/3.jpg)
● Web Development Manager at Orbit Media Studios
● Web Dev 10+ years, Drupal
● Gardening, T-Ball, Thundercats
Are you qualified? @fredricmitchell | 3
![Page 4: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/4.jpg)
● Grief == Drupal
● Belie All Fears
● Want Answers
● Reaffirmation and Confidence
You are here because... @fredricmitchell | 4
![Page 5: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/5.jpg)
Present State @fredricmitchell | 5
http://www.codem0nk3y.com/2012/04/what-bugs-me-about-modx-and-why/cms-learning-curve/
![Page 6: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/6.jpg)
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.
![Page 7: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/7.jpg)
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
![Page 8: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/8.jpg)
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.
![Page 9: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/9.jpg)
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
![Page 10: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/10.jpg)
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.
![Page 11: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/11.jpg)
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)
![Page 12: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/12.jpg)
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)
![Page 13: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/13.jpg)
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
![Page 14: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/14.jpg)
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.
![Page 15: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/15.jpg)
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;
![Page 16: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/16.jpg)
Sad Face :-( @fredricmitchell | 16
Set a field value
The bad way$user->field_value['und'][0]['value'] = $value;
The 'Drupal' wayInstall entity_api module$user = entity_metadata_wrapper('user', $user);$user->field_value->set($value);$user->save();
![Page 17: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/17.jpg)
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;}
![Page 18: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/18.jpg)
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_d2dmigrate_extras
Code: https://gist.github.com/fmitchell/6079933
![Page 19: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/19.jpg)
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.
![Page 20: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/20.jpg)
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()
![Page 21: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/21.jpg)
That is helpful @fredricmitchell | 21
I want to change this form
hook_form_alter()
Examples, please!
drupal.org/project/examples
Quickly do things
drush
![Page 22: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/22.jpg)
That is helpful @fredricmitchell | 22
I want to create a distribution
Make
Installation Profiles (derf?)drupal.org/node/108973
drupal.org/documentation/build/distributions
![Page 23: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/23.jpg)
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.
![Page 24: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/24.jpg)
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
![Page 25: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/25.jpg)
What's next? @fredricmitchell | 25
Make it pretty!
Twig - D8
Services
HTTPFoundation, HTTPCache - D8
Multilingual
Everything is entity API - D8
![Page 26: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/26.jpg)
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.
![Page 27: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/27.jpg)
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
![Page 28: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/28.jpg)
● Drupal 8 needs you!
● Join a group.
● Wear your scars proudly.
The Future @fredricmitchell | 28
![Page 29: The 7 Stages of Drupal Development](https://reader033.vdocument.in/reader033/viewer/2022050613/546f7836af7959510f8b472a/html5/thumbnails/29.jpg)
2013 Twin Cities Drupalcamp
Fredric Mitchell@fredricmitchell
Thank you!!