Introducing Drupal


Open Source North
matthewtift.com

Matthew Tift

logo

Senior Developer at Lullabot

Drupal core contributor since 2010

Drupal 8 config system co-maintainer

Twin Cities Drupal Camp organizer

Drupal

What is the same

What is new

What is the same?

Drupal is

a CMS

Drupal is

GPL

Drupal is

PHP

History

June 1995: PHP 1.0 Released

Jan 2001: Drupal 1.0 Released

Jan 2007: Drupal 5.0 Released

Jan 2011: Drupal 7.0 Released

Mar 2011: D8 Development Began

October 7: Drupal 8 Release Candidate 1

Drupal is

15 years old

Drupal is

huge

Drupal is

passionate people

Drupal is Pervasive

whitehouse.gov - weather.com - msnbc.com - nba.com

umn.edu - harvard.edu - opensource.com - patriots.com

syfy.com - bravotv.com - nbc.com - foxnews.com

ny.gov - transportation.gov - teslamotors.com - box.com

ge.com - puma.com - ncaa.com - grammy.com

What is new?

Backdrop

Drupal fork

1.0 released January 15, 2015

1.2 released September 15, 2015

Backdrop

Hosted on GitHub

Architecture is similar to Drupal 7

Has many Drupal 8 features

PHP Renaissance


First major PHP project to use FIG

PHP Renaissance


Write
less code

PHP Renaissance


Reuse
more code

PHP Renaissance


Share
more code

Drupal 8

borrows from many open source projects

Drupal 8

Behat

Composer

Doctrine

Guzzle

phpDocumentor

PHPUnit

Symfony

Twig

Zend

New template engine:
Twig

twig

Drupal 8

node.tpl.php
node.html.twig

Composer handles PHP dependencies

composer

Guzzle

HTTP client library

guzzle

Symfony handles web requests

Drupal 8

PHP 5.5.9 or higher

Drupal 8

PHP standards (PSR-4, namespaces, traits)

Drupal 8

classes, inheritance, interfaces, etc.

Drupal 8

has more than
200 new features

Drupal 8

is 5 years worth of development work

Drupal 8

has 3,000+ contributors

Drupal 8

has 15,000+ committed patches

Drupal 8

powers more than
400 websites


Even big ones, like the
Memorial Sloan Kettering Cancer Center

Key Improvements

Mobile

Usability

Configuration Management

Multilingual

Web Services

All Drupal 8 themes are responsive

Classy

Bartik

Stark

Seven

Usability

drupal books

CKEditor

ckeditor core

CKEditor In Core


ckeditor core

In-Place Editing

in place editing

Form Editing

edit screen

DEMO EDITOR

Tour Module

tour module

DEMO TOUR

Select Multiple Files

file selector

Multiple Upload

select four files

Drupal 8
Configuration Management

D7 Problem:

No good way to move Drupal configuration information between environments

D7 Problem:

Every module stores its configuration data in a different format

D8 Config API

Provides a central place for modules to store configuration

Configuration for Developers

Configuration data provided in YAML


              id: html_date
              label: 'HTML Date'
              status: true
              langcode: en
              locked: true
              pattern: Y-m-d
            

.info ➙ .info.yml

CMI DEMO

Drupal 8

Multilingual

Photo: Fluss

D7 Problem:

Not possible to remove English

Manually download language files

Translating description, alt, title, tags

Bazillion modules needed

Choose Language on First Screen

94 languages available

First Screen

English is now optional

Installation Language

Automatic Translation Importing

Automatic Translation Import

Easier right to left styling

Automatic Translation Import
drupal8multilingual.org

Views in Core

views in core

No Wait for Views

views in d7

Homepage is a view

homepage

Content and People Pages are views

content and people pages
mind blown

Drupal 8

Web Services

D7 Problem:

Drupal assumes it will be delivering a blog-like HTML page

The Web Services and Context Core Initiative (WSCCI) aims to transform Drupal from a first-class CMS to a first-class REST server with a first-class CMS on top of it

Drupal 8 is a web service

REST/serialization support

Expose any View as a serialized resource collection

WSCCI DEMO

Other Goodies

Photo: Bryan Ochalla

New Fields

Date

Email

Link

Reference

Telephone

Unit-Testable Code

Dependency Injection Container
helps make code more unit testable

Modules in /modules

Themes in /themes


/sites/all/ is still supported

Anthony Ferrara (ircmaxell)

d8 cyclomatic complexity
d8 is awesome

Drupal 8

more object oriented, but still many hooks

Drupal 8

HTML 5-based page markup

Drupal 8

No JavaScript loaded by default

More on Drupal


"The Cultural Construction of Drupal"

(May 2015)


"Better, then Bigger: Cultivating the Drupal Community"

(Sept. 2015)

More on Drupal


drupal.org/drupal-8.0

 


drupalize.me/drupal-8

 

TCDrupal

Four Monthly Meetups

D8 Play Date: Nov 7


Slides

talks.matthewtift.com/osn

TCDrupal

TCDrupal.org

groups.drupal.org/twin-cities


Slides

talks.matthewtift.com/osn