The State of Drupal 8

  • 4,488 views
Uploaded on

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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,488
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • So today, we’re going to talk about Drupal 8. Now some of you might be wondering why this talk is being given now? It was only earlier this year that Drupal 7 overtook the number of Drupal 6 sites. How many are using Drupal 7 ? how about Drupal 6 ? Drupal 5 or below? Sorry! :(
  • @todo move marker. (For reference, there are 40px/month in this timeline and there’s an offset of 160 px. To contextualize this talk, let’s look at the Drupal 8 timeline for a bit. Drupal 7.0 shipped in January of 2011 , and we had 326 parties in 96 countries to celebrate! It took awhile to recover from those parties (and also to migrate Drupal.org from CVS to Git ), and so we didn’t kick off development of Drupal 8 until March of 2011 , during DrupalCon Chicago. We’re currently in “code thaw,” or development phase . Development phase means that anything cool you have ever wanted to see in Drupal, anything that’s ever cheesed you off about Drupal that you want to see fixed, now’s the time to do it! At the end of this year, we’ll have a “Feature freeze” where the firehose of new features is shut off and we focus instead on stabilization . That’s followed by a “Code freeze” in February of next year where APIs get locked down so contributed modules can begin porting. And finally, the currently estimated release date for Drupal 8.0 will be in August of next year , during DrupalCon Europe 2013. So. Why are we talking about Drupal 8 now? Because this is where we’re at in the timeline now, and that means there’s only $NUM months left to make Drupal 8 awesome!
  • First is Drupal 8 is under /very/ active development so these slides might not be 100% accurate . Please don’t shoot me. :)
  • Second is that most of the stuff in here are things we would /like/ to do and people are actively working on, but is *by no means guaranteed* to happen. Can’t emphasize this enough; there are only a small handful of people trying to drive these changes into core and they desperately need help. So please keep your eyes and ears peeled for initiatives that sound interesting to you or that overlap with business interests. Regardless if you can code or not , there are lots of ways for literally everyone to help make Drupal 8 amazing.
  • Which means... It’s time to kick some ass in Drupal 8! This talk will hopefully give you the knowledge you need to understand what’s happening in Drupal 8 and where to jump in and help. (3 mins)
  • We’ll start with proposed changes for end users and clients , aka the “victims” of Drupal . :)
  • First up is Mobile .
  • We’re trying to push a big focus on mobile in Drupal 8 because it presents an enormous opportunity for Drupal if we can get this right. Small blue planet represents all Drupal sites , relative to orange planet which is all CMS sites , followed by all sites in general , and finally enormous mobile growth . This 5-year timeframe for mobile take-over means Drupal 8 needs to be mobile-ready out of the box .
  • Right now, when you load a stock Drupal 7 site in a mobile browser, the results are... less than spectacular. There are horizontal scrollbars on most pages, requiring zooming around, and tools on the backend provide an extremely poor mobile experience .
  • We are aiming to make Drupal 8 look more like this. This involves translating both Bartik and Seven themes to responsive design (Stark is done already), as well as creating mobile-friendly alternatives for administration tools such as the toolbar and contextual links. We need developer help to turn these prototypes into working code .
  • Another huge sub-initiative under Mobile is improving Drupal’s front-end performance . This graph shows how long it took to load various assets on a given page, including images, CSS, JavaScript, etc. Typically, over 80% of page serving time is spent in the browser , so improving this has a tremendous impact on the “snappiness” of a site This snappiness is even more critical on mobile because device less powerful and on thinner bandwidth . Tasks here include removing unnecessary code from loading, improving CSS selector performance , responsive images , and improving CSS/JS aggregation . If this area interests you, please get involved! (6 mins)
  • If you’d like to get involved in Mobile, here are the details!
  • Ah, content authors . The poor suckers who have to use the sites you build them day in and day out as their actual job . Drupal’s traditionally been behind the curve compared to other CMSes in terms of authoring experience , especially out of the box . This is quickly becoming an enormous problem for us, as content authors are more and more being put in charge of CMS decisions , rather than techies.
  • Here is the timeline for authoring experience improvements that Dries laid out in his DrupalCon Denver keynote. The goal is to allow time for exploring interface improvements we could make up until Munich, then hammer down on implementation . Here are some of the things going on there...
  • One of the major focuses within the community is on a revamped content creation screen. Better differentiate between “primary” fields and settings Move “primary” publishing settings (e.g. URL, status) to more prominent location . This new design has been shown to test well , and now we’re into implementation . (Shout out to Ryan)
  • Spark is a Drupal 7 distribution by Acquia that intends to act as an incubator for Drupal 8 authoring experience improvements. We’re trying to come up with features that put us at parity with competitors , but build on Drupal 7 so they can be tested in the real world . Sort of like Pressflow for authoring experience ; provide UX improvements today that can be put into future release , like Pressflow pioneered performance improvements in Drupal 6 that made their way into Drupal 7 .
  • First area of focus is in-place editing , or the ability to edit site content in “true” What You See Is What You Get. This post has a link to a video showing a prototype of what we envision there. Currently in active discussions with community on implementation strategy. (9 mins)
  • If you’d like to get involved in Usability , here are the details!
  • Next up, proposed changes for Drupal site builders , who spend their days in Drupal’s administrative interface .
  • First up is the Multilingual initiative. The goal is to fix Drupal’s language system once and for all .
  • Here’s what the Drupal 7 translation landscape looks like now. You can see that many modules are needed and the functionality each covers is scattered all over the place.
  • Interface and content translation built into core . Get translations directly from localize.drupal.org . More consistent APIs for developers. English no longer special . Usability improvements.
  • If you’d like to get involved in Multilingual , here are the details!
  • See above.
  • See above.
  • There’s current ongoing discussion about what best to use as a UI for all of this awesomeness. Please feel free to join in!
  • @TODO: Update meetings for local time zone.
  • Drupal’s default markup makes Jeffrey Zeldman cry.
  • Benefits: Increased security Proudly Found Elsewhere Separation of business / presentation logic And finally, on a slightly sadder note ...
  • I regret to announce the death of IE6 and IE7 support in Drupal 8 core. ... just kidding! APPLAUSE . :D
  • Right now, Drupal assumes that all requests it returns are going to be fully-themed HTML pages to a desktop browser .
  • To get it to output something other than a fully-themed HTML page, you need to exit out of the request before the theme system has a chance to take over . However, you still get the theme system, form API, and other subsystems loaded on each request .
  • Where we want to go is something like this. The plan for Drupal 8 is to allow Drupal to natively serve all kinds of requests . For example, JSON to an autocomplete field , or XML to a mobile application . Make Drupal a first-class REST server .
  • We plan to borrow a lot from the Symfony framework , which is already architected this way. Just * yesterday* , patch went in to re-work index.php to use HttpKernel and create a central Request object which holds contextual details . Exact impact on module developers is largely unknown at this point , but expect lots of changes at least to hook_menu()
  • It’s common to have at least two separate environments for your Drupal site: a “ live ” environment that your end users view and interact with, and a “ dev ” environment for testing . Most of configuring Drupal is pointy-clicky . That’s why we love it! The problem is, those clicks are saved to the database, alongside your site’s content , and there’s no separation between the two.
  • A variety of solutions have emerged to solve this problem, including CTools exportables, Features, update hooks, and the good ol’ “napkin” approach where you write down everything you did on dev and re-do it on prod by hand. :P Because configuration is scattered all over different APIs and subsystems , it’s difficult to manage, and none of the solutions that exist today solve the issue holistically. Variable system can get abused because the entire contents are read into memory on every request so they are available at all times.
  • asdasd sdsad Learn more at 3pm today!
  • If you’re curious about ALL of the API changes in Drupal 8, you can find a big list of them here .
  • Here are the contributors to Drupal 8 so far ! Let’s give them a huge round of applause ! And remember, kids: Drupal needs YOU, too!
  • Burn out People working on toughest problems in Drupal , but feel like they’re not getting enough help.
  • Which means... It’s time to kick some ass in Drupal 8! This talk will hopefully give you the knowledge you need to understand what’s happening in Drupal 8 and where to jump in and help. (3 mins)
  • These are all the folks who helped contribute in a major way to this presentation.
  • Thanks for listening! Any questions? :)

Transcript

  • 1. hook_future_alter()A preview of Drupal 8, and how you can help.June 22,2012 - Drupaldelphia
  • 2. Agenda Drupal 8 timeline What’s planned for Drupal 8 for... End Users and Clients? Site Builders? Designers and Themers? Developers? How can YOU help?
  • 3. WaT? A Drupal 8 talk?!But I just started using Drupal 7!
  • 4. Drupal 8 Timeline Development Begins now Code freeze Mar 10, 2011 June, 2012 Feb 1, 2013Jan 5, 2011 Aug, 2013 Dec 1, 2012Drupal 7.0 Feature freeze Drupal 8.0
  • 5. Disclaimer: This stuff is actively undergoing development. 100% accuracy not guaranteed.
  • 6. Remember:None of this happenswithout YOUR help!
  • 7. Time to kickass withDrupal 8!
  • 8. In Development forEnd Users andClients
  • 9. Mobile
  • 10. Mobile 25X growth over next 5 years! All sitesAll CMS sites All Drupal sites
  • 11. What problems are we trying tosolve? Ooglay! :(
  • 12. Responsive Design - MobileFirst http://groups.drupal.org/node/232653
  • 13. Front-end Performance++ Source: http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/http://drupal.org/project/issues/search/drupal?issue_tags=frontend+performance
  • 14. How can I help? Lead John Albin Wilkins Issue tag mobile News http://groups.drupal.org/mobile IRC #drupal-mobile Every other Meetings Wednesday
  • 15. Authoring ExperienceImprovements
  • 16. Authoring experience timeline Authoring experience timeline Analysis Design Implementation phase phase phase Apr-May Jun-July Aug-Nov2012 2013 Dec 1 Feb 1 Aug Feature freeze Code freeze Release
  • 17. Content creation page++http://drupal.org/node/1510532
  • 18. Spark http://drupal.org/project/spark
  • 19. In-place Editinghttp://buytaert.net/spark-update-in-line-editing-in-drupal
  • 20. How can I help? Bojhan Somers & Leads Roy Scholten Issue tag Usability News http://groups.drupal.org/usabili IRC #drupal-usability Every other Meetings Monday
  • 21. Proposedchanges forsite builders
  • 22. MultilingualIt’s like i18n in core, but better
  • 23. What’s the plan forDrupal 8?
  • 24. What’s the plan for Drupal8?
  • 25. How can I help? Lead Gábor Hojsty Issue tag d8mi News http://groups.drupal.org/i18n IRC #drupal-i18n Every other Meetings Wednesday
  • 26. Blocks and Layouts (SCOTCH)It’s like Panels in core, but better
  • 27. What problems are wetrying to solve?Inconsistency; some stuffon page is blocks, othersspecial theme variables,and then “content” area.Only one (bendy) layout.Layout built “inside out”;blocks lack context ofoverall pageBlocks can’t be re-used inmultiple instances
  • 28. What’s the plan for Drupal8?Layout built “outside in”;necessary contextprovided to blocksEverything on page is ablock (or a layout, or anested layout)Blocks renderedindependently,supporting ESI caching
  • 29. UI? http://groups.drupal.org/node/227543
  • 30. What’s the plan for Drupal8?Panels in core; well, more or lessPage managerPlugins system - CToolsContent types, access, context, relationshipSee the code:http://drupal.org/sandbox/eclipsegc/1441840
  • 31. How can I help? Kris “EclipseGc” Lead Vanderwater Issue tag scotch News http://groups.drupal.org/scotc http://groups.drupal.org/scot IRC #drupal-scotch Meetings Every Friday, all day
  • 32. ViewsOMG Views in CORE!!!
  • 33. it People start using July 2011 ... 13 months!Surpasses DrupalSurpasses DrupalSurpasses DrupalSurpasses Drupal 6 6 6 6 Drupal 7 released Drupal 7 released Drupal 7 released Drupal 7 releasedFebruary 2012February 2012 January 2011 January 2011 solve? What problems are we trying to
  • 34. What problems are we trying tosolve?
  • 35. What’s the plan for Drupal8?It already works - 8.x branches alive and kicking!Major parts of CTools in coreAPI hardening: Ensure configuration and plugin systemswork for Views’s use caseIncorporate Views UI patterns for core
  • 36. How can I help? Lead Earl Miles Issue tag vdc News http://drupal.org/community-initia IRC #drupal-vdc Meetings Every Friday, all dayhttp://www.angrydonuts.com/help-fund-views-in-core
  • 37. Changes for designersand front-end developers
  • 38. HTML5 Form Elements $form[telephone] = array( #type => tel, #title => t(Phone), ); $form[website] = array( #type => url, #title => t(Website), ); $form[email] = array( #type => email, #title => t(Email), ); $form[tickets] = array( #type => number, #title => t(Tickets required ), );
  • 39. Drupal 7 Drupal 8 <!DOCTYPE html><html<?php print $html_attributes; ?>> <head> <? php print $head; ?> <?php if ($default_mobile_metatags): ?> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width" /> <meta http-equiv="cleartype" content="on" /> <?php endif; ?> <title> <?php print $head_title; ? ></title> <?php print $styles; ?> <?php print $scripts; ?> </head> <body class="<?php print $classes; ?>" <?php print $body_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; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html <?php print $page_bottom; ?> </body></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 <body class="<?php print $classes; ?>" <?php print $body_attributes;?$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 >> <div id="skip-link"> <a href="#main-content" class="element-element-focusable"><?php print t(Skip to main content); ?></a> </div> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?></body></html> invisible element-focusable"><?php print t(Skip to main content); ??>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>><head profile="<?phpprint $grddl_profile; ?>"> <?php print $head; ?> <title> <?php print $head_title; ?></title> <?php print $styles; ?> <?php print ></a> </div> <?php print $page_top; ?> <?php print $page; ?>$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 <?php print $page_bottom; ?> </body></html>$page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?></body></html>?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>><head profile="<?php <body class="<?php print $classes; ?>" <?php print $body_attributes;?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- >> <div id="skip-link"> <a href="#main-content" class="element-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> 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> <body class="<?php print $classes; ?>" <?php print $body_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> <body class="<?php print $classes; ?>" <?php print $body_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>
  • 40. Markup cleanup
  • 41. Standard Componentshttp://jacine.github.com/drupal/demo/
  • 42. Twig Drupal 7 Drupal 8 region.tpl.php region.twig <?php if ($content): ?> <div class="<?php {% if content %} <div {{ attributes }}> print $classes; ?>"> <?php print $content; ? {{ content }} </div>{% endif %} > </div><?php endif; ?> %} ?> %} ?>http://symfony.com/doc/current/book/templating.html http://drupal.org/node/1499460
  • 43. Changes for coders 01110111 01101001 01101100 01101100 00100000 01100011 01101111 01100100 01100101 00100000 01110000 01101000 01110000 00100000 01100110 01101111 01110010 00100000 01100110 01101111 01101111 01100100
  • 44. Warning:Things are about to get...geeky.
  • 45. Web Services (WSCCI)It’s like Servicesmodule in core, onlybetter.
  • 46. What problems are wetrying to solve?
  • 47. What problems are we trying to solve?
  • 48. What’s the plan for Drupal 8? Tutorial:http://fabien.potencier.org/article/50/create-your-own-framework-on-top-of-the
  • 49. Web Services Lead Larry “Crell” Garfield Issue tag WSCCI News http://groups.drupal.org/wscci IRC #drupal-wscci Every other Meetings Tuesday
  • 50. Configuration ManagementIt’s like Features module in core, only better.
  • 51. What problems are we trying tosolve? node/4 node/4 Danger !
  • 52. What problems are we trying tosolve? variable_set() variable_get() db_select() hook_update_N() db_update() db_delete() $conf[...]; drush fu ctools_export_object() ctools_export_load_object()
  • 53. What’s the plan for Drupal8?http://heyrocker.com/how-use-drupal-8-configuration-system
  • 54. What’s the plan for Drupal 8?http://heyrocker.com/how-use-drupal-8-configuration-system
  • 55. ConfigurationManagement Greg “heyrocker” Lead Dunlap Configuration system Issue tag News http://groups.drupal.org/cmi IRC #drupal-cmi Every other Meetings Tuesday
  • 56. Other stuff PSR-0 Getting OOPy with it! Entity API++ More fasterer testbot! File/Media API improvements and more!
  • 57. Gotta catch ‘em all! http://drupal.org/list-changes
  • 58. Huge round of applause ...to Over 600 contributors
  • 59. Obligatory picture of scary clouds and direwarnings...
  • 60. Join us! Tuesdays and Wednesdays in #drupal ★ Hand-holding for all of your newbie questions! ★ Tasks for non-coders as well!http://drupal.org/core-mentoring-hours Fridays in #drupal ★ Work on most important tasks for each initiative with really smart people.http://drupal.org/core-windsprintsAnytime, in #drupal-contribute on IRC!
  • 61. Most Important Stuff http://drupal.org/community-initiatives/drupal-core
  • 62. Time to kickass withDrupal 8!
  • 63. Slide Credits Angela “webchick” Byron Kristof De Jaeger Jen Lampton Dries Buytaert Gábor Hojtsy Larry Garfield
  • 64. Thank you!Questions? :)