1 D8 Roadmap and Initiatives An OCTO briefing Angie @webchick Byron Office 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
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.
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
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
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
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
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
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
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
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
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
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
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:
©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 Proprietary37
#2: Keep abreast of forthcoming changes: “8.5.0 release notes” and “8.5.0 highlights” issue tags
©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