the state of drupal 8

Post on 28-Jan-2015

110 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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

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

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?

WaT?WaT?

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

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

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

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

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

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

End Users and End Users and ClientsClients

In Development forIn Development for

MobileMobile

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

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

Ooglay! :(Ooglay! :(

Responsive Design - Mobile Responsive Design - Mobile FirstFirst

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

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++

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

Authoring Experience Authoring Experience ImprovementsImprovements

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

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

SparkSpark

http://drupal.org/project/spark

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

In-place EditingIn-place Editing

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

Proposed Proposed changes for changes for site builderssite builders

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

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

What’s the plan for Drupal What’s the plan for Drupal 8?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

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

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

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

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

UI?UI?

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

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

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

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

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!

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

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

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

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

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 ' ')),, ));;

<!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

Markup cleanupMarkup cleanup

Standard Standard ComponentsComponents

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

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

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

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

Web Services (WSCCI)Web Services (WSCCI)

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

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

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

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

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

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

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

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

DangerDanger!!

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

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

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

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

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

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

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!

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

http://drupal.org/list-changes

Huge round of applauseHuge round of applause

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

Obligatory picture ofObligatory picture of scary cloudsscary clouds andand

dire dire warningswarnings..

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

Most Important StuffMost Important Stuff

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

Time to kick ass Time to kick ass with Drupal 8!with 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

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

top related