Drupal 8 Preview: What to Expect

79
Drupal 8 Preview Angie “webchick” Byron 2013-12-09 Tuesday, 10 December, 13

Transcript of Drupal 8 Preview: What to Expect

Page 1: Drupal 8 Preview: What to Expect

Drupal 8 PreviewAngie “webchick” Byron

2013-12-09Tuesday, 10 December, 13

Page 2: Drupal 8 Preview: What to Expect

About Me

Tuesday, 10 December, 13

Page 3: Drupal 8 Preview: What to Expect

Agenda

• What's coming in Drupal 8 for…o End users and clients?o Site builders?o Designers and themers?o Developers?

• ...where possible, with live demos! :)• When can I use it?• What can I do now to prepare?

Tuesday, 10 December, 13

Page 4: Drupal 8 Preview: What to Expect

Changes for end-users and clients

Tuesday, 10 December, 13

Page 5: Drupal 8 Preview: What to Expect

Authoring Experience Improvements

Tuesday, 10 December, 13

Page 6: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 7: Drupal 8 Preview: What to Expect

WYSIWYG in Core!

Tuesday, 10 December, 13

Page 8: Drupal 8 Preview: What to Expect

In-Place Editing

Tuesday, 10 December, 13

Page 9: Drupal 8 Preview: What to Expect

In-Place Editing

Tuesday, 10 December, 13

Page 10: Drupal 8 Preview: What to Expect

New Content Creation Page

Tuesday, 10 December, 13

Page 11: Drupal 8 Preview: What to Expect

Real Previews (in progress)

http://drupal.org/node/1510544

Tuesday, 10 December, 13

Page 12: Drupal 8 Preview: What to Expect

Let’s see it in action!

Tuesday, 10 December, 13

Page 13: Drupal 8 Preview: What to Expect

Mobile Improvements

Tuesday, 10 December, 13

Page 14: Drupal 8 Preview: What to Expect

"Mobile First"

Tuesday, 10 December, 13

Page 15: Drupal 8 Preview: What to Expect

Responsive themes, images, and breakpoints

Tuesday, 10 December, 13

Page 16: Drupal 8 Preview: What to Expect

Responsive themes, images, and breakpoints

Tuesday, 10 December, 13

Page 17: Drupal 8 Preview: What to Expect

Mobile-friendly administration

Tuesday, 10 December, 13

Page 18: Drupal 8 Preview: What to Expect

Mobile-friendly administration

Tuesday, 10 December, 13

Page 19: Drupal 8 Preview: What to Expect

Mobile-friendly administration

Tuesday, 10 December, 13

Page 20: Drupal 8 Preview: What to Expect

Responsive Preview Bar(in progress)

https://drupal.org/node/1741498 Tuesday, 10 December, 13

Page 21: Drupal 8 Preview: What to Expect

Responsive Preview Bar(in progress)

Tuesday, 10 December, 13

Page 22: Drupal 8 Preview: What to Expect

Accessibility

http://www.youtube.com/watch?v=ipOc1km2uEc Tuesday, 10 December, 13

Page 23: Drupal 8 Preview: What to Expect

Accessibility

http://www.youtube.com/watch?v=ipOc1km2uEc Tuesday, 10 December, 13

Page 24: Drupal 8 Preview: What to Expect

Mobile-first “overlay”

Tuesday, 10 December, 13

Page 25: Drupal 8 Preview: What to Expect

Let’s see it in action!

Tuesday, 10 December, 13

Page 26: Drupal 8 Preview: What to Expect

Changes for site builders

Tuesday, 10 December, 13

Page 27: Drupal 8 Preview: What to Expect

Improved Data Modeling Tools:New field typesEntity Reference Date/Datetime

…plus, Link, Phone, Email, Comments!

Tuesday, 10 December, 13

Page 28: Drupal 8 Preview: What to Expect

Improved Data Modeling Tools:New entity types

Fieldable blocks Fieldable contact forms

Tuesday, 10 December, 13

Page 29: Drupal 8 Preview: What to Expect

Form displays: customize the look and feel of data entry forms

Tuesday, 10 December, 13

Page 30: Drupal 8 Preview: What to Expect

Views in Core!

Tuesday, 10 December, 13

Page 31: Drupal 8 Preview: What to Expect

Views = fully customizable...

• Admin listings• Sidebar content• Image galleries• Slideshows• REST output• ...with 0 lines of code!

Tuesday, 10 December, 13

Page 32: Drupal 8 Preview: What to Expect

Restyled administration interface(in progress)

https://drupal.org/node/1986434 Tuesday, 10 December, 13

Page 33: Drupal 8 Preview: What to Expect

Multilingual Improvements

Tuesday, 10 December, 13

Page 34: Drupal 8 Preview: What to Expect

Community translation downloads

Tuesday, 10 December, 13

Page 35: Drupal 8 Preview: What to Expect

Language data tracking expanded

Tuesday, 10 December, 13

Page 36: Drupal 8 Preview: What to Expect

Translation on (almost) everything

Tuesday, 10 December, 13

Page 37: Drupal 8 Preview: What to Expect

Changes for designers and themers

Tuesday, 10 December, 13

Page 38: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 39: Drupal 8 Preview: What to Expect

HTML5 Form Elements

Tuesday, 10 December, 13

Page 40: Drupal 8 Preview: What to Expect

New front-end libraries

Tuesday, 10 December, 13

Page 41: Drupal 8 Preview: What to Expect

Twig Example: node.html.twig<article id="node-{{ node.id }}" class="{{ attributes.class }} clearfix"{{ attributes }}>

{{ title_prefix }} {% if not page %} <h2{{ title_attributes }}> <a href="{{ node_url }}" rel="bookmark">{{ label }}</a> </h2> {% endif %} {{ title_suffix }}

{% if display_submitted %} <footer> {{ user_picture }} <p class="submitted">{{ submitted }}</p> </footer> {% endif %}

<div{{ content_attributes }}> {# We hide links now so that we can render them later. #} {% hide(content.links) %} {{ content }} </div>

{{ content.links }}</article>

1. HTML5 tags2. {{ print a variable }}3. {# comments #}4. {% logic(stuff) %}

Tuesday, 10 December, 13

Page 42: Drupal 8 Preview: What to Expect

Native Schema.org Output

Tuesday, 10 December, 13

Page 43: Drupal 8 Preview: What to Expect

Killed support for IE 6 & 7(and most of 8)

Tuesday, 10 December, 13

Page 44: Drupal 8 Preview: What to Expect

Changes for developers

0100010001110010011101010111000001100001011011000010000000111000

Tuesday, 10 December, 13

Page 45: Drupal 8 Preview: What to Expect

Configuration Management

dev stage prod

Tuesday, 10 December, 13

Page 46: Drupal 8 Preview: What to Expect

dev

live

Tuesday, 10 December, 13

Page 47: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 48: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 49: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 50: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 51: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 52: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 53: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 54: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 55: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 56: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 57: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 58: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 59: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 60: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 61: Drupal 8 Preview: What to Expect

Let’s see it in action!

Tuesday, 10 December, 13

Page 62: Drupal 8 Preview: What to Expect

Drush integration for automation!

Tuesday, 10 December, 13

Page 63: Drupal 8 Preview: What to Expect

Web Services

Tuesday, 10 December, 13

Page 64: Drupal 8 Preview: What to Expect

Symfony Framework

• HttpFoundation• HttpKernel• Dependency

Injection• EventDispatcher• Routing• Yaml

Tuesday, 10 December, 13

Page 65: Drupal 8 Preview: What to Expect

GETting data out of Drupal:RESTful Web Services module

Tuesday, 10 December, 13

Page 66: Drupal 8 Preview: What to Expect

GETting data into Drupal: Guzzle$client = \Drupal::httpClient();$config = \Drupal::config('3rdparty.settings');

// Format arguments for passing in URL.$arg = urlencode($argument);

// Pull data from 3rd party's REST API.$api_key = $config->get('api_key');$request = $client->get("http://3rdparty.com/$arg/?key=$api_key");

// Get the response and do something with it.$response = $request->send();$json = $response->json();

...

Tuesday, 10 December, 13

Page 67: Drupal 8 Preview: What to Expect

"Getting off the island"

Tuesday, 10 December, 13

Page 68: Drupal 8 Preview: What to Expect

• Much more modern, object-oriented code (classes, inheritance, interfaces, etc.)

• Embracing latest PHP standards (e.g. PSR-0, namespaces, traits)

• Using many “best of breed” external libraries: Composer, PHPUnit, Guzzle, Zend Feed Component, Assetic...

Tuesday, 10 December, 13

Page 69: Drupal 8 Preview: What to Expect

Catch all of the changes!

https://drupal.org/list-changes

Tuesday, 10 December, 13

Page 70: Drupal 8 Preview: What to Expect

Tuesday, 10 December, 13

Page 71: Drupal 8 Preview: What to Expect

Ok, so when can I use this awesome stuff?!

"WHEN IT'S READY."

Tuesday, 10 December, 13

Page 72: Drupal 8 Preview: What to Expect

Drupal 8 Timeline

Tuesday, 10 December, 13

Page 73: Drupal 8 Preview: What to Expect

When is "When it's ready?"

• When we have 0 critical issues, we roll a release candidate.

• When we’ve shipped a release candidate that didn’t add new criticals, we ship 8.0!

• Hoping for 8.0 mid-2014, but still lots to do.

Tuesday, 10 December, 13

Page 74: Drupal 8 Preview: What to Expect

Where do we need help?

• Finish API conversions• Performance • Developer Experience• Migration path• DOCUMENTATION!• EXAMPLES!• TOOLS!

• TESTING, TESTING, TESTING!

https://drupal.org/contributeTuesday, 10 December, 13

Page 75: Drupal 8 Preview: What to Expect

When should I use Drupal 8?

Keep your eyes on https://drupal.org/project/usage/drupal:

Alphas, aka *right now*!(still have time to

fix APIs!)

Betas/RCs(~early-mid

2014)

Once these lines cross

(~2015)

Platform’s proven, but community’s

looking forward to Drupal 9.

Module DeveloperEarly Adopter /

Launch in mid-2014+

Late Adopter / Launch in late

2014+Conservative

Tuesday, 10 December, 13

Page 76: Drupal 8 Preview: What to Expect

New release proposal (in progress)

https://drupal.org/node/2135189 Tuesday, 10 December, 13

Page 77: Drupal 8 Preview: What to Expect

What about the upgrade path?• Work actively ongoing to add content migration

path from both D6 and D7 to D8 ("Migrate in core"): https://groups.drupal.org/imp

• To check status of contrib module upgrades, see: https://drupal.org/project/upgrade_status

• For help w/ custom module upgrades, see: https://drupal.org/project/coder

• To avoid upgrade pain, stick to well-vetted contributed modules over custom code.

• Other tips: https://www.acquia.com/blog/getting-your-site-ready-drupal-8

Tuesday, 10 December, 13

Page 78: Drupal 8 Preview: What to Expect

65

D8 Readiness Resources• D8 Blogs – With “how-to” topics ranging from “This week in Core”, OOP in D8, Migration, Spark and much more! http://www.acquia.com/blog/drupal-8

• D8 Webinars – Learn more about Multi-lingual, OOP etc in D8 - http://www.acquia.com/resources/recorded_webinars

• D8 Live Panel Discussions with Google Hangouts – http://www.acquia.com/resources/podcasts/acquia-podcast-93-power-php-meet-michelangelo-van-dam

• D8 Updates – Get the latest and the greatest in D8 on our developer page –

http://www.acquia.com/drupal-developers

Tuesday, 10 December, 13

Page 79: Drupal 8 Preview: What to Expect

Thank you!Questions?

Tuesday, 10 December, 13