Phase 2, week 4. Decision fatigue
(Image courtesy https://desktime.com/, distributed under Creative Commons)
Disclaimer 1: This is the second version of the article, first one was cut off after the first paragraph by automatic save functionality in LinkedIn
Disclaimer 2: Despite some negative opinions that you may see in this article, I have nothing but deep respect towards people standing behind modules/ecosystems that I mention below. Maintaining software is hard. Maintaining open source software, with geographically spread network of contributors, many of them contributing on their spare time - is hard by the order of magnitude. All I'm trying to do is to provide an honest (opinionated) feedback.
Now, let's start.
The goal for this week, as I mentioned previously, was to move the blog to Zodiac Zingers website. And since you're reading this article on LinkedIn, I failed!
I was looking for some user-friendly page editing experience in Drupal, that would be on par with or (preferably) better than the one provided by Linked: chunks of content, each can be edited individually, basic rich text editing, media etc. If that experience would be new for me - even better!
I performed a quick search, and today's typical choice seems to be summed up well by this reddit topic:
Why not panels?
I will go on and add another module to the mix - panels. Similar to other modules created by Earl Miles (ctools, views), panels started to introduce modern PHP patterns (should I mention the concept of plugins, for starters?) to the Drupal code years ahead core. Panels provided Drupal 7 site builders with paragraphs-like (and some unique) functionality, has Drupal 8 version, and still - there are new kids on the block that are more popular these days.
I know that page manager - one of the major consumers of panels API - recently suggested all users to switch to layout builder because all the functionality was merged there, but you can use another consumer - panelizer, or the combination of LB and panelizer.
Paragraphs
Designed as a quick and dirty solution, paragraphs module fulfills its promise to 100%. It is very easy to extend, and editing experience is decent. No surprise this module is very popular.
At the same time, some architectural decisions (approach to multilingual content, separate reference type instead of "regular" entity reference) make it almost certain this never gets into Drupal core (sometimes I think this was intentional).
Layout builder
LB is in many ways paragraph's opposite - it checks all the right boxes when it comes to architecture, uses "standard" blocks for the content, made it to the core quite quickly but... it doesn't fly.
User interface feels overloaded, idea of default/per entity layout confuses site editors (and what is layout discovery? Do we need to call our developers to manage this?), in-place editing is tricky if works at all.
Gutenberg
Coming from the WordPress universe, Gutenberg module impresses from the very first screen
it's clear why WordPress has its reputation of being end-user friendly. I can think of only 2 Drupal modules that make comparable additional effort to help the user - webform and AI (I'm sure there are more, I just haven't dealt with them).
领英推荐
Already mentioned reddit sums it:
Gutenberg provides an excellent user experience to page builders, but it doesn't do anything the Drupal way. It's great for building individual pages, but it's difficult to extend, and not good for site-wide layouts. And it requires nearly zero setup from the developer.
From all the contenders, this one sure looks the most attractive to me. Main downside - it's harder (yet possible) to extend.
Experience builder
XB is the most ambitious of all the contenders, and its aim is to combine the best of all worlds: the ease of use of Gutenberg, flexibility of paragraphs, integration with the core of layout builder.
This is exactly what we need. I like the underlying structure of layout builder and sdc, but our current UI is too hard to use for non devs. All the building blocks are in place to support XB.
Shall I try it? Another quote from reddit:
The only downside is that it will be another year for a full release.?
The latest published release of Experience builder has version 0.1.0-alpha1
I will repeat it, just to sink it in:
The latest published release of Experience builder has version 0.1.0-alpha1
When the Starshot initiative was proposed by Dries Buytaert in Portland, revolutionary new experience builder was its defining cornerstone.
6 months later, we see more mentions of AI agents, automatic updates, recipes and project browser - but less and less experience builder. Don't get me wrong, this still makes Drupal CMS 1.0 the best release we're getting - just for the different reasons. AI gets mature, automatic updates is a long-awaited feature, and recipes - something that I was skeptical about - have proven to make the site-planning choices easier (something that I missed a lot deciding on the editors' experience).
I do hope that Experience Builder stands to its ambitions and becomes stable. This would revolutionize the editing experience
The Drupal Experience Builder module will...
When the very first sentence in the project description on drupal.org changes from the future to present tense, I pledge to revisit.
Until that, my choice over React-based, Drupal-specific, unstable Experience builder is
React-based, platform-independent, stable Gutenberg editor.
I am going to make the final choice this week.
Human being. Multi-sided but integral.
3 个月Finally some sound voice from the Drupal unverse - Gutenberg is not that bad. Concerning that it does nothing in Drupal way or it's not extendable, i think you didn't look deep. I hope some day i will write finally an article on my experience with Gutenberg. I enjoyed it - as a developer (mostly React, but Drupal as well).