Background
This initiative attempts to integrate a visual editing experience into core.
It proposes a way to combine the structured data approach of Drupal with drag&drop content authoring capabilities.
Problem
In his state of drupal presentation at DrupalCon Amsterdam Dries Buytaert outlined a major challenge that Drupal is facing while extending it's reach: Beginners are struggling with Drupal. Following this result of Acquia's UX study, he proposes a strategic track ("prioritizing the beginner experience") and the "WYSIWYG initiative".
The step learning curve of Drupal's structured data approach limits it's reach beyond the technical community. While initiative's like layout builder initiative are great first steps to limit the amount of code needed to implement a website, Drupal still falls short of providing fully graphical way to handle template and content.
While this can be achieved via several variations and extensions of WYSIWYG editors based on text fields, they all lack the the integration with Drupal's strucured approach to data and content.
Proposed resolution
I propose to integrate a visual editing module into core. The module should provide a editing experience using drag and drop elements, work within the frontend theme (advanced WYSIWYG) and store data structured to be reused among other parts of the website.
Part of a great beginners experience, especially for non-coding communities, is the ability to quickly reach a deployable, manageable and good looking website. A graphical user interface to quickly create and deploy landing pages would greatly increase the reach of Drupal and allow beginners and advanced users to implement great pages quickly and also reduce the complexity of dealing with frontend templating.
Process and where to find it
The initiative has a group here: https://groups.drupal.org/content-authoring-initiative
Major discussions should be happening in the group and summaries can be posted to this issue.
As there is a possible implementation at
https://www.drupal.org/project/pagedesigner →
, this could at a later time directly be integrated as an experimental module.
Proposal roadmap
A very rough (and ambitious) roadmap may look like this:
- Initial conversation, exchange as part of this issue and reaching consensus (see group): until Summer 2020 (Drupal 9.0.0)
- Integration of the resulting module as an experimental module: Summer 2021 (Drupal 9.1)
- Stabilization of the pagedesigner module: Summer 2021 (Drupal 9.2)
The roadmap is to refined after initial feedback.
Not in scope
This initiative is not dealing with:
- Layout building: The
layout builder →
already implements the high level templating for content types.
- Theming: This initiative is not concerned with theming a drupal website.
Related work
The Gutenberg module provides a similar user experience, although it does not integrate with Drupal's structured data and workflow.
Existing core features
To be extended.
Open core issues
TBD
Contributed projects
There is a contributed modules providing this functionality.
- Pagedesigner: Provides a field with a graphical user interface for frontend content editing and storage using custom entities. Supports translations and structured data, self contained within Drupal ecosystem.
Team and resources
- pvbergen / iqual GmbH: Pagedesigner maintainer, providing coordination and implementation resources
Signoffs
TBD
Signoffs needed
TBD
Signoffs given
TBD