Hard Problems: Drupal 8 technical discussions at DrupalCon Prague

xjm's picture
2013-09-21 10:00 - 2013-09-29 18:00 Europe/Prague
Event type: 

To accelerate work on Drupal 8, we've scheduled nearly 20 technical discussions at DrupalCon Prague. These discussions focus on three key aspects of Drupal 8:

  1. Outstanding changes in major APIs
  2. Performance and caching
  3. Developer experience

(For background information on the current work being done on Drupal 8, see Drupal 8 APIs are freezing but not frozen and Why the big architectural changes in Drupal 8.)

The 'Hard Problems' table at DrupalCon Portland
Photo by Amazee Labs

The goal of these problem-solving sessions is to work through outstanding "hard problems" and blockers in each aspect of Drupal 8. If you're interested in participating in a discussion, you should already have a strong background in the topic. (If you'd like to contribute to the discussions but will not be attending DrupalCon Prague, the discussion can also be shared via a Google hangout on request; contact xjm.

The full schedule follows. Notes from these discussions can be found at http://bit.ly/prague-notes.

Saturday, September 21

Saturday discussions are held at the extended sprint venue.

(14:00 - 16:30) Configurable field hard problems and outstanding work

Discussion lead: yched

- Outline remaining work for configurable fields including bugs, architectural cleanup, and removal of the BC layer
- Identify hard problems / blockers and discuss
- Identify resources for remaining work and prep for sprint on Friday

(17:00 - 18:00) Widgets and formatters on base fields

Discussion lead: Wim Leers

- Discuss hard problems / blockers for getting widgets and formatters on base fields.
- From yched: Biggest question is how it affects "how widgets / formatters come into entity forms / view, and the future of the current (config-field only) field_attach_*()"

Sunday, September 22

Sunday discussions are held at the extended sprint venue.

(12:00 - 13:00) Get the config translation module in

Discussion lead: Gábor Hojtsy

Goals: (from Gábor): "Figure out what is left to do there; most of what was going on recently is trying to keep up with core APIs, but several hooks are not avoidable yet (e.g. hook_menu())."

(14:00 - 16:30) Entity/Field/TypedData DX

Discussion lead: Berdir

Goals: Outline outstanding work on Entity/Field/TypedData DX and brainstorm additional solutions.
- Typed Sanity.
- Better per-entity/per-capability interfaces.
- Settle Field class naming,
- Consistent terminology.
- What else can we do?

(17:00 - 20:00) Entity Field API hard problems and outstanding work

Discussion lead: fago

- Outline remaining work for the Entity Field API including bugs, architectural cleanup, and removal of the BC layer.
- Identify hard problems / blockers and discuss.
- Identify resources for remaining work and prep for sprint on Friday.

NOTE: Several related topics (outstanding work on configurable fields, widgets and formatters for base fields, and Entity/Field/TypedData DX) are already covered by earlier meetings and a discussion about multilingual field issues is scheduled for later in the week, so let's use this time for other topics.

Monday, September 23

Monday discussions are held at the DrupalCon Prague pre-sprint.

(10:00 - 12:00) Cacheability hard problems and outstanding work

Discussion lead: catch

Goals: There's a LOT of work left to be done. Circle back on the list of outstanding encapsulation-breaking things and determine what needs to be done on each of them. Come up with a sprint plan.

"D8 cacheability" issues: https://drupal.org/project/issues/search/drupal?status%5B%5D=Open&issue_...

Portland discussion notes: https://docs.google.com/a/acquia.com/document/d/1sgxD0l2OM91EqTekXryhdaX...

(12:15 - 13:45) Performance brainstorm

Discussion lead: catch

Goals: Talk about what we can do to fix Drupal 8's performance.

(14:00 - 15:30) Error handling and brittleness

Discussion lead: alexpott

Goals: Sites end up in unrecoverable states too often. "Reinstall D8" is our kneejerk reaction to anyone having problems. Brainstorm what to do.
- phpstorage remains problematic.
- Surface specific problems and file issues.
- Figure out how to capture issues in general.
- Come up with best practices for debugging.

Meta issue: https://drupal.org/node/2085231

(15:45 - 18:15) Routing/menu hard problems and outstanding work

Discussion leads: Crell, pwolanin

- Finalize plans to remove hook_menu().
- Remove the BC layer entirely to expose outstanding problems.
- List those outstanding problems. Figure out how to resolve them.

Wednesday, September 25

Wednesday iscussions are held in the coder lounge or a BoF room.

(10:00 - 14:00) CMI hard problems (and lunch)

Discussion lead: alexpott

1. Define/discuss hard problems. Key concerns: Upgrade path, data integrity
2. Assess outstanding work in CMI. http://drupal8cmi.org/
3. Group lunch!
4. Prep for sprint Friday.

(18:15 - 19:15) D8CX: Get contrib D8-ready

Discussion lead: xjm

Discussion goals: Brainstorm strategies for getting contrib ready for D8
- How do we make it easier for contrib to learn and upgrade to D8?
- Who can we get to work on training materials?
- Who can we get to work on tracking module upgrade status?

Immediately follows https://prague2013.drupal.org/session/upgrade-your-module-drupal-8 which can be used as a discussion starting point if you're available to attend that as well.

Thursday, September 26

Thursday discussions are held in the coder lounge or a BoF room.

(11:45 - 13:00) Fix Drupal 8's Developer Experience (DX)

Discussion lead: webchick

Goals: Based on findings from sessions like https://prague2013.drupal.org/session/we-need-teach-people-drupal-8.-now and https://prague2013.drupal.org/session/upgrade-your-module-drupal-8, come up with a plan of attack for tackling Drupal 8 Developer Experience challenges.

Note: There are meetings earlier and later in the week on the DX of annotations, dependency injection, and the entity API, so let's focus on other topics during this discussion.

(14:00 - 15:30) Multilingual field hard problems

Discussion lead: yched

Goals: Discuss outstanding difficult issues around multilingual fields
- https://drupal.org/node/2076445
- https://drupal.org/node/2067079
- https://drupal.org/node/2018685

(17:30 - 19:30) Field UI User Experience (UX)

Discussion lead: xjm

Goals: Come up with a plan & brainstorm designs for iteratively improving the field UI in D8.
- Making "Add field" a separate operation.
- Entity reference UX
- Comment field UX
- Hub-and-spoke
- Other topics?

Friday, September 27

Friday discussions are held at the DrupalCon Prague contribution sprint day.

(10:00 - 12:30) Upgrade path hard problems

Discussion lead: catch

Goals: Discuss hard problems and outstanding issues for the upgrade path.
- We desperately need to resolve installation issues on non-MySQL before we can even test the upgrade path on those environments: https://drupal.org/node/2001350, https://drupal.org/node/1998366
- Upgrade path test coverage is inconsistent.
- Prevent API use during upgrade path (upgrade module handler-like changes).
- Identify resources to work on outstanding issues.

D8 upgrade path issues: https://drupal.org/project/issues/search/drupal?status%5B%5D=Open&issue_...

NOTE: We should hopefully cover config and the upgrade path on Wednesday, so let's use this time for the other outstanding topics.

(12:30 - 13:30) Plugin discovery, annotations/metadata, and DX

Discussion lead: effulgentsia

Goals: Discuss DX questions regarding plugin discovery and metadata.

(13:30 - 14:30) Event discovery, DX, contrib usage

Discussion lead: msonnabaum

  • Discuss event discovery and DX.
  • Discuss how contrib will use events.

(14:30 - 16:00) Dependency Injection and the Developer Experience (DX)

Discussion lead: effulgentsia

Goals: Discuss our usage of dependency injection in Drupal 8 and its impact on the developer experience.

hard_problems.jpg101 KB