Slide 1

Slide 1 text

Drupal 8 Ready Christopher Skene & Boris Gordon, with Tim Eisenhuth & PreviousNext

Slide 2

Slide 2 text

●Changes and additions in Drupal 8 What we’ll cover?

Slide 3

Slide 3 text

●Changes and additions in Drupal 8 ●Broken down by role What we’ll cover?

Slide 4

Slide 4 text

●Changes and additions in Drupal 8 ●Broken down by role ●And by technology group What we’ll cover?

Slide 5

Slide 5 text

●Changes and additions in Drupal 8 ●Broken down by role ●And by technology group ●With learning resources What we’ll cover?

Slide 6

Slide 6 text

●Changes and additions in Drupal 8 ●Broken down by role ●And by technology group ●With learning resources ●And pointers to relevant DrupalCon sessions What we’ll cover?

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

previousnext.com. au/drupal8ready

Slide 9

Slide 9 text

About Us

Slide 10

Slide 10 text

●PreviousNext is Australia’s leading Drupal service provider ●Worked on Australia’s largest Drupal projects ●Extensive experience ●Committed to Drupal Chris Skene & Boris Gordon PreviousNext

Slide 11

Slide 11 text

Tim Eisenhuth, Lee Rowlands, Kim Pepper and PreviousNext Everyone who’s written a nice, readable Drupal 8 changelog Chris’s wife and son, for putting up with him collating this while on holiday. Credits

Slide 12

Slide 12 text

Your skill in Drupal has increased by 1 point.

Slide 13

Slide 13 text

Notepads ready?

Slide 14

Slide 14 text

What’s new for Site Builders? Point-and-click, but not as we know it

Slide 15

Slide 15 text

Web & Front-end technologies

Slide 16

Slide 16 text

Need to know ●Understand how schema.org structures content Resources ●Schema.org ●RDF Meta issue drupal.org/node/1778226 Web & front-end technologies Use of Schema.org schemas

Slide 17

Slide 17 text

Need to know ● What are RESTful web services and how do we use them Resources ● What is REST, explained using Starbucks: http://www.infoq. com/articles/webber-rest-, explained using Starbucks: http: //www.infoq.com/articles/webber-rest-workflow ● REST: exposing data as RESTful web services drupal.org/node/1972016 ● Serialization API in Drupal 8 drupal.org/node/1899138 Web & front-end technologies RESTful web services

Slide 18

Slide 18 text

Drupal

Slide 19

Slide 19 text

Need to know ●Blocks get fields, revisions etc Sessions ●Blocks from drop.org to Drupal 8 and beyond, @fgm Wed 10.45 – 11.45, Meeting Hall 1 Drupal New Block Concepts

Slide 20

Slide 20 text

Need to know ●CKEditor in core ●Aloha for in-place editing ●Text formats have changed Sessions ●Designing Drupal 8, @LewisNyman, @Bojhan, Wed 13.00 – 14.00, Club H Drupal Editing improvements

Slide 21

Slide 21 text

Need to know ●Drupal gets “tours”. You can write them. Resources ●Tour API documentation, drupal. org/node/1934442 ●Creating a Tour for your module, previousnext. com.au/blog/tour-module-part-2-creating-tour- Drupal Tour API

Slide 22

Slide 22 text

Need to know ●Config now stored in Yaml files, in your files directory ●Can be exported/imported Resources ● ● Drupal Configuration import/export

Slide 23

Slide 23 text

Need to know ●What a UUID looks like ●Stop using “NID” (or similar) Resources ●UUID module for Drupal 7, drupal.org/project/uuid ●Drupal 8 UUID API documentation, Technology stack Universally Unique Identifiers for entities

Slide 24

Slide 24 text

●New render #type ‘table’ ●HTML5 elements ●‘hidden’ element ●FAPI property #pattern for HTML5 pattern attribute Other interesting changes

Slide 25

Slide 25 text

●Drupal 8 for Site Builders, @swentel, Tue 10:45 – 11.45, Panorama Hall Site building For more information…

Slide 26

Slide 26 text

What’s new for Themers? The more things change, the more they stay the same

Slide 27

Slide 27 text

Web & front-end technologies

Slide 28

Slide 28 text

Need to know ●How to use Twig for Drupal templating Resources ●Twig, twig.sensiolabs.org ●Drupal 8 Theme Guide, drupal.org/theme- guide/8 Web & front-end technologies Drupal templates use Twig (not PHP)

Slide 29

Slide 29 text

●Twig & the new theme layer in Drupal 8, Tue 17:00 - 18:00, Panorama Hall ●Twig, a templating system for Web Designers, Wed 10:45 - 11:45, Congress Hall ●TWIG It - ship it (Lab), Wed 13:00 - 15:15, Club DE - Adyax room Web & front-end technologies Twig sessions

Slide 30

Slide 30 text

Need to know ●How to use Backbone.js Resources ●backbonejs.org ●drupal.org/project/backbone ●Using Backbone.js with Drupal 8 & 7, @dealancer, Tue 15:45 – 16:45, North Hall - Web & front-end technologies Quick entity access with Backbone.js

Slide 31

Slide 31 text

Need to know ● What is “Responsive Design” and how does it work ● Use of Picture element ● Use of Breakpoints Resources ● Responsive Images Community Group, responsiveimages.org/ ● Drupal 8 Picture API, goo.gl/a3JvKY ● Drupal 7 Picture backport, drupal.org/project/picture Web & front-end technologies Responsive Design paradigms

Slide 32

Slide 32 text

Need to know ●Drupal.announce() for speaking text ●Drupal.tabbingManager assists with keyboard navigation Resources ●Drupal.tabbingManager, drupal.org/node/2014545 ●Drupal.announce(), drupal.org/node/2014521 Web & front-end technologies JavaScript Accessibility Features

Slide 33

Slide 33 text

Need to know ●Drupal 8 uses jQuery 2.0 ●API parity with jQuery 1.9 ●But… no support for IE 6/7/8 ●jQuery UI 1.10 Resources ●What’s new in jQuery 1.9, http://goo.gl/j0f7wh ●jquery.com/upgrade-guide/1.9/ Web & front-end technologies jQuery 2.0

Slide 34

Slide 34 text

Drupal

Slide 35

Slide 35 text

Need to know ●What are the Drupal 8 CSS standards! Resources ●CSS Coding Standards, drupal.org/node/1886770 Drupal CSS Coding Standards

Slide 36

Slide 36 text

Need to know ●How to call namespaced Class functions ●How to call static methods on Classes Resources ●Introduction to PHP classes, www.lornajane.net/posts/2012/introduction-to-php- oop ●How to Use PHP Namespaces, www.sitepoint.com/php-53-namespaces-basics/ Technology stack PHP Class and Namespace usage

Slide 37

Slide 37 text

●drupal_add_css & drupal_add_js are gone ●drupal_set_title is gone ●drupal_set_breadcrumb is gone, use the new Breadcrumb API Other changes

Slide 38

Slide 38 text

What’s new for Developers? Drupal is dead! Long live Drupal!

Slide 39

Slide 39 text

Technology stack

Slide 40

Slide 40 text

Need to know ●Programming patterns ●Model-View-Controller ●Factory methods ●Dependency injection ●Namespaces & PSR-0 ●Advanced Object-Oriented programming Technology stack Modern PHP programming

Slide 41

Slide 41 text

● PHP The Right Way, www.phptherightway.com ● Introduction to PHP classes, goo.gl/glGwXD ● How to Use PHP Namespaces, goo.gl/eiHtGW ● ● ● Technology stack Modern PHP programming resources

Slide 42

Slide 42 text

●Don’t be STUPID, grasp SOLID, @ircmaxell, Wed 15:45 – 16:45, Congress Hall ●Composing Drupal’s Future, @eclipsegc, Wed 15:45 – 16:45, Club H ●Drupal Development using PHPStorm, @MikhailVink, Thu 10:45 – 11:45, Terrace 1 Technology stack Modern PHP programming sessions

Slide 43

Slide 43 text

Need to know ●Symfony2 components form the basis for large parts of 8 ●Drupal 8 doesn’t work like Symfony2 ●Understanding Symfony2 will make you a better Drupal developer Technology stack Symfony

Slide 44

Slide 44 text

●Symfony website, symfony.com ●Learn Symfony, symfony.com/doc/current/index.html Technology stack Symfony resources

Slide 45

Slide 45 text

●Standardization, the Symfony way, @fabpot, Thu 10:45 – 11:45, Congress Hall ●From not-invented-here to proudly-found- elsewhere, @alexpott, Tue 13:00 – 14:00, Congress Hall Technology sessions Symfony-related sessions

Slide 46

Slide 46 text

● ● ● ● Technology stack Composer

Slide 47

Slide 47 text

Need to know ●How to create and edit YAML files ●Lots of Drupal config is now in YAML Resources ●en.wikipedia.org/wiki/YAML ●yaml.org Technology stack YAML

Slide 48

Slide 48 text

● ● ● ● ● Technology stack PHPUnit

Slide 49

Slide 49 text

Guzzle – for fetching content from URLs (replaced drupal_http_request) EasyRDF – for parsing RDF into PHP Zend_Feed – for processing Feeds Technology stack New 3rd Party Libraries

Slide 50

Slide 50 text

Drupal

Slide 51

Slide 51 text

Need to know ●How to find, create, load and work with Plugin’s Resources ●Plugin Documentation drupal.org/node/2087839 ●Plugin System Deep Dive, portland2013.drupal.org/session/drupal-8-plugin- system-deep-dive Drupal Plugin’s

Slide 52

Slide 52 text

●Drupal 8 – Info hook to plugin @pwolanin Wed 17.00 – 18.00, Club A Drupal Plugin sessions

Slide 53

Slide 53 text

Need to know ● Entities are Classed objects with a defined Interface ● Fields are bound to entities, and no longer shared across bundles ● How to access entity properties and fields ● How to define new Entities Resources ● Entity API Change Record drupal.org/node/1400186 ● Entity API documentation stub (incomplete), drupal.org/node/2078191 Drupal Entity API

Slide 54

Slide 54 text

Drupal Entity API

Slide 55

Slide 55 text

Need to know ● How to load and save config data ● Creating and working with Config Entities ● How config data is managed Resources ● ● ● ● Drupal Configuration API & Config Entities

Slide 56

Slide 56 text

Need to know ●How to write Symfony2 routes ●hook_menu() only does menu’s now Drupal Routes

Slide 57

Slide 57 text

● ● ● ● Drupal Routing resources

Slide 58

Slide 58 text

Need to know ●Many Drupal functions are now “Services” ●What are Services and how do they work ●Using Services Resources ●Symfony Service Container, goo.gl/FLsNLc ●Introducing the Symfony Service Container, Fabien Drupal Services

Slide 59

Slide 59 text

Drupal Injected Services example

Slide 60

Slide 60 text

● ● ● ● Drupal Object-oriented forms

Slide 61

Slide 61 text

Other new APIs ● DateTime ● Transliteration ● Breadcrumbs ● Modular authentication ● Entity Translation ● Image styles ● Unicode ● Crypt ● Timer ● New AJAX API ● TempStore ● Settings/Storage ● History JS API

Slide 62

Slide 62 text

How did you score?

Slide 63

Slide 63 text

THANK YOU! WHAT DID YOU THINK? Locate this session at the DrupalCon Prague website: http://prague2013.drupal.org/schedule Click the “Take the survey” link