the state of drupal 8

67
hook_future_alter() hook_future_alter() A preview of Drupal 8, and how you can help. A preview of Drupal 8, and how you can help. June 22,2012 - Drupaldelphia June 22,2012 - Drupaldelphia

Upload: nyccamp

Post on 28-Jan-2015

110 views

Category:

Technology


3 download

DESCRIPTION

Drupal 8 development is underway, and there are some very exciting things coming down the pipe. I'll bring you up to speed with what's going on in the major Drupal 8 Core initiatives and by the time we're finished, you will have tangible ways to get involved in the next iteration of Drupal.This presentation is based on webchick's Drupal 8 slides. Since Drupal 8 is under very active development, the slides/presentation will change between now and the time I give it. I will upload the new version too.

TRANSCRIPT

Page 1: The State of Drupal 8

hook_future_alter()hook_future_alter()A preview of Drupal 8, and how you can help. A preview of Drupal 8, and how you can help. June 22,2012 - Drupaldelphia June 22,2012 - Drupaldelphia

Page 2: The State of Drupal 8

AgendaAgenda

Drupal 8 timelineDrupal 8 timeline

What’s planned for Drupal 8 for...What’s planned for Drupal 8 for...

End Users and Clients?End Users and Clients?

Site Builders?Site Builders?

Designers and Themers?Designers and Themers?

Developers?Developers?

How can YOU help?How can YOU help?

Page 3: The State of Drupal 8

WaT?WaT?

A Drupal 8 talk?! A Drupal 8 talk?!

But I just started using But I just started using Drupal 7!Drupal 7!

Page 4: The State of Drupal 8

Drupal 8 TimelineDrupal 8 Timeline

Feature freezeFeature freezeFeature freezeFeature freeze

Dec 1, 2012Dec 1, 2012

Drupal 7.0Drupal 7.0Drupal 7.0Drupal 7.0

Jan 5, 2011Jan 5, 2011

Mar 10, 2011Mar 10, 2011

Development Development BeginsBegins

Development Development BeginsBegins Code freezeCode freezeCode freezeCode freeze

Feb 1, 2013Feb 1, 2013

Drupal 8.0Drupal 8.0Drupal 8.0Drupal 8.0

Aug, 2013Aug, 2013

nownownownow

June, 2012June, 2012

Feature freezeFeature freezeFeature freezeFeature freeze

Page 5: The State of Drupal 8

Disclaimer: This stuff is actively undergoing development. Disclaimer: This stuff is actively undergoing development. 100% accuracy not guaranteed.100% accuracy not guaranteed.

Page 6: The State of Drupal 8

Remember:Remember:None of this happens None of this happens without YOUR help!without YOUR help!

Page 7: The State of Drupal 8

Time to kick ass Time to kick ass with Drupal 8!with Drupal 8!

Page 8: The State of Drupal 8

End Users and End Users and ClientsClients

In Development forIn Development for

Page 9: The State of Drupal 8

MobileMobile

Page 10: The State of Drupal 8

MobileMobile25X growth 25X growth

over next 5 years!over next 5 years!

All Drupal All Drupal sitessites

All CMS All CMS sitessites

All sitesAll sites

Page 11: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

Ooglay! :(Ooglay! :(

Page 12: The State of Drupal 8

Responsive Design - Mobile Responsive Design - Mobile FirstFirst

http://groups.drupal.org/node/232653

Page 13: The State of Drupal 8

Source: Source: http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/

http://drupal.org/project/issues/search/drupal?issue_tags=frontend+performance

Front-end Performance++Front-end Performance++

Page 14: The State of Drupal 8

How can I help?How can I help?

LeadLead John Albin WilkinsJohn Albin Wilkins

Issue tagIssue tag mobilemobile

NewsNews http://groups.drupal.org/mohttp://groups.drupal.org/mobilebile

IRCIRC #drupal-mobile#drupal-mobile

MeetingsMeetings Every other Every other WednesdayWednesday

Page 15: The State of Drupal 8

Authoring Experience Authoring Experience ImprovementsImprovements

Page 16: The State of Drupal 8

20122012 20132013

AugAugFeb 1Feb 1Dec 1Dec 1Feature freezeFeature freeze Code freezeCode freeze

Authoring experience Authoring experience timelinetimeline

Analysisphase

Apr-May

Analysisphase

Apr-May

Designphase

Jun-July

Designphase

Jun-July

Implementationphase

Aug-Nov

Implementationphase

Aug-Nov

ReleaseRelease

Authoring experience Authoring experience timelinetimeline

Page 17: The State of Drupal 8

Content creation page++Content creation page++http://drupal.org/node/1510532

Page 18: The State of Drupal 8

SparkSpark

http://drupal.org/project/spark

Page 19: The State of Drupal 8

http://buytaert.net/spark-update-in-line-editing-in-drupal

In-place EditingIn-place Editing

Page 20: The State of Drupal 8

How can I help?How can I help?

LeadsLeads Bojhan Somers & Bojhan Somers & Roy ScholtenRoy Scholten

Issue tagIssue tag UsabilityUsability

NewsNews http://groups.drupal.org/http://groups.drupal.org/usabilityusability

IRCIRC #drupal-usability#drupal-usability

MeetingsMeetings Every other Every other MondayMonday

Page 21: The State of Drupal 8

Proposed Proposed changes for changes for site builderssite builders

Page 22: The State of Drupal 8

MultilingualMultilingualIt’s like i18n in core, but betterIt’s like i18n in core, but betterIt’s like i18n in core, but betterIt’s like i18n in core, but better

Page 23: The State of Drupal 8

What’s the plan for What’s the plan for Drupal 8?Drupal 8?

Page 24: The State of Drupal 8

What’s the plan for Drupal What’s the plan for Drupal 8?8?

Page 25: The State of Drupal 8

How can I help?How can I help?

LeadLead Gábor HojstyGábor Hojsty

Issue tagIssue tag d8mid8mi

NewsNews http://groups.drupal.org/ihttp://groups.drupal.org/i18n18n

IRCIRC #drupal-i18n#drupal-i18n

MeetingsMeetings Every other Every other WednesdayWednesday

Page 26: The State of Drupal 8

Blocks and Layouts Blocks and Layouts (SCOTCH)(SCOTCH)

It’s like Panels in core, but betterIt’s like Panels in core, but better

Page 27: The State of Drupal 8

What problems are we What problems are we trying to solve?trying to solve?

Inconsistency; some stuff Inconsistency; some stuff on page is blocks, others on page is blocks, others special theme variables, special theme variables, and then “content” area.and then “content” area.

Only one (bendy) layout.Only one (bendy) layout.

Layout built “inside out”; Layout built “inside out”; blocks lack context of blocks lack context of overall pageoverall page

Blocks can’t be re-used in Blocks can’t be re-used in multiple instancesmultiple instances

Page 28: The State of Drupal 8

What’s the plan for Drupal What’s the plan for Drupal 8?8?

Layout built “outside Layout built “outside in”; necessary context in”; necessary context provided to blocksprovided to blocks

EverythingEverything on page is a on page is a block (or a layout, or a block (or a layout, or a nested layout)nested layout)

Blocks rendered Blocks rendered independently, independently, supporting ESI cachingsupporting ESI caching

Page 29: The State of Drupal 8

UI?UI?

http://groups.drupal.org/node/227543

Page 30: The State of Drupal 8

What’s the plan for Drupal What’s the plan for Drupal 8?8?

Panels in core; well, more or lessPanels in core; well, more or less

Page managerPage manager

Plugins system - CToolsPlugins system - CTools

Content types, access, context, relationshipContent types, access, context, relationship

See the code: See the code: http://drupal.org/sandbox/eclipsegc/1441840http://drupal.org/sandbox/eclipsegc/1441840

Page 31: The State of Drupal 8

How can I help?How can I help?

LeadLead Kris “EclipseGc” Kris “EclipseGc” VanderwaterVanderwater

Issue tagIssue tag scotchscotch

NewsNews http://groups.drupal.org/http://groups.drupal.org/scotchscotch

IRCIRC #drupal-scotch#drupal-scotch

MeetingsMeetings Every Friday, all Every Friday, all dayday

Page 32: The State of Drupal 8

ViewsViewsOMG Views in OMG Views in CORECORE!!!!!!

Page 33: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

Drupal 7 releasedDrupal 7 releasedDrupal 7 releasedDrupal 7 released

January 2011January 2011

People start using People start using itit

People start using People start using itit

July 2011July 2011

......

Surpasses Drupal Surpasses Drupal 66

Surpasses Drupal Surpasses Drupal 66

February 2012February 2012

13 months!13 months!

Page 34: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

Page 35: The State of Drupal 8

What’s the plan for Drupal What’s the plan for Drupal 8?8?

It already works - 8.x branches alive and kicking!It already works - 8.x branches alive and kicking!

Major parts of CTools in coreMajor parts of CTools in core

API hardening: Ensure configuration and plugin systems API hardening: Ensure configuration and plugin systems work for Views’s use casework for Views’s use case

Incorporate Views UI patterns for coreIncorporate Views UI patterns for core

Page 36: The State of Drupal 8

How can I help?How can I help?

http://www.angrydonuts.com/help-fund-views-in-core

LeadLead Earl MilesEarl Miles

Issue tagIssue tag vdcvdc

NewsNews http://drupal.org/commuhttp://drupal.org/community-initiatives/drupal-cornity-initiatives/drupal-core/vdce/vdc

IRCIRC #drupal-vdc#drupal-vdc

MeetingsMeetings Every Friday, all Every Friday, all dayday

Page 37: The State of Drupal 8

Changes for designers and Changes for designers and front-end developersfront-end developers

Page 38: The State of Drupal 8
Page 39: The State of Drupal 8

HTML5 Form ElementsHTML5 Form Elements

$form['telephone'] = array( ''#type#type' ' =>=> ' 'teltel',', ''#title#title' ' =>=> tt((''PhonePhone'')),, );

$form['telephone'] = array( ''#type#type' ' =>=> ' 'teltel',', ''#title#title' ' =>=> tt((''PhonePhone'')),, );

$$formform[[''websitewebsite'']] == arrayarray(( ''#type#type' ' =>=> ' 'urlurl',', ''#title#title' ' =>=> tt((''WebsiteWebsite'')),, ));;

$$formform[[''websitewebsite'']] == arrayarray(( ''#type#type' ' =>=> ' 'urlurl',', ''#title#title' ' =>=> tt((''WebsiteWebsite'')),, ));;

$$formform[[''emailemail'']] == arrayarray(( ''#type#type' ' =>=> ' 'emailemail',', ''#title#title' ' =>=> tt((''EmailEmail'')),, ));;

$$formform[[''emailemail'']] == arrayarray(( ''#type#type' ' =>=> ' 'emailemail',', ''#title#title' ' =>=> tt((''EmailEmail'')),, ));;

$$formform[[''ticketstickets'']] == arrayarray(( ''#type#type' ' =>=> ' 'numbernumber',', ''#title#title' ' =>=> tt((''Tickets requiredTickets required ' ')),, ));;

$$formform[[''ticketstickets'']] == arrayarray(( ''#type#type' ' =>=> ' 'numbernumber',', ''#title#title' ' =>=> tt((''Tickets requiredTickets required ' ')),, ));;

Page 40: The State of Drupal 8

<!DOCTYPE html><!DOCTYPE html><<htmlhtml<?php<?php print print $$html_attributeshtml_attributes;; ?>?>>> <<headhead>> <?php<?php print print $$headhead; ; ?>?> <?php<?php if if (($$default_mobile_metatagsdefault_mobile_metatags)):: ?>?> <<metameta namename=="MobileOptimized""MobileOptimized" contentcontent=="width""width" />/> <<meta meta namename=="HandheldFriendly""HandheldFriendly" contentcontent=="true""true" />/> <<meta meta namename=="viewport""viewport" contentcontent=="width=device-width""width=device-width" />/> <<meta meta http-equivhttp-equiv=="cleartype""cleartype" contentcontent=="on" "on" />/> <?php <?php endifendif; ; ?>?> <<titletitle>> <?php <?php print print $$head_titlehead_title; ; ?>?></</titletitle>> <?php<?php print print $$stylesstyles; ; ?>?> <?php<?php print print $$scriptsscripts; ; ?>?> </</headhead>> <body <body class="<?php print $classes; ?>" <?php print class="<?php print $classes; ?>" <?php print $body_attributes;?>> <div id="skip-link"> <a $body_attributes;?>> <div id="skip-link"> <a href="#main-content" class="element-invisible element-href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a> focusable"><?php print t('Skip to main content'); ?></a> </div> <?php print $page_top; ?> <?php print $page; ?> </div> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?> </body></html><?php print $page_bottom; ?> </body></html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>><head profile="<?php print $grddl_profile; ?>"> <?php print $head; ?> <title> <?php print $head_title; ?></title> <?php print $styles; ?> <?php print $scripts; ?></head><body class="<?php print $classes; ?>" <?php print $attributes;?>> <div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a> </div> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?></body></html>

Drupal 7Drupal 7 Drupal 8Drupal 8

Page 41: The State of Drupal 8

Markup cleanupMarkup cleanup

Page 42: The State of Drupal 8

Standard Standard ComponentsComponents

http://jacine.github.com/drupal/demo/

Page 43: The State of Drupal 8

TwigTwig

http://drupal.org/node/1499460

Drupal Drupal 77

<?php<?php if if ( ($$contentcontent)):: ?> ?> <<divdiv classclass==""<?<?phpphp printprint $$classesclasses;; ?>?>"">> <?php <?php printprint $$contentcontent;; ?> ?> </</divdiv>><?php <?php endifendif;; ?> ?>

region.tpl.phregion.tpl.phpp

Drupal 8Drupal 8

{% {% ifif contentcontent %} %} <<divdiv {{ {{ attributesattributes }} }}>> {{ {{ contentcontent }} }} </</divdiv>>{% {% endifendif %} %}

region.twigregion.twig

http://symfony.com/doc/current/book/templating.html

Page 44: The State of Drupal 8
Page 45: The State of Drupal 8

Changes for Changes for coderscoders

01110111 01101001 01101100 01101100 00100000 01100011 01101111 01100100 01100101 00100000 01110000 01101000 01110000 00100000 01100110 01101111 01110010 00100000 01100110 01101111 01101111 01100100

01110111 01101001 01101100 01101100 00100000 01100011 01101111 01100100 01100101 00100000 01110000 01101000 01110000 00100000 01100110 01101111 01110010 00100000 01100110 01101111 01101111 01100100

Page 46: The State of Drupal 8

Warning:Warning:Things are about to get... Things are about to get... geekygeeky..

Page 47: The State of Drupal 8

Web Services (WSCCI)Web Services (WSCCI)

It’s like Services It’s like Services module in core, only module in core, only better.better.

Page 48: The State of Drupal 8

What problems are we What problems are we trying to solve?trying to solve?

Page 49: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

Page 50: The State of Drupal 8
Page 51: The State of Drupal 8

What’s the What’s the plan for plan for Drupal 8?Drupal 8?

Tutorial: Tutorial: http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the-symfony2-components-part-1

Page 52: The State of Drupal 8

Web ServicesWeb Services

LeadLead Larry “Larry “CrellCrell” ” GarfieldGarfield

Issue tagIssue tag WSCCIWSCCI

NewsNews http://groups.drupal.org/http://groups.drupal.org/wscciwscci

IRCIRC #drupal-wscci#drupal-wscci

MeetingsMeetings Every other Every other TuesdayTuesday

Page 53: The State of Drupal 8

Configuration ManagementConfiguration ManagementIt’s like Features module in core, only better.It’s like Features module in core, only better.

Page 54: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

node/4node/4 node/4node/4

DangerDanger!!

Page 55: The State of Drupal 8

What problems are we trying to What problems are we trying to solve?solve?

variable_set()variable_set()variable_get()variable_get()

ctools_export_object()ctools_export_object()ctools_export_load_object()ctools_export_load_object()

db_select()db_select()db_update()db_update()db_delete()db_delete()

$conf[...];$conf[...];

hook_update_N()hook_update_N()

drush fudrush fu

Page 56: The State of Drupal 8

What’s the plan for Drupal What’s the plan for Drupal 8?8?

http://heyrocker.com/how-use-drupal-8-configuration-system

Page 57: The State of Drupal 8

What’s the plan for Drupal 8?What’s the plan for Drupal 8?

http://heyrocker.com/how-use-drupal-8-configuration-system

Page 58: The State of Drupal 8

Configuration Configuration ManagementManagement

LeadLead Greg “Greg “heyrockerheyrocker” ” DunlapDunlap

Issue tagIssue tag Configuration systeConfiguration systemm

NewsNews http://groups.drupal.org/http://groups.drupal.org/cmicmi

IRCIRC #drupal-cmi#drupal-cmi

MeetingsMeetings Every other Every other TuesdayTuesday

Page 59: The State of Drupal 8

Other stuffOther stuff

PSR-0PSR-0

Getting OOPy with it!Getting OOPy with it!

Entity API++Entity API++

More fasterer testbot!More fasterer testbot!

File/Media API improvementsFile/Media API improvements

and more!and more!

Page 60: The State of Drupal 8

Gotta catch ‘em all!Gotta catch ‘em all!

http://drupal.org/list-changes

Page 61: The State of Drupal 8

Huge round of applauseHuge round of applause

...to ...to OverOver 600600 contributors contributors so far!so far!

Page 62: The State of Drupal 8

Obligatory picture ofObligatory picture of scary cloudsscary clouds andand

dire dire warningswarnings..

Page 63: The State of Drupal 8

Join us!Join us!

Anytime, in Anytime, in #drupal-contribute#drupal-contribute on IRC! on IRC!

Tuesdays and Wednesdays in #drupalTuesdays and Wednesdays in #drupal★ Hand-holding for all of your newbie questions!Hand-holding for all of your newbie questions!★ Tasks for non-coders as well!Tasks for non-coders as well!

http://drupal.org/core-mentoring-hourshttp://drupal.org/core-mentoring-hours

Fridays in #drupalFridays in #drupal★ WWork on most important tasks for each ork on most important tasks for each

initiative with really smart people.initiative with really smart people.http://drupal.org/core-windsprintshttp://drupal.org/core-windsprints

Page 64: The State of Drupal 8

Most Important StuffMost Important Stuff

http://drupal.org/community-initiatives/drupal-corehttp://drupal.org/community-initiatives/drupal-core

Page 65: The State of Drupal 8

Time to kick ass Time to kick ass with Drupal 8!with Drupal 8!

Page 66: The State of Drupal 8

Slide CreditsSlide Credits

Angela “webchick” ByronAngela “webchick” Byron

Kristof De JaegerKristof De Jaeger

Jen LamptonJen Lampton

Dries BuytaertDries Buytaert

Gábor HojtsyGábor Hojtsy

Larry GarfieldLarry Garfield

Page 67: The State of Drupal 8

Thank you!Thank you!Questions? :)Questions? :)