Drupal 8 Core deeper dive

Michael - Schnitzel

Head Technology Amazee Labs

our journey

April 2014

amazeelabs.com in Drupal 8 Alpha

2 Languages

September 2014

drupal.com in Drupal 8 Beta

1 Language (yet)

January 2015

sgg-ssup.ch in Drupal 8 Beta
4 Languages

May 2015

amazee.com in Drupal 8 Beta

June 2015

gottardo2016.ch
Drupal 8 Beta - 5 Languages

August 2015

capetown2015.drupalcamp.co.za

Drupal 8 Beta

October 2015

mba.unisg.ch
Drupal 8 RC1

October 2015

socialmediagipfel.ch

Drupal 8 RC1

Currently

Moar!

Why Drupal 7?

TL; DR;

It works!

It's great!

You have to be creative

Nobody want's go back to Drupal 7

Editors

We didn't tell them ;)

And they didn't realize

They really like the new layout

REAL Previews

Multilingual

Everything!

Translatable out of Core

29 Modules

 

29 Modules

4 Core Modules

Entity Translation

Sitebuilding

Feels right & complete

Block instances & Custom Block Library are confusing

A lot of contrib missing

be creative

Custom Block + Entity References

Nodequeue!

Drupal 7 Sitebuilders pick it up in 2 hours

Configuration Management

The thing we've all waited for

No help on how to use

  • no workflow for dev > staging > prod
  • staging folder is confusing
    • it's sync folder now
  • active folder is empty
    • no active folder anymore

Merge CMI changes

Needs to happen in Git

export before pull!

really frustrating

let's fix!

use it

learn it

write about it

Backend

OOP all the way!

it's great

  • Entity API
  • Plugins
  • Services

No IDE?

No Drupal 8.

No Debugger?
No Drupal 8.

Most examples found online are obsolete

drupal.org/project/examples

Non Drupal Developers

Can start work right away

Frontend

Twig <3

No need for
Contrib Base Theme

base themes from Core: 

classy, stable, none

Hidden Superpower:

Extends & Blocks

Task

Remove the H1 on Frontpage

<div class="layout-container">

  <main class="layout-main" role="main">
    {{ messages }}
    {{ page.help }}
    <div class="layout-content">
      {{ page.highlighted }}

      {% block page_title %}
        {{ title_prefix }}
        {% if title %}
          <h1>{{ title }}</h1>
        {% endif %}
        {{ title_suffix }}
      {% endblock %}

      {{ tabs }}

      {{ page.content }}


    </div>{# /.layout-content #}

  </main>

</div>{# /.layout-container #}
page.html.twig
{% extends 'themes/sgg8/templates/page.html.twig' %}

{% block page_title %}
{% endblock %}
page--front.html.twig

Upgrades

before beta9:

hard

after beta9: 
Head2Head

drupal.org/project/head2head

  • patches for each Head

  • beta2beta

after beta15:
update.php in Core

RC Updates

almost nothing at all

Contrib

We're getting there

Drupal 8

Contrib Tracker

Fixing a module?

Contribute it back!

Migration

not done yet

 

easy migration

D7 Nodes -> D8 Nodes

200 lines custom code

You should all start using it

  • if its a new site
  • or if only need to migrate some content
  • if you don't need heavy contrib modules 

more?

groups.drupal.org/drupal-8-production-sites

</session>
<questions>

Drupal 8 Deeper Dive Drupalcamp Oslo 2015

By Michael Schmid

Drupal 8 Deeper Dive Drupalcamp Oslo 2015

  • 1,605