Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Drupal 8 Ready

Chris Skene
September 24, 2013

Drupal 8 Ready

Presentation at DrupalCon Prague, with Boris Gordon and Tim Eisenhuth.

Chris Skene

September 24, 2013
Tweet

More Decks by Chris Skene

Other Decks in Programming

Transcript

  1. •Changes and additions in Drupal 8 •Broken down by role

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

    •And by technology group •With learning resources What we’ll cover?
  3. •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?
  4. •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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. Need to know •Config now stored in Yaml files, in

    your files directory •Can be exported/imported Resources • • Drupal Configuration import/export
  12. 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
  13. •New render #type ‘table’ •HTML5 elements •‘hidden’ element •FAPI property

    #pattern for HTML5 pattern attribute Other interesting changes
  14. •Drupal 8 for Site Builders, @swentel, Tue 10:45 – 11.45,

    Panorama Hall Site building For more information…
  15. 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)
  16. •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
  17. 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
  18. 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
  19. 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
  20. 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
  21. Need to know •What are the Drupal 8 CSS standards!

    Resources •CSS Coding Standards, drupal.org/node/1886770 Drupal CSS Coding Standards
  22. 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
  23. Need to know •Programming patterns •Model-View-Controller •Factory methods •Dependency injection

    •Namespaces & PSR-0 •Advanced Object-Oriented programming Technology stack Modern PHP programming
  24. • 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
  25. •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
  26. 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
  27. •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
  28. 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
  29. 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
  30. 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
  31. •Drupal 8 – Info hook to plugin @pwolanin Wed 17.00

    – 18.00, Club A Drupal Plugin sessions
  32. 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
  33. 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
  34. 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
  35. Other new APIs • DateTime • Transliteration • Breadcrumbs •

    Modular authentication • Entity Translation • Image styles • Unicode • Crypt • Timer • New AJAX API • TempStore • Settings/Storage • History JS API
  36. 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