PreviousNext: What if? Pitching for a Decoupled Layout Builder
It’s time to transform and improve the Layout Builder UI experience. What if we could rewrite it using React? Check out our video pitch (made using React), which received the highest average rank in the Pitch-burgh contest at DrupalCon!
by lee.rowlands / 6 June 2023At PreviousNext, we enjoy getting curious, tackling challenges and finding innovative solutions for our clients and the wider Drupal community. This constant drive for the future is why we’re such prolific contributors to the Drupal project.
What if we used our curiosity and expertise to explore the concept of a decoupled Layout Builder?
The Pitch
Simply put, we believe creating a better experience for the Layout Builder user interface is possible. Getting there would mean leveraging a modern Javascript framework, like React, that communicates with Drupal over JSON.
We would plan to design an API that describes the future state of how a Decoupled Layout Builder could work, dramatically enhancing the content editor experience and bringing Drupal into the modern era of web UX. It would also strengthen Drupal’s reputation with marketers.
The case for an improved Layout Builder user experience
What if Layout Builder could move forward? It’s currently built with Drupal technologies that haven't significantly progressed in ten years.
Page edits use Drupal's AJAX API, which requires a round trip back to the server to perform UI updates. The server updates state on the server side and then returns a series of Javascript commands to update the page state.
This round trip is inconsistent with the instant experience users expect from the modern web.
Our solution
Applications that leverage modern Javascript frameworks perform optimistic updates. They update the UI immediately and then update state on the server in the background.
We want layout retrieval and updates to happen in real time for more dynamic editing. To achieve this, we would rebuild the Layout Builder UI using React and identify the pain points.
This would be a significant jump, similar to the change to the block-based editor in WordPress.
Rather than starting from scratch, we could leverage a lot of prior art from the WordPress community. However, we would also bring our strengths into play, retaining our uniquely Drupal focus on structured data instead of serialising to HTML.
Proof of concept
React is the best and most obvious option for the proof of concept. It was selected as the framework of choice for Drupal core development and has a large ecosystem. It was also successful in helping set WordPress up for the future.
What if it’s Drupal’s turn next?
To retain structured data, it would be necessary to provide React versions of our existing formatters and widgets and a way for developers to create their own.
This approach would require a Javascript way of declaring layouts. Again, we could take a lot of this from existing layout plugins but would require a React component for the HTML representation.
We would also need to incorporate a Javascript way of declaring blocks. Much could be derived from our existing structured content modelling. However, assuming there would be a build step where this data is used for scaffolding Javascript code is reasonable.
JSON:API could be leveraged where possible, but we envisage needing to make new JSON endpoints for data that doesn't map to entities.
Once we had achieved a non-twig way of rendering widgets, formatters, blocks and layouts, we could keep the layout state in the browser, mutate it immediately and persist to the backend in the background.
Is a decoupled Layout Builder feasible?
There are a number of hard problems we'll need to solve here, such as how we allow modules to ship Javascript that relies on bundling, how we ensure there's only one version of React loaded into the page, and how we allow modules to rely on other packages from npm. Solving those will be a big part of this work, and even if a React-powered Layout Builder doesn't make its way from experimental to stable, the lessons learned in the process could solve some long-standing hard problems for Drupal in the front end space.
React in video
We decided it would be a fitting way to demonstrate how powerful React is by using it to make our Pitch-burgh video submission.
We received the highest average rank when the video was shown during the Driesnote address at DrupalCon Pittsburgh, and look forward to the next steps for this exciting concept.
Huge shout out to the team who worked on creating the pitch video especially the wizard of words Fiona, frontend Guru Jack and the excellent QA and GIF selection from Kim and Tina.
Enjoy!
Talking Drupal: Talking Drupal #402 - ECA
Today we are talking about The ECA Module with Jürgen Haas.
For show notes visit: www.talkingDrupal.com/402
Topics- What does ECA stand for
- What does ECA do
- Is ECA a replacement for Rules
- Team
- Hardest feature to implement
- Performance
- What is BPMN
- Using the module
- When wouldn’t you use the module
- Roadmap
- Helping with ECA
- Bpmnio
- BPMN
- Camunda
- HTTP Client Manager
- ECA Video Stream/Library
- Sessions and link to the live stream will be pre-announced in the #ECA channel on Drupal Slack, at the latest an hour prior to the event. It is held on Fridays 3pm CEST/1pm UTC/9am EST/6am PST
- ECA Guide
Jürgen Haas - www.lakedrops.com @jurgenhaas
HostsNic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi
Matt Glaman: Retrofit: Running legacy Drupal 7 code on your Drupal 10 site
I have had an idea for a few years. It is the greatest yet worst idea I’ve had for four years. Some 400,000 Drupal 7 sites report to Drupal.org through the Update module. Drupal 7's end-of-life is coming on November 1, 2023, and has been a continual topic of discussion.
The Drop Times: All Eyes on DrupalCon Pittsburgh
DrupalCon Pittsburgh starts today. The much-awaited event is hosted by the ‘Steel City,’ Pittsburgh. DrupalCon Pittsburgh 2023 comes with a bunch of hitherto unseen events and programs. From budding developers to pros, Drupal enthusiasts will converge in Pittsburgh to learn, relearn and contribute to Drupal.
Pitch-burgh is, of course, one of the most awaited events at DrupalCon. As per the reports, 35 submissions have been made to this shark-tank-inspired investment drive. The submitted ideas have demanded $507,500 in total. Also, the submissions came from all over the world, including Vietnam, Netherlands, Germany, Costa Rica, New Zealand, and Peru. Let us wait for the winners and their winning pitches.
A team from TheDropTimes (TDT) is there to cover the DrupalCon. If you see any of them wearing a tee with the TDT logo, stop them and ask them to feature you. Follow TDT for exciting stories from the DrupalCon venue.
That said, let us look at the most essential stories from the past week.
TDT has a few interviews coming through to you in connection with DrupalCon. As the first among them, Alethia Braganza, sub-editor, TDT, spoke to Renato Gonçalves, software engineer at CI&T. Renato is a speaker at the event. In the interview, he talks about his Drupal journey, career, and his contribution to the community. Follow this link to read the complete interview.
DrupalCon took to Twitter to announce the number of entries and amount received for DrupalCon Pitch-burgh. A total of 35 submissions with $507,500 was requested. Apart from learning valuable lessons from the sessions, the event offers a chance to gain Acquia certification. The attendees can test their knowledge and skills and earn an Acquia Certification credential at the DrupalCon venue.
Promet Source has published a new blog post that lists the important DrupalCon sessions connected with governments. Read the article to know more. ImageX has curated a selection of intriguing DrupalCon sessions specifically for Drupal developers.
In celebration of its 20th anniversary, WordPress hosted a private event on May 17, where co-founders Matt Mullenweg and Mike Little sat down with Drupal founder Dries Buytaert on stage at the Royal Society of Arts in London. Read our report about the interaction.
As the US celebrates LGBTQ Pride Month in June, Drupal Association has issued a statement restating its commitment to the rights of the community.
The Drupal Association has announced the addition of Alex Moreno to its team, a significant step in the organization’s ongoing commitment to becoming more globally diverse. An article published by Lullabot sheds light on why Lullabot actively contributes to the Drupal community and the benefits it brings to their organization.
A new community initiative launched by Drupalize.me aims to provide a supportive and inclusive environment for individuals involved in learning and working with Drupal, regardless of their membership status with Drupalize.me. A blog post published by Four Kitchens discusses how Yale University tackled the challenges of managing many websites and outdated Drupal 7 by implementing a new digital platform called YaleSites. In a recent blog post, ImageX examines how an open-source CMS like Drupal is bound to improve the website’s security.
The ‘Digital Experience Podcast,’ launched by Dropsolid, is a series of podcast episodes that cover topics like digital experiences, strategy, and technologies like Drupal, Mautic, Apache Unomi, and DXP ecosystems. Read more about it here.
In a significant new development, adding a new feather to Drupal’s cap, Syngenta and Genero have developed a web application to support the usage of agricultural drones. Acquia has released certification exams for Drupal 10 in Japanese. The Japanese version of the tests is available from May 30, 2023.
A recent article by Web Asmek discusses the uses and functions of PHP operators. Read our report on it. A blog post published by SystemSeed provides tips and tricks for finding the right Drupal maintenance partner. A recent blog post by Altudo puts forward a headless content management system (CMS) to solve the problem of website speed.
A recent blog post by Drupal Commerce Solution Architecture explored the complexities surrounding editing “placed” orders in Drupal Commerce websites. Tech blog iSpectra recently published a compelling blog post highlighting the top five reasons why Drupal should be considered a robust tool for mobile app development.
The June edition of A11yTalks is scheduled for the 14th Wednesday. This month’s topic will be ‘Accessibility First Thinking for Developers.’ A range of training programs from Promet Source is to commence from June 12 onwards. Drupal enthusiasts in Concord, North Carolina, and surrounding areas are to attend the monthly Drupal meetup, which will take place on Wednesday, June 21, 2023. The Drupal User Group Hamburg & Schleswig Holstein has scheduled the next of its monthly meetings for Thursday, June 29, 2023.
Sincerely,
Thomas Alias K,
Sub Editor, TheDropTimes
Peoples Blog: Why is Drupal Chosen by Large Organizations?
The Drop Times: Drupal Presented the Ideal Platform for Me to Work with; Renato Gonçalves | DC Pittsburgh 23
Community Working Group posts: Opportunity with the Drupal Community’s Conflict Resolution Team
Most people in the Drupal Community are aware of the role the Community Working Group (CWG) plays to support community health. For those of you who may not be, in short, the CWG is a group of volunteers from our community who come together to support the Drupal space to make it a healthy, productive environment that supports all its members. It consists of two teams: the Community Health Team (CHT) which acts as both a resource and works to develop and/or support community initiatives, and the Conflict Resolution Team (CRT) which is responsible for helping to uphold Drupal’s Code of Conduct and facilitate communication when tension arises. Read more about our charter. All members of the Conflict Resolution Team are now required to serve on the Community Health team prior to joining the CRT to ensure a well-rounded understanding of the initiatives and barriers faced within our community.
The Conflict Resolution Team members aim to serve no more than three years which means that we are frequently in need to recruit and onboarding new members to allow seasoned members to roll off into a Subject Matter Expert (SME)/advisory role.
Currently, the Conflict Resolution Team is looking to add one or two members to our team within the next three to six months or so. Do you or someone you know have a passion for sustaining the health and sense of psychological security within our community? If so, reach out to at drupal-cwg at drupal dot org to learn more. We’d love to talk to you.