29
2013 Twin Cities Drupalcamp Fredric Mitchell @fredricmitchell The Seven Stages Of Drupal Development

The 7 Stages of Drupal Development

Embed Size (px)

Citation preview

Page 1: The 7 Stages of Drupal Development

2013 Twin Cities Drupalcamp

Fredric Mitchell@fredricmitchell

The Seven StagesOf Drupal Development

Page 2: The 7 Stages of Drupal Development

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

● 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

● Grief == Drupal

● Belie All Fears

● Want Answers

● Reaffirmation and Confidence

You are here because... @fredricmitchell | 4

Page 5: The 7 Stages of Drupal Development

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

● Drupal 8 needs you!

● Join a group.

● Wear your scars proudly.

The Future @fredricmitchell | 28

Page 29: The 7 Stages of Drupal Development

2013 Twin Cities Drupalcamp

Fredric Mitchell@fredricmitchell

Thank you!!