⬅️✌️➡️

h1

h2

h3

p italic bold

DRUPAL MOUNTAIN CAMP 🏔

drupalmountaincamp.matthewgrill.dev

ME 🤟

PHP

JavaScript

Matthew Grill

Senior Software Engineer @ DocuSign

/u/alwaysworking & @alwaysworking

History 📅

What/Why 🤷‍♀️

Future 👾

Contributors

28 contributors

72 forks

What is this thing?

This is an administrative UI for Drupal, built with JavaScript.

Why?

An environment to explore future focused ideas and concepts for Drupal's admin interface.

Guiding Principles 📃

Simplify ✅

Craft a redesigned, modern administrative experience for Drupal.

The Current Drupal UI is targeting everyone results in a suboptimal experience.

Targeting only content authors.

Embrace 🤗

Embrace workflows, tools, and practices familiar to existing JavaScript developers.

Make it easier for them to join the Drupal community.

History 🕰

DrupalCon Vienna

September 2017 🇦🇹

🎊 React 🎊

Initial Commit

February 2018 💻

node/2913321

What should we build?

What page does most everyone use?

Content Listing

CURRENT STATE OF THE DRUPAL ADMIN UI REDESIGN

SASCHA EGGENBERGER (SASCHAEGGI), CRISTINA CHUMILLAS (CKRINA)

11:00 - 12:00 @ Parsenn 🤟

Frontend United

March 2018 🇳🇱

Explore more content authoring interactions

Drupal Europe

September 2018 🇩🇪

✨ Future ✨

Contributor module ecosystem.

"Extension Points"

We are operating under the assumption that we can’t have an extra build step when you install a module.

Why?

Existing hosting providers.

CI/CD environments

Contrib modules should be able to build their own backend config pages in addition to extending existing config pages and define their own dependencies.

Two primary paths 🍴

Admin UI makes decisions about code bundling? ❌

Contrib module authors must bundle their code prior to release. ✅

🎉🎊

How do we get these files to the Admin UI 🤷‍♂️

Use Composer or existing Drupal libraries system? ❌

Use Admin UI support module & RequireJS ✅

What about routes?

Should we ask Drupal each time for routes?

No ❌

Routes are prefixed with their module name to avoid namespace accidents.

Problems 🙀

CORS

Problems 🙀🙀

Don’t use EVAL ❌

Shared dependencies can be difficult.

Success?

🎉

Questions?

Thanks! ⬅️✌️➡️