octo on-site off-site update on d8 roadmap

40
1 D8 Roadmap and Initiatives An OCTO briefing Angie @webchick Byron Office of the CTO

Upload: angela-byron

Post on 28-Jan-2018

410 views

Category:

Technology


2 download

TRANSCRIPT

1

D8 Roadmap and InitiativesAn OCTO briefing

Angie @webchick ByronOffice of the CTO

2

Agenda– Who is OCTO? – The Drupal 8.5 roadmap– Status of initiatives– Ways to keep up to date– How to better communicate going forward

3

Who is OCTO?

RCM

4

Mark Intimidating Boss Man

ASH Creator of Beautiful Things

Leah Coordinator of ALL the Things

Dries Wearer of Many Hats

Scalers of Dries

Preston Roadmappin’ Renegade

Labs

Chris Count of Cutting Edge

Angie Product Management

UX

Emilie Unicorn of UX

Tim Layout Czar

Gábor Initiative Coordinator Coordinator

DecoupledWim REST Wrangler

Matt JavaScript Ninja Esquire

Ted Firehose of Code

Alex Butler of Consensus

Jess All Your Releases R Belong to xjm

5

– D8 Initiative Acceleration:– Development– Guidance/oversight– Planning/coordination– Sprints/Funding

– Ensuring releases go out on time & without breaking things (much)–“Next gen” R&D with augmented

reality, conversational interfaces, beacons

Our “core” missions:

Services we provide

6

Services we provide

– D8 Initiative Acceleration:– Development– Guidance/oversight– Planning/coordination– Sprints/Funding

– Ensuring releases go out on time & without breaking things (much)–“Next gen” R&D with augmented

reality, conversational interfaces, beacons

– Assisting with Acquia issues through diving in / connecting with right people in community– Driesnote/Engage visuals– Community Development– Thought Leadership– Technical Leadership– Keeping Drupal secure– Contribution mentorship

Our “core” missions: At no extra charge:

7

Drupal Community RolesCore committers

Core subsystem maintainers

Security Team

… and 70+ others.

… and 40+ others.

8

4,234 contributors. 12 of whom are in OCTO. :)

9

Overview of Drupal 8.5 product goalshttps://www.drupal.org/core/roadmap

©2017 Acquia Inc. — Confidential and Proprietary10

Migrate Media Layout API-First Workflow

Outside-In Out-of-the-Box JavaScriptFramework

Automated Updates

©2017 Acquia Inc. — Confidential and Proprietary11

#1: Migrate

12

#1: Migrate

–Drupal 8 no longer provides upgrade path between major versions.–Now, to move from D6/7 to D8,

need to do site migration instead.–Migration path still not stable as

of 8.4; represents a large D8 adoption blocker for existing sites.

– Stabilize the migration path. (Currently “beta”)– Stabilize the migration UI.

(Currently “alpha”)– Fill in missing functionality

in UI. (rollback/incremental migrations)

Why does it matter? 8.5 Goals

OCTO’s Role: Funding

©2017 Acquia Inc. — Confidential and Proprietary13

#2: Media

14

#2: Media

– #1 request in State of Drupal survey, 2016.– Contrib solutions exist, but

difficult to configure (similar to multilingual in D7)– Step 0 = Stable Media API

in core in 8.4; now contrib needs to leverage it.

– Port Media contrib modules to use core API.– Parity with File/Image

modules in core– Fix usability so we can show

the module to end users– oEmbed support (e.g.

YouTube videos)

Why does it matter? 8.5 Goals

OCTO’s Role: Funding

©2017 Acquia Inc. — Confidential and Proprietary15

#3: API-First

16

#3: API-First

– Decoupled builds taking off for our customers; big growth opportunity for Drupal/Acquia.– Drupal 8 shipped with REST

API since 8.0.0, but lots of holes.– Best practices in REST also

different now than in 2013.

– Fill in API gaps (files, config entities, translation support…)– Greatly expand test

coverage (97.4% complete!)– Better validation/permissions– Improved performance– JSON API in core (stretch

goal)

Why does it matter? 8.5 Goals

OCTO’s Role: Development

©2017 Acquia Inc. — Confidential and Proprietary17

#4: Layouts

18

#4: Layouts

– Dynamic layouts are expected functionality in CMSes today– Competing solutions in

contrib; difficult to configure.– Design for layouts in core

comes from “real-world” projects (Scotts, Pokémon) and is product differentiator.

– Custom Landing Pages (experimental)– Apply sections-based UI

to Field Layout (experimental)

Why does it matter? 8.5 Goals

OCTO’s Role: Development

©2017 Acquia Inc. — Confidential and Proprietary19

#5: Workflow

20

#5: Workflow

– “Save as Draft” is basic functionality in CMSes today– Workspaces offers product-

differentiating ability to create “collections” of content and stage to multiple environments– Pfizer using in “real world” and

donating multiple full-time engineers to getting into core

– Stabilize Content Moderation– Introduce content staging

via Workspaces (experimental)– Allow more revisionable

entities to be staged (terms, menu links, etc.)

Why does it matter? 8.5 Goals

OCTO’s Role: Guidance/Oversight

©2017 Acquia Inc. — Confidential and Proprietary21

#6: Outside-In

22

#6: Outside-In

– Mental model of most users = “change this from the front-end of my site”– Yet, Drupal requires

thorough understanding of IA to make changes to e.g. the site name, block placement

– Stabilize Settings Tray– Introduce generic Tray

component (done!)– Re-introduce ability to

place blocks on front-end as part of Block module

Why does it matter? 8.5 Goals

OCTO’s Role: Development

©2017 Acquia Inc. — Confidential and Proprietary23

#7: Out-of-the-Box Experience

24

#7: Out-of-the-Box

– Drupal does very poor job of “selling itself”—out of the box just an empty site that says “you have no content”– Solution: New install profile

with sample content + gorgeous theme to help evaluators understand Drupal’s capabilities.

– Create designs (done!)– New “Example” install profile

with sample content showcasing e.g. entity references, views… (experimental)– New theme, stylized to

example content (experimental)

Why does it matter? 8.5 Goals

OCTO’s Role: Guidance/Oversight

©2017 Acquia Inc. — Confidential and Proprietary25

#8: JavaScript Framework

26

#8: JavaScript

– Expected behavior of web interfaces is dynamic, immediate feedback; not server round-trip.– Core ships with substandard

tools: jQuery, Backbone, difficult to attract JS developers– Unless core becomes

opinionated, contrib can’t easily utilize modern JS best practices.

– Decide on JS Framework—React (done!)–Prototype simple UI (DB

Log) + complex UI (Layout Builder)– Address holes in theme

system, REST API to allow framework usage.

Why does it matter? 8.5 Goals

OCTO’s Role: Development

©2017 Acquia Inc. — Confidential and Proprietary27

#8: Automatic Updates

28

#8: Auto Updates

– Updates—especially core updates—are cumbersome, manual processes that require developer involvement. – This makes running Drupal

sites expensive, costing us customers, and preventing sites from being on latest security releases.

– Develop plan for automated security updates (at first)– Figure out how to

leverage Composer while not abandoning the UI

Why does it matter? 8.5 Goals

OCTO’s Role: TBD

29

So, your burning question…

What of that’s gonna ship in 8.5.0?

30

31

Core’s Uncertainty Principle

– Backwards compatibility + upgrade paths (for stable code)– High risk of making changes (200K+ sites) + shorter release cycles

== higher QA requirement– Peer-review + maintainer sign-off required– Committer availability– Strong consensus-based culture– Largely volunteer ecosystem– Holidays coming up, contributors have “families” and stuff, what!? ;)

Factors impacting “shippability” of code:

32

Places to stay informed

©2017 Acquia Inc. — Confidential and Proprietary33

#1: Know the release schedule. https://www.drupal.org/core/release-cycle-overview

©2017 Acquia Inc. — Confidential and Proprietary34

8.5 Supported releaseDevelopment Alpha

Beta

RC

Apr May Jun Jul Aug Sep Oct Nov Dec Jan 2018

Feb Mar Apr May Jun Jul Aug Sep

8.4 Supported releaseDevelopment Alpha

Beta

RC

8.6 Supported releaseDevelopment Alp

haBeta

RC

Oct Nov Dec

©2017 Acquia Inc. — Confidential and Proprietary35

#2: Keep abreast of forthcoming changes: https://www.drupal.org/list-changes/drupal

©2017 Acquia Inc. — Confidential and Proprietary36

#2: Keep abreast of forthcoming changes: https://groups.drupal.org/core

©2017 Acquia Inc. — Confidential and Proprietary38

#3: Understand what backwards-compatibility means. https://www.drupal.org/core/d8-bc-policy

©2017 Acquia Inc. — Confidential and Proprietary39

#4: Read the release notes for “gotchas.” e.g. https://www.drupal.org/project/drupal/releases/8.4.0

©2017 Acquia Inc. — Confidential and Proprietary40