Gutenberg 5.9 Brings Major Improvements to Block Grouping, Introduces Snackbar Notices

Gutenberg 5.9 is now available for those who are running the plugin to get the latest features on their sites. This release brings significant improvements to the grouping capabilities, allowing users to group and ungroup blocks inside a container block. Once placed inside a group, the blocks can be moved up or down within the group using simple up/down controls.

Nested blocks have also been improved so that users can click through to each layer to configure each and navigate to the deepest nested block.

Gutenberg 5.9 introduces “Snackbar” notices to communicate completed actions in the block editor UI that do not require further action.

The term “Snackbar” doesn’t adequately describe the way these notices behave. The concept was inspired by Material design and is traditionally used for providing brief messages about app processes at the bottom of the screen. Gutenberg’s new Snackbars pop up and disappear after a short delay, so the notice doesn’t have to be dismissed.

“For a distraction-free experience, all the notices used in the editor to inform about the post saving/publishing, reusable blocks creation and updates have been updated to use this new type of notice,” Gutenberg Phase 2 lead Riad Benguella said. He posted a gif demonstrating Snackbar notices in action:

This release brings several visual enhancements to blocks and UI components, including a redesign of the Table block placeholder, refactoring and consolidation of dropdown menus, and improvements the output of the Spacer block.

Gutenberg 5.9 contains more than two dozen fixes for bugs found in both desktop and mobile experiences. The editor took a slight dip in performance from the previous version, going from 4.8 to 4.9 seconds in loading time and 62.8ms to 66.3ms for keypress events. More than 40 people contributed to this release and approximately 15% were new contributors.

Drupal Gutenberg 1.0 Released, Now Ready for Production Sites

The Gutenberg module for Drupal, created by Frontkom, reached the 1.0 milestone earlier this month. It is the first stable release recommended for use in production with Drupal 8.x.

The 1.0 release removes the Gutenberg-JS dependency and uses Gutenberg core files directly. It is based on Gutenberg version 5.6.1, which was released in early May. The module boasts better handling for media files, adding support for title, caption, and alternative text. It also adds an “Allowed Blocks UI” to the content type admin UI, so administrators can restrict which blocks show up in the block selector.

“We’re now ready for production sites in the sense that we’ll be more careful with structure changes, will try to do update paths when possible, and will create automated tests for crucial functionality,” Frontkom project manager Thor Andre Gretland said. “We’ve solved the blockers for a stable release.”

Upgrading the module from RC-1 may require some extra steps, because it is a big jump, taking the Gutenberg library from 4.8.0 to 5.6.1. Users will need to update the database. It is also necessary to navigate to content types and click save to enable Gutenberg again so that it will begin storing the Allowed blocks in the database. If users get notices about invalid blocks, they are advised to try the Attempt Block Recovery option:

“It’s actually a rather large update,” Gretland said. “We were planning to add a couple of last needed features to release our 1.0 version, but ended up using the latest Gutenberg version with several new great features. We’re also using more of the Gutenberg Core, that we’ve been able to use before.”

The module still has one critical issue that Frontkom is working on. Reusable blocks are not working with the latest release. Users are getting a “this block is unavailable or deleted” message when attempting to insert a reusable block. In the meantime, those who require this feature can roll back to RC1 to get it working again.

So far the Gutenberg module has been well-received. It has been downloaded more than 12,000 times and 494 sites are reported to be using it.

Drupal’s Gutenberg module includes access to the Gutenberg Cloud library of free blocks. Although the library has been slow to gain contributors, it does contain several blocks that are helpful for creating page layouts, such as Content in Columns, Hero Section, Section Wrapper, Section Row, and a Feature Box block. Site administrators can also use the Gutenberg module in combination with Drupal’s new Layout Builder, which was introduced as a stable module to Drupal 8.7 core.

“We see a valid use case for mixing Drupal Gutenberg with the Drupal layout builder when you might want to create layout templates with the layout builder, and keep the actual content editing in Gutenberg,” Gretland said. “For example you could use the layout builder to define fixed byline elements for author and create date, but leave the actual content creation experience to Gutenberg.”

WebWash has a good video tutorial for Drupal users who want to learn how to configure the Gutenberg module and use it on the Page content type. It includes a walkthrough for common actions like uploading images, creating reusable blocks, and using the Gutenberg Cloud. If you want to see how Gutenberg can improve Drupal’s authoring experience without installing the module, check out the frontend demo of Drupal Gutenberg created by the team at Frontkom.

Former npm, Inc. CTO Announces Entropic, a Decentralized Package Registry

CJ Silverio, former CTO of npm Inc., gave a presentation at JSConf EU 2019 in Berlin earlier this month titled “The Economics of Open Source.” More specifically, she discussed the economics of package management as it applies to open source software, based on her unique perspective and experience gained in working for the company that runs the world’s largest JavaScript package registry.

Silverio tells the story of how npm gained official status and characterizes its success as a catastrophe for a centralized package registry and repository. Although centralization has some advantages for usability and reliability, success can be expensive when a centralized service becomes popular. She described the events leading up to npm’s incorporation in 2013. The registry was down more than it was up in October 2013 and npm needed money.

npm’s owner took seed funding from a VC firm and the Node project continued to give npm special privileges. Developers perpetuated this by continuing to use npm, as over time it had come to define developers’ expectations in serving JavaScript packages. Silverio discusses some of the consequences of npm coming under private control, how developers now have no input into registry policies or how disputes are resolved.

Presumably speaking from her intimate knowledge of the company’s inner workings, Silverio describes how VC-funding turned npm Inc. into a financial instrument.

“Financial instruments are contracts about money,” she said. “npm Inc, the company that owns our language ecosystem, is a thing that might as well be a collection of pork bellies, as far as its owners are concerned. They make contracts with each other and trade bits of it around. npm Inc. is a means for turning money into more money.”

Silverio contends that JavaScript’s package registry should not be privately controlled and that centralization is a burden that will inevitably lead to private control because the servers cost money.

Her sharp criticism of centralized package management leads into her announcement of a federated, decentralized package registry called Entropic that she created with former npm colleague Chris Dickinson and more than a dozen contributors. The project is Apache 2.0 licensed and its creators are working in cooperation with the OpenJS Foundation.

Entropic comes with its own CLI, and offers a new file-centric publication API. All packages published to the registry are public and developers are encouraged to use something like the GitHub Package Registry if they need to control access to packages. The project is just over a month old and is not ready for use.

“I think it’s right that the pendulum is swinging away from centralization and I want to lend my push to the swing,” Silverio said. The last decade has been about consolidation and monolithic services, but the coming decade is going to be federated. Federation spreads out costs. It spreads out control. It spreads out policy-making. It hands control of your slice of our language ecosystem to you. My hope is that by giving Entropic away, I’ll help us take our language commons back.”

Silverio’s Economics of Package Management essay is available on GitHub. Check out the video of the presentation from JSConf EU below. If decentralized package management gains momentum and becomes the standard for the industry, this video captures what may become a turning point in the JavaScript ecosystem and a defining moment for the future of the web.

BuddyPress 5.0 to Update Password Control to Match WordPress

BuddyPress 5.0 development began in December 2018 after 4.0.0 was released in November. The core BuddyPress team has not published a roadmap for what will be coming in 5.0, but features and fixes added so far can be found on GitHub in the commit log.

One noteworthy addition to the upcoming major release is that the BP Nouveau template pack is being updated to use the same password control as the one used in WordPress core. BuddyPress users will now be able to set their passwords using WordPress’ interface on the registration page and on the user’s general settings page.

Here’s what it will look like in the templates:

By default, BuddyPress will generate a strong password, but the user can still edit it, if necessary. If the user selects a password that is too weak, the submit button will be disabled until the user confirms they want to proceed by checking the checkbox.

BP Nouveau replaced the bp-legacy template packs in 2018, introducing JavaScript-powered templates, integration with the Customizer, and more layout options for BuddyPress navigation and component directories. As a result of the password control update, the src/bp-templates/bp-nouveau/js/password-verify.js template is scheduled to be deprecated and deleted in BuddyPress 6.0.0, so developers will want to take note if using the bp-nouveau-password-verify script as a dependency for custom password control implementations.

BuddyPress 5.0 also adds BP-specific debug into to the Site Health Info screen that was introduced in WordPress 5.2. This release will require WordPress 4.7 or greater for optimal compatibility and older versions will not be supported. Site owners running on older versions of WordPress have time to prepare.

Although the BuddyPress core team and contributors have put out several security and maintenance releases since version 4.0.0, regular project meetings have been sporadic in 2019. BuddyPress 5.0 was expected at the end of May but a new timeline may be discussed at the next meeting, which is tentatively planned for Wednesday, June 12.