Phase 2, week 4. Decision fatigue

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.



Vadim Valuev

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).

要查看或添加评论,请登录

Valery Lourie的更多文章

  • PHP was designed to die

    PHP was designed to die

    Latest #WordPressDrama has triggered another wave of predictions of near PHP death (and as a conclusion, suggestions to…

    2 条评论
  • Phase 2, week 3. Who's there?

    Phase 2, week 3. Who's there?

    This week's goal for Zodiac Zingers, as I mentioned in my previous post, was to install visitors statistics/analytics…

    1 条评论
  • Phase 2, week 2. Spread the word

    Phase 2, week 2. Spread the word

    Last week I fixed the site's homepage, changing it from a single horoscope card of the current sign (Scorpio as in…

  • Phase 2, week 1. Man in the middle

    Phase 2, week 1. Man in the middle

    How it all begun. "Man in the middle" could be my personal motto when it comes to politics (I place myself neither far…

  • Phase 1: complete

    Phase 1: complete

    Several days have passed without updates on my #ZodiacZingers challenge, but I have a good excuse - without experience…

    4 条评论
  • Day 8. Waiting for XB

    Day 8. Waiting for XB

    Read from the beginning One thing that I noticed yesterday, is that on the first load of the card page, it loads quite…

  • Day 7 ?Sprechen vous espa?ol?

    Day 7 ?Sprechen vous espa?ol?

    Read from the beginning Yesterday, I've made some modifications to the site theme. To check if those were effective…

  • Day 6. Not great, not terrible.

    Day 6. Not great, not terrible.

    Previous day and what's the deal. Dealing with the site theme is another "new feature" (for me it is) I'm trying in…

  • Day 5. Eat your own dogfood

    Day 5. Eat your own dogfood

    Previous day and what's the deal. As I mentioned on day 2, I use ddev for the local development.

  • Day 4. Making the first prediction

    Day 4. Making the first prediction

    On Day 3, I've evaluated 2 modules that will be in the heart of Drupal CMS: project browser and ai. Time to write our…

社区洞察

其他会员也浏览了