Transcript
Page 1: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Page 2: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

Drupal 8: Huge wins, a Bigger Community, & why you (and I) will

love it

Page 3: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Lead contributor to the Symfony documentation !• KnpLabs US - Symfony consulting, training, Kumbaya !• Writer for KnpUniversity.com

screencasts

Buenos Dias!

Page 4: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

!

!

!

!

!!• Husband of the much more talented @leannapelham

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Lead contributor to the Symfony documentation !• KnpLabs US - Symfony consulting, training, Kumbaya !• Writer for KnpUniversity.com

screencasts

Buenos Dias!

Page 5: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

knplabs.com github.com/weaverryan

• Viví en Querétaro in 2003 for 4 months

• I spoke about 5 words of Spanish. These 5 words did not include hermano nor amigo

• Learned of the custom of kissing a women when greeting her… when a woman kissed me on the street

Querétaro

Page 6: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Intro !

PHP Before Now (The Desert of the Real)

Page 7: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(1) !

Sharing and working together was impossible

Page 8: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://www.flickr.com/photos/rossap/8059476135

Every PHP Framework, CMS and Project builds everything from scratch

Page 9: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Sharing was nearly impossible

Page 10: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://garfieldtech.com/presentations/sunshinephp2014-php-pie

Page 11: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(2) !

If PHP is big, we’ll thrive If PHP is small, we’ll die

Page 12: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Communities

PHP is HUGE! Right?

http://www.flickr.com/photos/kitty-kat/

Page 13: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

PHP > Ruby

Page 14: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan http://www.flickr.com/photos/slpunk99/7329609744

Fragmentation:It makes us tiny, isolated,

and misguided trend-setters

https://www.flickr.com/photos/horiavarlan/4273913228

Page 15: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

PHP projects vs Rails

Page 16: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

CakePHP

I don’t want a damned CakePHP Plugin!

Page 17: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

CakePHP

CodeIgniter

I want a PHP library I can use in any project

Page 18: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Fragmentation

• More information we have to know !

• Difficult to hire !

• Disjointed forums, StackOverflow !

• Interoperability? What’s that?

Page 19: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 1 !

Drupal is PHP PHP is Drupal

Page 20: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP is in the middle of a Renaissance

https://www.flickr.com/photos/kafkapie/3761271639

Page 21: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://knowyourmeme.com/photos/5713-copypastahttp://garfieldtech.com/presentations/sunshinephp2014-php-pie

Page 22: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• Shares code !

• works together !

• uses consistent standards !

• projects are interoperable

Now: The Community

@weaverryan

Page 23: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal has missed all of the progress… until now

@weaverryan

Page 24: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 embraces the new tools and standards…

Page 25: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

… and has joined the PHP community as a member and leader

@weaverryan

Page 26: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Page 27: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 2 !

Drupal 8: New Libraries

https://www.flickr.com/photos/spam/5086168739

Page 28: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7: !

drupal_http_request()

Page 29: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

“Drupal's current outgoing-HTTP capability is, to be polite,

minimal. We have one small function with a lousy API that

can do basic requests, but that's it. If we want to be serious about

web services we need strong bidirectional HTTP support.”

https://drupal.org/node/1447736

Page 30: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8’s HTTP client is *incredible*

Page 31: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

It has been developed for over 3 years

@weaverryan

Page 32: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Has 2000+ commits

@weaverryan

Page 33: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Was entirely sponsored by Amazon

@weaverryan

Page 34: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

And Drupal developersdidn’t need to waste any

time making it!

@weaverryan

Page 35: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Meet Guzzle!

An independent PHP library that’s great at making

HTTP requests

Page 36: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

drupal_http_request Guzzle

Available Documentation comments above the function 9 chapter book

Commits ~40 ~2000

Contributors ~20 131

Used by Drupal All PHP devs

Features Some Many!

Compare & Contrast

@weaverryan

Page 37: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8:

What fantastic libraries do you get for no effort?

Page 38: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHPUnit• Unit-testing library that’s used

across all of PHP

• Some cool German guy spent years building this for you!

• Core has ~5000 unit tests that run in 18 seconds

• Easily use unit tests (finally) in your project

@weaverryan

Page 39: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Assetic

• JavaScript and CSS processing,minifying and compiling library

• Used in the Symfony Frameworkand other places

http://www.cameronhillphotography.com/@weaverryan

Page 40: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• Templating engine used forDrupal 8 theming

• Built by 163 contributors, with 2000 commits over 5 years and 63 releases

Twig

Loved by:

Page 41: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

• High-Quality library for reading andwriting RSS and ATOM feeds

• Written by someone else (score!)

• A large chapter of already-written documentation

Zend Feed

@weaverryan

Page 42: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

And Finally…

Page 43: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony Components

Page 44: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony is just a collection of decoupled

PHP libraries

Page 45: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Symfony libraries in Drupal

• ClassLoader • Debug • DependencyInjection • EventDispatcher • HttpFoundation • HttpKernel

• Process • PropertyAccess • Routing • Serializer • Translation • Validator • Yaml

Page 46: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

These are just tools that Drupal uses, instead of writing

everything from scratch

Page 47: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 !

“There’s a module for that”

… and if there’s not, the Drupal community must write one

@weaverryan

Page 48: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP

Drupal 7

@weaverryan

Page 49: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 !

“There’s a PHP library for that”

… and if there’s not, the entire PHP community can work on it together

@weaverryan

Page 50: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8

Drupal 7

@weaverryan

Page 51: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 3 !

Drupal 8: Hard to Learn?

https://www.flickr.com/photos/83633410@N07/7658254172

Page 52: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 is much more object-oriented

Page 53: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Difficult to Learn?

Drupal 7 Deep Arrays

Drupal 8 Objectsvs.

@weaverryan

Page 54: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 7

Page 55: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 8

Page 56: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

Drupal 7

Page 57: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8

Page 58: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7

Drupal 8

• Learn Drupalisms (Drupal-specific practices) • Non-Drupal developers have a learning curve • New devs will copy and paste functions and arrays

• Learn practices used across almost all languages • Non-Drupal developers feel at home • New devs will copy and paste functions and YAML

@weaverryan

Page 59: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8: good for you

Learn these new, highly-needed skills all at once as one big community

https://www.flickr.com/photos/aussiegall/309391023

Page 60: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Bonus

Page 61: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Knowing Drupal 8 means !

Knowing Silex

Page 62: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Use the same skills to build a CMS or a custom application

Page 63: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

If you know Drupal !

you understand Symfony

or Drufony@weaverryan

Page 64: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

If you know Symfony !

you understand Drupal

or Symfal@weaverryan

Page 65: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Hundreds of pages of documentation exist, thanks to

Symfony, Guzzle and other libraries

Drupal has a lot of work to do, but has a head-start!

Learning Drupal 8

@weaverryan

Page 66: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 4 !

New Paradigms mean New Possibilities

https://www.flickr.com/photos/nasamarshall/6731872025

Page 67: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Paradigms

• Object-Oriented Code

• Interfaces

• Dependency Injection

• Composer

• Namespaces

@weaverryan

Page 68: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Completely replace any part of core. That’s supported natively

Page 69: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Easier Future Upgrades

Page 70: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Possible in Drupal 8

Add/Remove entire systems and create

distributions

Page 71: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal for Blogging?

Include Entity/Field, Views

Remove Most admin features

Focus Node Posting System

Page 72: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

No blocks CMS

Remove Blocks

Focus Use only Twig for theming/layout

Page 73: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Syndication CMS

Include Atom/RSS syndication

Remove All concepts of content beyond feeds

Focus Process and serve feeds

Page 74: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

One Drupal cannot work perfectly for everyone

https://www.flickr.com/photos/generalnoir/391009102

Page 75: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

But many Drupals is now possible

https://www.flickr.com/photos/hjmediastudios/7883634326

Page 76: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

One Technology used for many

platforms?

Page 77: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

A Proven Model

Best!Use-Case Uses Symfony?

Silex Small sites yes

Laravel Quicker medium/large sites yes

Symfony Framework

Enterprise medium/large sites yes

Drupal CMS yes

Page 78: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8?

Best!Use-Case Uses Drupal?

Drupal Small Small sites yes

Drupal Medium Quicker medium/large sites yes

Drupal Enterprise Enterprise medium/large sites yes

Page 79: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Will this happen? !

It’s up to the community, but finally

possible

Page 80: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 5 !

New Features/Goodies

Page 81: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

My 9 Favorite things!

Page 82: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(9) !

Spark: Inline-editing

Page 83: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Page 84: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(8) !

Nodes available as JSON

Page 85: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(7) !

Mobile Ready: Responsive and with an API

Page 86: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Responsive!

Page 87: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(6) !

Multilingual support out of the box

Page 88: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(5) !

Views in Core (Drupal 8 with views on day 1)

Page 89: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(4) !

CKEditor in Core

Page 90: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it
Page 91: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(3) !

CMI: Configuration Management

Page 92: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Configuration Management

• Configuration moved from the databaseto YAML files

• Engineered with deployment in mind

• Deploy configuration changes from stagingto production

• Put configuration into version control

@weaverryan

Page 93: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(2) !

HTTP Caching (thanks to Symfony)

Page 94: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

(1) !

Symfony’s Web Debug Toolbar

Via a community module

Page 95: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://drupal.org/project/webprofiler

@weaverryan

Page 96: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 97: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 98: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 99: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaverryan

https://drupal.org/project/webprofiler

Page 100: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

https://drupal.org/project/webprofiler

Page 101: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Are you excited for Drupal 8 yet?!?

Page 102: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Chapter 6 !

Doing things the Drupal 7 way

Page 103: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

The Revolutionary Tape Player

http://en.wikipedia.org/wiki/Cassette_deck

Page 104: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

http://www.amazon.ca/MAXELL-MDV-RW1-Cassette-Rewinder/dp/B00006HOEF

Would you start a company in 2014 that sold

Walkman accessories?

Page 105: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP 4

Page 106: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Would you write a PHP 4 book

today?

http://www.amazon.co.uk/Beginning-PHP4-Programmer-Wankyu-Choi/dp/0764543644

Page 107: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Would you build a new CMS on

PHP 4?

Page 108: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 is a CMS built on PHP 4 technology

Page 109: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 Drupal 8

Technology PHP 4 (2000-2007) PHP 5.4 (2011-)

Practices Outdated, Drupal-specific Best-Practices, applicable across languages

Non-Drupal devs Code looks unfamiliar Code feels familiar

Developer Experience Arrays and hooks Interfaces, IDE code-

completion, shared code

Page 110: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 7 is good, but we can’t keep

doing things the Drupal 7 way forever

Page 111: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8: !

Innovate away from old technolog, or die with it

Page 112: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Drupal 8 chooses to Innovate

Page 113: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

A Stronger Community

Page 114: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

Higher Quality Features

Page 115: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Skills for You

Page 116: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

More Tools for You

Page 117: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

New Possibilities

Page 118: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

PHP Tutorial Screencasts

Ryan Weaver @weaverryan

¡Gracias!

Page 119: Drupal 8: Huge wins, a Bigger Community, and why you (and I) will Love it

@weaveryan @KnpUniversity