67
Drupalcamp Tallinn 2012 Kristjan Jansen Drupal 8

Drupalcamp Tallinn - Drupal 8

Embed Size (px)

DESCRIPTION

The status of Drupal 8 as of June 2012.

Citation preview

Page 1: Drupalcamp Tallinn - Drupal 8

Drupalcamp Tallinn 2012

Kristjan Jansen Drupal 8

Page 2: Drupalcamp Tallinn - Drupal 8

About meUsing Drupal since version 2.0

Worked on Drupal UX, theming and branding

Consulting, talking, blogging

Page 3: Drupalcamp Tallinn - Drupal 8

Drupal 8 timeline

Page 4: Drupalcamp Tallinn - Drupal 8

2012 20132011

Page 5: Drupalcamp Tallinn - Drupal 8

2012 20132011

Mar 2011 Dev.

started

Page 6: Drupalcamp Tallinn - Drupal 8

2012 20132011

Mar 2011 Dev.

started

June 2012 We are here

Page 7: Drupalcamp Tallinn - Drupal 8

2012 20132011

Dec 1 2012 Feature Freeze

Mar 2011 Dev.

started

June 2012 We are here

Page 8: Drupalcamp Tallinn - Drupal 8

2012 20132011

Dec 1 2012 Feature Freeze

Mar 2011 Dev.

started

June 2012 We are here

Feb 1 2013 Code

Freeze

Page 9: Drupalcamp Tallinn - Drupal 8

2012 20132011

Dec 1 2012 Feature Freeze

Mar 2011 Dev.

started

Aug 2013 Drupal 8 released

June 2012 We are here

Feb 1 2013 Code

Freeze

Page 10: Drupalcamp Tallinn - Drupal 8

Official initiatives

Page 11: Drupalcamp Tallinn - Drupal 8

Lets go back to Drupalcamp Tallinn 2011

Page 12: Drupalcamp Tallinn - Drupal 8

Core initiatives Configuration Web Services

Design Internationalization

HTML5

Page 13: Drupalcamp Tallinn - Drupal 8

Core initiatives Configuration Web Services

Design Internationalization

HTML5manymore

Page 14: Drupalcamp Tallinn - Drupal 8

Configuration Management

Page 15: Drupalcamp Tallinn - Drupal 8

Saving conf in Drupal 7// mymodule/mymodule.module

variable_set("mymodule_variable", 1);

Saving conf in Drupal 8// mymodule/mymodule.module

config('mymodule.config')->set('myvalue', 1)->save();

// mymodule/config/mymodule.config.yml

myvalue: 1

Page 17: Drupalcamp Tallinn - Drupal 8

Web services

Page 18: Drupalcamp Tallinn - Drupal 8

Drupal should generate output in any format

"Services in core"

Page 19: Drupalcamp Tallinn - Drupal 8
Page 20: Drupalcamp Tallinn - Drupal 8

Introducing...

Page 21: Drupalcamp Tallinn - Drupal 8
Page 22: Drupalcamp Tallinn - Drupal 8

Symfony is PHP framework

to create frameworks

Page 23: Drupalcamp Tallinn - Drupal 8

Modular object-oriented components for PHP 5.3

Page 24: Drupalcamp Tallinn - Drupal 8

Drupal only uses a small subset of components

Page 25: Drupalcamp Tallinn - Drupal 8

Historic commit: 1 June 2012

Page 26: Drupalcamp Tallinn - Drupal 8

index.php for many years

define(‘DRUPAL_ROOT’, getcwd());require_once DRUPAL_ROOT . ‘/core/includes/bootstrap.inc’;

drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

menu_execute_active_handler();

Page 27: Drupalcamp Tallinn - Drupal 8

use Symfony\Component\HttpFoundation\Request;define('DRUPAL_ROOT', getcwd());require_once DRUPAL_ROOT . '/core/includes/bootstrap.inc';

drupal_bootstrap(DRUPAL_BOOTSTRAP_CODE);

$kernel = drupal_container()->get('httpkernel');$response = $kernel->handle($request)->prepare($request)->send();$kernel->terminate($request, $response);

index.php in future

Page 28: Drupalcamp Tallinn - Drupal 8

What next?Cleanup and performance

New menu / router Event dispatcher vs hooks install.php and update.php

Page 30: Drupalcamp Tallinn - Drupal 8

Internationalization

Page 31: Drupalcamp Tallinn - Drupal 8

Mostly about cleaning up language APIs

Might use Symfony pieces

In works: config translation

Page 33: Drupalcamp Tallinn - Drupal 8

HTML5

Page 34: Drupalcamp Tallinn - Drupal 8

Most core templates converted

New HTML5 form elements

Page 36: Drupalcamp Tallinn - Drupal 8

And now the new initiatives

Page 37: Drupalcamp Tallinn - Drupal 8

Blocks & Layouts Everywhere

Page 38: Drupalcamp Tallinn - Drupal 8

Spin-off from Web Services

"Panels in core"

Page 39: Drupalcamp Tallinn - Drupal 8

groups.drupal.org/node/227543

Page 41: Drupalcamp Tallinn - Drupal 8

Mobile

Page 42: Drupalcamp Tallinn - Drupal 8
Page 44: Drupalcamp Tallinn - Drupal 8

Non-official initiatives

Page 45: Drupalcamp Tallinn - Drupal 8

PSR-0

Page 46: Drupalcamp Tallinn - Drupal 8

Cleanly separate procedural and object-oriented code

Support namespacing and class lazy-loading

Page 47: Drupalcamp Tallinn - Drupal 8

Drupal 7 module classesmymodule/mymodule.module

mymodule/mymodule.inc

Drupal 8 module classesmymodule/mymodule.module

mymodule/lib/Drupal/mymodule/firstClass.php

mymodule/lib/Drupal/mymodule/secondClass.php

Page 48: Drupalcamp Tallinn - Drupal 8

User experience improvements

Page 49: Drupalcamp Tallinn - Drupal 8

New create content page

Page 50: Drupalcamp Tallinn - Drupal 8

Latest overview in bojhan.nl

Page 51: Drupalcamp Tallinn - Drupal 8

Theming cleanup + Twig

Page 52: Drupalcamp Tallinn - Drupal 8

Drupal theming is a mess

Page 53: Drupalcamp Tallinn - Drupal 8

Some theme problemsNo consistency

Too many templates

Complex data structurea

Too much _process()ing

Page 54: Drupalcamp Tallinn - Drupal 8

Twig

Page 55: Drupalcamp Tallinn - Drupal 8

.tpl.php<?php if ($content): ?> <div class=”<?php print $classes; ?>”> <?php print $content; ?> </div><?php endif; ?>

.twig{% if content %} <div {{ attributes }}> {{ contents }} </div> {% endif %}

Page 56: Drupalcamp Tallinn - Drupal 8

Help out ingroups.drupal.org/theme-

development

Page 57: Drupalcamp Tallinn - Drupal 8

One more thing

Page 58: Drupalcamp Tallinn - Drupal 8

Views in core

Photo: Dries Buytaert

Page 59: Drupalcamp Tallinn - Drupal 8

Task listPSR-0 conversion

Re-use new configuration and plugin APIs

Convert (some) core views

Move some UI widgets to core

Page 61: Drupalcamp Tallinn - Drupal 8

Lots of smaller improvements

Page 62: Drupalcamp Tallinn - Drupal 8

All Drupal files under /core

Better Entity API

cron.php → cron.module

xmlrpc.php → xmlrpc.module

profile.module blog.module

Page 63: Drupalcamp Tallinn - Drupal 8

How to track all this?

Page 64: Drupalcamp Tallinn - Drupal 8

groups.drupal.org/core

Page 65: Drupalcamp Tallinn - Drupal 8

drupal.org/list-changes

Page 66: Drupalcamp Tallinn - Drupal 8

Again, all this happens only when YOU help

Page 67: Drupalcamp Tallinn - Drupal 8

Thanks!

kika.trip.ee twitter.com/kristjanjansen

facebook.com/kristjanjansen