Development News

WPTavern: Gutenberg 8.1 Includes Block Copying, Testimonials Pattern, and Patterns UI Update

Wordpress Planet - Fri, 05/15/2020 - 20:04

On Wednesday, the Gutenberg team released version 8.1.0 of the plugin. The update includes a new block-copying feature, block pattern search, testimonials pattern, and API changes. The new version does not add a lot of major user-facing changes but improves the experience overall.

The update included two dozen bug fixes and nearly as many enhancements. This release feels more like a solid update that addresses many minor items and nit-picks, such as the addition of black and white colors for the default color palette. The ability to paste a document into the post title input, which gets transformed into proper blocks, works great too.

One nice improvement is the ability to transform the HTML block to the Code block and vice versa. File this one under why has this not already been possible?

If you are following along with the Gutenberg plugin, there are some definite improvements to look forward to in this release, particularly around the block patterns feature.

Copy Blocks with Ease Copying a pullquote block.

Admittedly, this is quickly becoming one of my favorite features of Gutenberg 8.1. The editor toolbar now has a copy button, which allows end-users to copy one or more blocks at the click of a button. It is tucked under the “more rich text controls” dropdown menu.

To use the new copy feature, simply select the block or blocks you want to copy. Then, click the copy button. From that point, the block can be pasted back into the editor.

For theme authors, plugin developers, or anyone who wants to share the code for a block, copying a block also produces the HTML that can be pasted into a text editor. No more switching to the code view of the editor and hunting down the HTML you want to copy. For example, the pullquote copied from the post in the above screenshot produced the following HTML when pasting into my text editor:

<!-- wp:pullquote {"align":"wide"} --> <figure class="wp-block-pullquote alignwide"><blockquote><p><span class="rtex-highlighter-0">What has the Duke of Devonshire? The only great instance that I have ever known of the enjoyment of wealth was, that of Jamaica Dawkins...</span></p></blockquote></figure> <!-- /wp:pullquote -->

This should make it easy for developers to copy the code of their custom block patterns.

Testimonials Pattern New pattern for testimonials.

The team added to its growing collection of block patterns with the addition of the Testimonials pattern. The new pattern brings the library to eight in total. It is unclear which patterns will launch when the feature lands in WordPress core. It is still under heavy development and is experimental.

The Testimonials pattern is one of the more complex patterns the team has introduced. It is a mix of groups, columns, images, and paragraphs. At points, the blocks are six levels deep.

Overall, it worked well among the various themes I tested it against with custom block styles. Visually, it is not inspiring, at least in comparison to what a good designer can do with a testimonials section, but it is a solid stepping stone on the way to more interesting layouts.

Inserter UI Adds Search and Titles Search for block patterns via the inserter section.

Crossing off two out of three big wish list items from my Gutenberg 8.0 post, the team added search functionality and reintroduced the pattern titles below each pattern in the inserter. These are major improvements. The only item left on my list is for the team to introduce a categorization system for patterns.

The search box switches from searching for blocks to patterns once clicking on the patterns tab. The one issue is the search label and placeholder reads “Search for a block” in both instances. Instead, it should read “Search for a pattern” when searching patterns.

With my wish list nearly fulfilled for block patterns, I have one more item to add. I would like to see the team introduce slash commands to insert patterns. Typing /testimonials should provide users the option to insert the new Testimonials pattern without clicking the inserter button.

Developers: Block Patterns API Changes

The Block Patterns API methods of registering and unregistering patterns have changed. In previous versions, developers used the register_pattern() and unregister_pattern() functions. These have been deprecated. Beginning with 8.1.0, developers should update their code to use the register_block_pattern() and unregister_block_pattern() functions.

This API change is welcome. It is needed for clarity. However, this sort of API change, even on an experimental feature, is one of the many things that frustrates developers who are attempting to keep up with the project. It is especially frustrating when the discussion was originally opened when the feature was first merged. Naming things is hard. It is one of the hardest things to do in programming, but good naming schemes can also be the difference between great software and poor software. There should be more careful thought and thorough explanations when these issues pop up in tickets.

Digital Echidna: Thoughts on all things digital: Drupal Modules as Solutions, Toolkits and a Middle Way

Main Drupal Feed - Fri, 05/15/2020 - 11:05
There is a lot of excitement in the Drupal community about the pending release of Drupal 9. In particular, one of the most appealing elements is how the transition to Drupal 9 promises to be the easiest major upgrade in more than a decade. In…

Droptica: Drupal in Search of the Best Editorial Experience

Main Drupal Feed - Fri, 05/15/2020 - 07:28

The editorial experience becomes more and more important for each CMS. Users want more control but easier interfaces. In Drupal, one of the biggest and most popular OpenSource CMSes on the market, the search for the best experience continues until today. Various approaches are tested by the community and with each edition, some new approaches are investigated and some are abandoned. From the perspective of a Drupal agency, it is quite interesting to watch this process unfold.

Let’s explore how Drupal editorial experience got to where it is today and where it is heading.

Drupal beginnings

Initially, Drupal pages were built on nodes. Think of a node as an article or page in a typical CMS. A node had a Title and a Body. You titled the node and inserted all the content in one big text field. Typically people would type in the body field the content of the page - this would be mostly text, but you could stick anything you like in there (HTML, images etc) Quite quickly people incorporated WYSIWYG editors into the body (CKEditor, TinyMCE and other ones were integrated as community-contributed modules). You could now author a quite complex page without knowledge of HTML.

The WYSIWYG’s were so popular, that in Drupal 7 CKEditor was added into Drupal core.

On the database side, everything  was still quite simple. A node table with title and an additional table for the body. That is how Wordpress stayed pretty much till today. In Drupal however, the evolution continued. 

Drupal 6 - the domination of CCK & templating

At the time of Drupal 5, an initially small module was created, which in Drupal 6 completely changed the rules of the game (the Content Construction Kit module, aka. CCK).

CCK was a contributed module which allowed to add additional fields to nodes. This does not sound too exciting, but it was. The absolutely brilliant CCK module allowed users to add various fields (number, text, bool, select etc) and it was creating a separate database table for each field. The table field was matching what you wanted to store in it (A decimal, a float, a varchar, a text etc). On top of that, it was adding the field to the default content form. 

This was magnificent because you could create a form with multiple fields and then display the data in a template pre-built by the developer (an image on the right, stats on the left, long tests at the bottom -- that sort of thing). This is how one was building pages in Drupal. The editor did not have to ‘design’ the layout in WYSIWYG anymore. You could just fill in a form with fields and the template took care of the rest. 

Moreover, you could now query in SQL for particular nodes by the field content. Eg. if you created a City node type and added a population decimal field to it, you could search for all cities with a population larger or smaller than a set amount. 

Very quickly after CCK, another module was created - the Views module. Views allowed users to build the queries in the admin interface. You could now create a list of cities ordered by population with a title and a teaser and some other data without the need to code anything. This was a massive breakthrough which allowed developers to create very compelling websites without writing a line of code. 

CCK was so popular that is was incorporated into Drupal in version 7 and Views followed in Drupal 8.

This is how Drupal websites were built for quite a while. Many are still built like this today.

Drupal 7 - First attempts at page layouts 

From Drupal 7 fields were considered a standard. Templating, however, was not sufficient for the community and clients. Drupal developers began searching for solutions to allow more control over the content display with just the UI.

The main reason for the search efforts is the way websites began to be built. The knowledge that an additional click reduces the chance the customer will get to the content was propagating. The approach of having a sidebar and dividing information into pages was no longer interesting. Long scrollable pages were born.

The advent of long landing pages with content in sections began somewhere in 2010. It was, however, the mobile that effectively killed the sidebar. You just could not fit a submenu in a sidebar on mobile. You now had to stick everything on one long scrollable page with multiple sections (scrolling on mobile is much easier than clicking links). And each section had to be interesting, compelling and different.

Drupal developers started to search for solutions on how to allow the editors to create sections on pages easier.

The initial solutions were:

  • Panelizer - a module based on another one (Panels) which was effectively taking over the node display. Instead of just fields, you could now design your page to include blocks, fields, static images, views and various other elements Drupal renders. Editors could override “the default’ predefined layout on a node by node basis. The solution was great and got a lot of traction in the Drupal world.
  • Paragraphs - a bit late to the party on Drupal 7, paragraphs nonetheless made a splash. It started to gain popularity very quickly. The main reason for that was that it was bridging the 2 worlds: drupal form building experience and freedom to add blocks while maintaining ease of use for the editors, which the above solutions did not have. 
  • Context - Context a more general module, which gave users a mechanism for well - acting on contexts (eg what page you are on, what user or role you are etc. ) Using these conditions, one could add reactions (eg. show this block, set this setting). Context was very widely used for a while to arrange blocks on pages. If I am on this page, I want to see these blocks. The downside was you managed the layouts from a central location, needed admin privileges to manage the layouts and the UI was not straightforward. Not suitable for large websites.
  • Blockreference - a simple yet powerful module which allows referencing blocks from a node and effectively stacks them one over the other. This solution did not get a lot of traction.

Current state in Drupal 8 and onwards

Drupal 8, being a very big re-write of Drupal has evened out the playing field a little, allowing the community to vote again on what it thinks should be the approach to building pages. 

Blockreference did not get a D8 version, mostly because entityreference module was now in Drupal 8 core and blocks became references. One could theoretically build pages like this using what Drupal gives out of the box, but that did not catch on.

Context did not manage to gather a lot of usages in D8 and until today does not have a stable release.

Paragraphs - initial winner

The paragraphs module came out as a clear winner. It was stable very quickly and became the de-facto standard in Drupal 8 for over a year. With over 140k installations it now runs one-third of all the drupal websites. It is also worth mentioning that popular Drupal distributions created on Drupal 8 chose paragraphs as the base of their content editing experience. These would be in particular Thunder - distro for publishing houses and Droopler - for building corporate websites. 

Here is an overview of how paragraphs work in Drupal 8. A lot of work is also being done to further improve the editorial experience in the Experimental widget.

Panelizer moved to the core (became Layout Builder)

Panelizer took a different road. It lingered on behind paragraphs in term of the number of installs but because of its popularity in D7 work was underway to migrate it into Drupal core (just as CCK in d7). It was however only in Drupal 8.5 that Layout Builder became available (as an experimental module). At Drupal 7.8 it became stable. 

Layout Builder offers great flexibility and great promise, but the UI even as of writing still has a long way to go to be self-explanatory (one needs a bit of training as many things are not obvious). Also, there is no clear “best practice” as to how to manage content now and what should be composing the pages. Integrations are also lagging, most importantly with search modules. 

Currently, there is no clear winner and best practice is not established yet. There is the paragraphs module with 100k installations, multiple integrations and a clear UI. On the other hand, there is the Layout Builder which is in Drupal core, what is an incredible strength. 

Still, though there are many modules which did not stand the test of time and were removed from the core.

Gutenberg (a WordPress editor)

Last but not least there is the Gutenberg project. It is the newest of the interesting editors in Drupal. It was ported from Wordpress where it is the main editor.

Gutenberg is a React-based editor which takes over the whole editing experience giving the user a WYSIWYG like an experience. It differs in approach to Paragraphs and Layout Builder in that it does not store the layout or entities in the database, but it stores the generated HTML. You create the content with a WYSIWYG editor and the resulting HTML is saved. This makes it a true WYSIWYG readability of the content for machines (automatic updates or migrations of such content may be troublesome). Nonetheless, it continues to be integrated into Drupal better and better. With 900 or so installs it is by no means comparable to the two above but the speed of adoption is impressive. Check out a quick overview of Gutenberg in Drupal.

As you can see, there is no clear winner. Drupal community is still testing various approaches to building websites and empowering the editors. On the one hand, this is fantastic because competition helps the best solution win. On the other, the efforts of developers are spread over multiple various approaches, making progress slower. What is best? I do not know.


PreviousNext: Using the Drupal Diff Component in Custom Forms

Main Drupal Feed - Fri, 05/15/2020 - 04:30

Drupal 8 comes with a Diff component in core. It's mainly used for showing changes to configuration or content revisions. However, it can be used in other ways too. Here are some quick steps to show how to use the Diff component in your custom forms or controllers.

by Jibran Ijaz / 15 May 2020

One way Drupal core uses the Diff component is to show the difference between 'Active' and 'Staged' config. See \Drupal\Core\Config\ConfigManager::diff for more details.

Recently, I was building a form where I had to show the diff between two versions of an entity. The Diff component is designed as a stand-alone component that can be used to show the diff between any two arrays or strings. So why not use that in our own forms?

Here's a quick example:

use Drupal\Component\Diff\Diff; use Drupal\Core\Serialization\Yaml; $diffFormatter = \Drupal::service('diff.formatter'); $from = explode("\n", Yaml::encode($current->toArray())); $to = explode("\n", Yaml::encode($revision->toArray())); $diff = new Diff($from, $to); $diffFormatter->show_header = FALSE; // Add the CSS for the inline diff. $form['#attached']['library'][] = 'system/diff'; $form['diff'] = [ '#type' => 'table', '#attributes' => [ 'class' => ['diff'], ], '#header' => [ ['data' => t('From'), 'colspan' => '2'], ['data' => t('To'), 'colspan' => '2'], ], '#rows' => $diffFormatter->format($diff), ];

I hope this helps. Let me know how you have used the Diff component in your project in the comments!

Tagged Form API, Drupal 8, Diff Component

Lullabot: Lullabot Podcast: Update on Olivero: The Making of Drupal 9's New Look

Main Drupal Feed - Fri, 05/15/2020 - 01:42

Matt and Mike talk with Putra Bonaccorsi and host Mike Herchel about Drupal 9's new front-end theme, and its past, present, and future. 

WPTavern: Google Patches Critical Vulnerability in Site Kit Plugin

Wordpress Planet - Thu, 05/14/2020 - 22:39

In late April Wordfence discovered a critical vulnerability in Google’s Site Kit plugin for WordPress that would make it possible for any user on the site to gain full access to the Google Search Console without verifying ownership. Google patched the vulnerability and released the fix in version 1.8.0 on May 7, 2020.

Wordfence published a timeline of the vulnerability, describing it as a proxySetupURL disclosure:

In order to establish the first connection with Site Kit and Google Search Console, the plugin generates a proxySetupURL that is used to redirect a site’s administrator to Google OAuth and run the site owner verification process through a proxy. Due to the lack of capability checks on the admin_enqueue_scripts action, the proxySetupURL was displayed as part of the HTML source code of admin pages to any authenticated user accessing the /wp-admin dashboard.

The other aspect of the vulnerability is related to the site ownership verification request, which used a registered admin action that was missing capability checks. As a result, any authenticated WordPress user was capable of initiating the request.

Wordfence identified several ways a malicious attacker might use this vulnerability to the detriment of the site’s ranking and reputation, including manipulating search engine results, requesting removal of a competitor’s URLs from the search engine, modifying sitemaps, viewing performance data, and more.

The security fixes are not detailed in the plugin’s changelog on GitHub. It does, however, include a note at the top that states, “This release includes security fixes. An update is strongly recommended.” Google has not published a post to notify users on the news section of the plugin’s official website. Without Wordfence’s public disclosure, users may not know about the importance of the update.

Google’s Site Kit plugin has more than 400,000 active installs, according to Details of the 1.8.0 update are not available to users in the admin, since the plugin’s changelog is hosted on GitHub. There is no way for users to know that the update includes security fixes without clicking through to research. Due to the great deal of sensitive information to which attackers could gain access, users are advised to update the plugin as soon as possible.

WPTavern: Envato Launches Template Kits Marketplace for Elementor

Wordpress Planet - Thu, 05/14/2020 - 20:03

Watch out block patterns. There is an old player in town making the hard sell before you have even rolled out of bed. Envato just dropped a massive library of template kits for Elementor in your front yard.

Not to worry, the company plans to open things up for the block editor in the future. The Elementor page builder just makes the most sense right now. It was the first to market. It is mature and has a backing of 5 million users, many of whom will be accustomed to commercial upsells, and $15 million in recent funding. Financially, it is the smart play. The company can also test the waters of this new category of products before opening it to other page builders and the block editor in a proven market.

Envato, the company behind ThemeForest and other marketplaces for creators, launched over 200 template kits today to its large audience of end-users and site builders. The kits cover a wide range of niches. Everything from book authors to medical practices to restaurants is covered.

“Launching template kits is our latest response to the growing demand for page builders and customers looking for design inspiration that is simple and easy to apply to their website,” said Cameron Gough, General Manager of Envato’s Content team.

While this is not an official partnership between Envato and Elementor, at least not on paper, it further broadens the appeal of the Elementor page builder. It is sure to spur massive growth beyond its current 5 million users. If there is one thing Envato knows how to do and do well, it is selling products. When we questioned whether page builders would be able to compete in the long term with the block editor, the largest third-party theme marketplace is betting at least this one particular page builder can.

The marketplace is completely open. “We’re encouraging new and existing authors in the Envato community to create their own template kits and upload them,” said Gough. “It’s a great way to break into this market, especially at this early point.”

For site designers who have worked with Elementor, now is a great opportunity to submit a kit. You can set your own price — most kits range between $15-$30. The great thing is that designers are not responsible for building a full WordPress theme from scratch. Instead, they can essentially create multiple templates with a page builder, bundle them via the Template Kit – Export plugin, and cash in.

The interesting aspect here is that people with an eye for design and the skillset to build those designs in Elementor can sell their creations without learning to code.

What Are Template Kits? Template kits walk-through.

“A template kit is a collection of page and block templates or layouts, each with a similar visual style and typically focused on a particular niche,” said Gough. “See some of the examples in our launch collection like a restaurant, or a gym, or a web/design agency. You could liken it sort of the demo content layer that you can find in some premium themes.”

Currently, end-users must have a theme installed that integrates with the Elementor page builder for these template kits to work. After purchasing and downloading a kit, users can simply upload templates to their sites via the Template Kit – Import plugin.

Kits are merely a starting point. Users will need to fill in their custom content. They also have the power to change the design through Elementor’s built-in tools.

Envato launched the template kits marketplace on its ThemeForest website. The current 200+ kits are broken down into 22 categories, the most popular of which are Business Services, Food and Drink, and Technology Apps.

Example template kit screenshots.

Sales are already starting to roll in on launch day. There are no clear favorites at the moment with the top sellers hitting only two sales thus far. This should change in the coming days and weeks. The highest-priced kits tend to contain dozens of templates. Some kits, like Spring Watercolor and Floral, contain over 100 in the collection.

“We know many WordPress professionals that want a pre-packaged, fully functional website template may continue to favor our existing collection of WordPress themes,” said Gough. “But we increasingly see customers wanting to develop websites from a page builder foundation rather than a full WordPress theme. For these customers, template kits provide a leg up on design, and it’s important we continue to support those changing needs.”

For the launch, there is at least one free template kit called SaaSy. It is a SaaS and app landing page kit that includes 10 page templates and 26 block templates. It will be available for free until May 31.

SaaSy Template Kit – Live Preview

“We know that the WordPress world continues to evolve and respond exceptionally well to the changing needs of the wider web design industry, and you only have to look at Gutenberg as one example of how the platform is evolving to meet the increasing demand for easier tools that provide a leg up on website design,” said Gough.

“Couple this with the strength of page builders such as Elementor and others, plus a vibrant and active community of developers, hosting providers, and more, we think there’s never been a better time to provide a new and easier way to bring WordPress websites to life.”

Mediacurrent: How Digital Psychology and Personas Influenced the Area Alert Navigation

Main Drupal Feed - Thu, 05/14/2020 - 11:43

Mediacurrent designer Becky Cierpich recently discussed the UX choices and persuasive techniques used in designing Area Alert, our open source emergency site. Our VP of Technical Operations, Jay Callicott, also discussed the beta release of the distribution and how Mediacurrent has worked with Pantheon to provide a free public upstream and 90 days of free hosting for qualifying organizations looking to develop the site quickly and efficiently for their needs. 

This week, I’m excited to dive into the navigation choices we made for the distribution and how this can be best utilized when you are creating your site.

The Psychology Behind Our Navigation Design Choices

When you think about all of the information your site users need to get through the crisis at hand, you may be thinking about the emergency at hand and the people’s lives at stake. An intuitive navigation and establishing effective communication patterns may not be top of mind right away. However, your navigation should be a major factor into how your site is set up. 

We can empathize with this need and created a navigation on Area Alert that is framed around what your users are looking for when they enter your site; namely, they are focused on fulfilling immediate physiological needs (such as access to food or shelter) one might find in Maslow’s hierarchy of needs. We created a navigation that would meet the basic requirements someone might search for in a crisis.

Along with the design patterns chosen, the navigation follows a Z-shaped pattern in that we utilize negative space to the left of the logo and around the search bar to give breathing room to the top part of the site. As the Gestalt principles in design highlight, negative space can be used to improve composition, which is what informed us to allow for space between elements in the navigation. We followed that with topics most important to users based on reviewing information about past widespread emergencies. For instance, we included sections like Urgent Help after learning about how the public had limited access to information when Hurricane Harvey disrupted typical emergency communication methods in 2017.

Arrows in the navigation are expected visual cues and indicate subpages for the main topics to guide the user to find information most relevant to them. Users who are looking for information regarding a crisis are already in a heightened sensitive state, and ensuring that even the smallest elements of your design align with the expectations is critical in a reassuring experience.

Our Top-Level Navigation Topics

The top-level navigation topics reflect some of the most pressing needs related to the current crisis, especially in terms of public health. We felt it was important to leave space for people to self-select and choose a bucket of topics most important to them because at any given time they may be in various levels of need or explore topics based on different aspects of their lives. A working parent who has a young child may want to explore topics relevant to their child’s virtual learning one day, but the next may want information about how the current crisis impacts their job. 

We also employed digital psychology methods when thinking about the main ideas in our navigation—namely the Fogg Behavior Model. The model focuses on: 

  • Motivation - desire or willingness to do something

  • Ability - possessing the means to do something
  • And a trigger that compels us to take action

In order to understand users’ immediate needs and motivations, we reviewed several government sites, live press conferences, and user comments across social media to identify four main reasons for looking for content:

  • Urgency - Users may have been in a time of need or loss with no time to click around
  • General fact-finding - Users who went this route were typically validating something specific they heard about

  • Timeliness - Users may feel nervous and want to be informed on the latest

  • Authorative/Procedural - Users may be in a position of responsibility looking for guidelines and procedures relevant for their needs (e.g. an employer looking for guidelines relevant to his industry)

In general, we find that people using the site are likely highly motivated to find some of the top-level information, such as Urgent Help. In choosing this and other high-level topics in our main navigation, we have lowered the barrier of entry for users to take action through a consistent layout and sensible categorization of information. 

“Resources For” Dropdown

We chose the personas (Residents, Employees, Employers, and Students) in the Resources dropdown section because our research indicated these users would be the likely ones looking for information. 

In the current COVID-19 crisis, for instance, we know that many people have concerns about their employment situation and may want to know more about their rights. Employers are also an identified site visitor because they may be looking for information about how to keep their employees safe and this information may not be readily available from other sources. 

We also recognize that some people may fit multiple categories. For example, a parent may want to navigate to Residents resources for some topics to better understand overall community issues and to Students resources at other times for topics that impact their child’s education.

Public Health

In the current COVID-19 crisis, public health has been a major issue that site visitors are interested in learning about for their local area. Since mandates vary by locale and are being updated frequently, users may need a place to validate information they may have heard from family or on other channels. 

We developed the navigation to work fluidly based on the emergency at hand, with our current COVID-19 pandemic in the forefront of our thoughts. In other situations, this section may be a navigation item that can be customized to fit other needs for a particular emergency issue. 

All News

As a main level navigation, All News provides users access to timely news content that impacts everyone. We determined this was a necessary navigation item because as much as people may want to self-select, they may also wish to catch up on information quickly without often returning to the site. Adding All News into the navigation allows them to look at information quickly in one set area.

Urgent Help

Like All News, Urgent Help was developed with all personas in mind. We understand that people may be seeking information quickly, potentially experiencing loss or distress with little time or patience. They may not know where to start right away when they have an immediate need and this gives them a quick starting point. And just like the Public Health section, subtopics as part of Urgent Help may change depending on the particular emergency issue being faced at the time. 

We created Area Alert to be versatile, and content editors will be happy to know that if they wish, they can use other components, such as the accordion from the FAQ page, to make their Urgent Help page a quick resource with answers to questions users may have answered right away.

User-Focused Navigation Designed with You in Mind

Mediacurrent, a long-time contributor to open source, is committed to creating community-focused solutions to emergency situations, such as the COVID-19 pandemic currently happening worldwide. We would love to help you with setup or walk you through the demo so it works how you’re expecting when you use it. We aspire to help both organizations and municipalities seeking ways to help their communities in any way we can, so please contact us to answer any questions you may have regarding Area Alert.


Drupal blog: Drupal in COVID-19 Series: San Mateo County

Main Drupal Feed - Thu, 05/14/2020 - 10:55

Continuing our short series of articles highlighting ways that the Drupal software and its community are building solutions to help combat the effect of COVID-19, today we hear from Harish R. Rao of Interpersonal Frequency. Here, he describes their project at San Mateo County.

Under normal circumstances, a client asking for a new website “today” might seem laughable. But in the age of COVID-19, a quick turnaround on a new site could literally be a matter of life and death. In mid-March, San Mateo County, California reached out to the Interpersonal Frequency (I.F.) Solutions & Support team because their county, home to roughly 750,000 residents, had been one of the first in the U.S. to adopt a shelter-in-place order. The traffic on their county website had more than quintupled, and their current homepage was not working to convey vital and quickly evolving information in simple and accessible ways. 

Fortunately, San Mateo’s Drupal site was well-suited to the challenge. We knew we had the foundation for a solution, equipped to handle even a surge of visitors and able to support the rapid deployment of new content templates. 

We knew that our company was well-suited to the challenge, as well. Having collected aggregated analytics data and best practices from other civil emergencies, we understood the essentials needed, and we had clear indications of an urgent public need for COVID-19-related responses from municipal digital infrastructure. I.F. assembled a team of seven experts in content, user experience, and Drupal development. The team dove in to solve the specifics with the goal of supporting San Mateo’s residents and County staff as efficiently and effectively as possible. 

Our team worked with the client to marry best practices with their specific needs, such as clearly communicating and providing access to the public services still available online and breaking down information silos between government departments. We identified priorities and set out to provide a one-stop-shop for local COVID-19 updates that would be accessible, mobile-responsive, user-centered, and easy to maintain and update. We also set out to create a solution that could launch and assist the public even as the county was still developing new interior pages and that could morph to support new priorities as the situation evolved. We needed a site that would work now, next week, next month, and beyond. 

Drupal allowed us to address all of these goals. After a near round-the-clock effort over six days -- including a weekend -- we deployed. The design launched as a system of content cards that could be rearranged and repurposed as needed. It was purposely mobile-forward and flexible. The county has continued to shape and adjust the site as the situation and their priorities evolve, and you can see the latest iteration at

WPTavern: WordPress Contributor Andy Fragen Shares His Experience as a Trauma Surgeon During the COVID-19 Pandemic

Wordpress Planet - Thu, 05/14/2020 - 05:11

Last weekend I had the opportunity to interview Andy Fragen, a longtime member of the WordPress community and core contributor. He is also the author of the GitHub Updater plugin, which allows developers to enable automatic updates to their GitHub, Bitbucket, GitLab, or Gitea hosted WordPress plugins, themes, and language packs. In the video below, Fragen gives us a window into his world on the frontlines as an acute care surgeon.

After working his shifts at the hospital, Fragen returns home and voluntarily keeps himself in semi-isolation from his wife and kids. He spends his time working on his plugins and contributing to WordPress. In addition to improving GitHub Updater, he also recently became a maintainer for the core Site Health component and the WordPress Beta Tester plugin.

“I look at computer programming and stuff like that as puzzle solving,” Fragen said. “It’s an interesting way to occupy time and figure out something to do. We have a little aphorism in surgery: the enemy of good is better. I don’t necessarily stick to that in plugin development, because otherwise we’d be at a standstill. Things would never get better and never improve.”

During normal times when there isn’t a pandemic going on, Fragen enjoys attending local WordCamps in LA, Orange County, Riverside, San Diego, and Phoenix. When he first started getting involved with WordPress he decided if he was ever going to meet any of the people who make the software, he would have to get involved in some community events. He started sponsoring WordCamps so he could have the opportunity to meet the speakers and contributors, and then he was hooked.

When he’s not stitching people back together, Fragen can be sometimes be found leading the the core Site Health meeting. He tries to pop into the core development meeting when his schedule permits.

Durning our interview Fragen offered some good tips on navigating the many claims and conspiracy theories that are swirling around with the pandemic. The rampant misinformation campaigns have so far not affected his outlook as a healthcare worker.

“For the most part, when we’re working, we’re working, and we don’t necessarily pay attention to all the extraneous things that are going on around,” he said. “You’re in the moment and doing what you need to do to get the work done and take care of the patient.”

It has been months since he has been able to hug his wife and kids, but Fragen is maintaining a sense of normal by continuing his hobbies in isolation. Despite the increased requirements for PPE and vigilance at work, he said his training has prepared him for this time.

“It’s amazing what you can get used to,” Fragen said. “A lot of these things affect people in different ways. For better or for worse, some of these things never bothered me. The training is hard enough. Because of that, you learn to adapt a little bit better, I guess. When there are things happening, as I like to say, ‘If I’m having a bad day, someone else is having a worse one.’ You are there to take care of them and to fix them as best they can be fixed, if they can be fixed.”

Post Status: On static WordPress, with Miriam Schwab of Strattic

Wordpress Planet - Wed, 05/13/2020 - 23:16

Miriam Schwab is co-founder and CEO of Strattic, a business making a big bet on the future of WordPress — and in particular for using it to create static websites.

They recently raised $6.5 million dollars in an oversubscribed round. Strattic aims to enable the power and flexibility of a dynamic WordPress website like we all know, with the security and speed of a completely static website.

In this interview, Cory Miller talks to Miriam about her journey to this moment, the Strattic product, raising money, and more.

Partner: Yoast

This episode is brought to you by Yoast, the best WordPress SEO solution, hands down. You can upgrade to Yoast SEO premium, or take advantage of their great bundles that include outstanding training resources so you can fully take advantage of all the awesome tools Yoast SEO provides.

DrupalCon News: DrupalCon Global Announced

Main Drupal Feed - Wed, 05/13/2020 - 22:14
The Open Source Digital Experience Conference - Online Everywhere | July 14-17, 2020

WPTavern: Where Gutenberg Went Wrong: Theme Developer Edition

Wordpress Planet - Wed, 05/13/2020 - 20:19
Themes with block editor styles on

With full-site editing just around the bend, it is a fair question to ask whether the WordPress ecosystem is prepared for such a transition, particularly on the theme development side of things.

It is no secret that theme developers have struggled to keep up with the barrage of changes between Gutenberg plugin updates and, ultimately, major WordPress versions. It is also a fair question to ask who is steering the ship. Where are the site developers, theme authors, and other designers who spend every day crafting the front end of the web? Where are the forward-thinking solutions that make sure the project maintains backward compatibility?

There have been some efforts to mend the broken divide between the Gutenberg project and theme developers such as the fortnightly block-based themes meetings. However, those meetings, by and large, are general updates on things the Gutenberg team has already developed or will ship soon. Those meetings are a good stepping stone toward better communication, but the project needs a project planner with both the vision of the future landscape and a sense of the day-to-day issues that theme authors contend with.

The reality is that there are only 132 themes out of 7,455 that list block editor styles as a feature in the official repository. We are a year and a half into the lifespan of the block editor officially merging into WordPress, yet the face of the platform is made up mostly of themes that have shoehorned some basic block styles into mediocre designs. The themes that truly stand out with full block-editor support are few and far between. Many of those are also bidding heavily on Elementor or other page builders.

Whether you like the block editor is of little consequence when there is no buy-in from theme authors. Every week, I check the theme directory for new themes, hoping to find a hidden gem. Every week, I am disappointed to see new themes dropping in 2020 with no support for the block editor. There is an entire segment of users who might enjoy the editor if only they had something more than Twenty Twenty to play around with — it is a fine theme but is not everyone’s cup of tea.

ThemeForest’s listing of block-styled themes.

ThemeForest sellers are besting free theme authors 18 to 1 in terms of support with over 2,300 themes listed as Gutenberg-optimized. Granted, themes from the massive marketplace are known to have every feature they can in an attempt to one-up the competition. Also, many of them either have built-in page builders or support third-party solutions.

Still, for the flagship feature of the platform, end-users should expect something more from the official theme directory. A third-party marketplace should not be the only game in town. At the moment, much of the offerings on feel lackluster at best. The handful that go the extra mile, such as the Rosa 2 and Go themes, have mature businesses funding the effort.

There is some broken trust between theme authors and WordPress at the moment. Some shout it loudly (as folks can attest from WP Tavern comments section). Others are more quietly trying to figure all this out.

Even Carolina Nymark, one of the representatives for the official Themes Team, shared some concern. “How do all of you theme authors keep up with the changes to Gutenberg?” she asked in a tweet. When the team leads are not up to speed, it is not good for the project as a whole.

“I don’t,” replied Anders Norén, the primary developer behind Twenty Twenty, to Nymark’s question. “I wait until something breaks (in the beta releases) and try to fix it then. Trying to support changes in the Gutenberg plugin while maintaining support for the block editor in Core is bad for your health.”

There is a major concern from theme authors about the future. It is hard to get excited about the current possibilities when there is uncertainty over what theme development will look like in 12 months. There is no clear and detailed roadmap about how things will work, and many theme designers feel like they are playing catchup from week to week. Instead, they should be able to more clearly look ahead and push early ideas into play.

My ultimate fear is that the Themes Team will one day flip the switch and require all themes going into the directory to support the block editor like it had to do with the customizer in 2015. If theme authors do not organically make the transition such a day may come. The team will be stuck as the bad guys in the middle.

Where Do We Go from Here?

It is easy to identify some of the major pain points for theme authors. Changes between updates will inevitably break something with the theme design.

Breaking HTML changes.

Breaking CSS changes.

Missing class names.

Different methods of handling alignment, depending on the block.

Dealing with inline styles after years of being taught to avoid them.

All of these issues are roadblocks for theme authors. And, when things get in the way of theme authors doing their jobs, they trickle down to end-users.

This is not the WordPress of the last decade. The WordPress that promised to not break things with updates. The WordPress where a one-off theme by a non-professional designer still worked four months later.

The Gutenberg project is still in its infancy. It can be fun to play with, but it can also be messy. I am as much of an evangelist for the block editor as anyone, but I can recognize when there is a clear and present issue of trust between theme authors and the developers of the project.

Currently, theme authors who are attempting to cover all of their bases are designing for at least a couple of versions of WordPress, multiple versions of Gutenberg, and the classic editor plugin. It is a dizzying array of testing for one theme. Those with a dozen or more themes…well, it is not an ideal situation.

A holistic approach needs to be taken toward theme and site design. Theme authors need to see the details of the roadmap and contribute to it, carving the features they see as relevant into stone for the coming years. They need to know that the buttons block design they sweated over for hours this past week will continue working next week.

It all starts at the project management level.

If a breaking HTML change needs to happen, theme authors need more than, “X change needs to happen for Y feature to work.” They need to see ownership of the mistake in the initial planning phase for X, backward-compatible code solutions, and a path toward fewer of the same mistakes happening.

Theme designers still need some sort of design framework. The current utility classes are like a poor man’s version of Tailwind that is being pieced together as the project adds new features without the foresight to look at the future landscape. Maybe the upcoming Global Styles feature can tackle that on a larger scale that provides compatibility across themes.

Ultimately, there needs to be more communication between the Gutenberg team and theme authors who are building themes for the official WordPress theme directory. Perhaps there should even be a new team or sub-team formed focused solely on theming in the block era and working directly with Gutenberg developers to identify pain points. Whatever happens, someone needs to inspire the next generation of themes into being. Until then, most theme authors are stuck wondering what they will need to fix next.

Up next: block/plugin development edition?

Lullabot: Impact and Generosity in the Drupal Community

Main Drupal Feed - Wed, 05/13/2020 - 20:00

As the global pandemic continues to spread — causing widespread sickness and death, restricting in-person human contact, creating additional responsibilities at home or financial hardships, or any of the countless other changes to daily life that have resulted in feelings such as fear, anger, boredom, or uncertainty — this virus has forced some of us to reassess our values and our place in the world.

Evolving Web: What is Web Accessibility and Why You Should Care?

Main Drupal Feed - Wed, 05/13/2020 - 18:52

What is web accessibility?

Web accessibility is an inclusive design that ensures everyone can access your website, no matter their abilities. In the same way a ramp on the sidewalk makes sure someone in a wheelchair can get over the curb, having an alternative (alt) text on an image can make sure someone using a screen-reader can understand what the image conveys.

Types of Disabilities

Globally, 1 in 5 people have some form of a disability and someone's ability can change over time. For example, as adults age, they may lose some of their sight or hearing. A disability can also be temporary such as a broken arm or misplaced glasses. Sometimes the disability can be situational: someone on a busy subway who cannot hear the audio in a video would rather read captions, and someone by the pool in bright sunlight is in need of high contrast.  

Disabilities vary considerably. Some users with poor eyesight need high contrast and to increase the font size to access the content. Users who are blind need a screen-reader to access websites. Users who cannot hear need alternatives to access the audio content. Users with a mobility impairment may need to use voice activated commands or a mouse alternative such as a mouth-operated joystick to access the content. Users with epilepsy need to avoid quickly flashing content.   

How to Make Your Website Accessible

The best way to ensure your website is accessible is to provide multiple ways of accessing your content, such as alt text for images, captions for video and the ability to navigate with a keyboard instead of a mouse. Making sure the layout and structure of your website is logical, intuitive and simple to navigate can also make it easier to use for everyone.   

Why Web Accessibility Matters

Well, maybe now you're saying to yourself equal access sounds nice, but why should I care about web accessibility? This seems like an extra headache that is going to cost me money. Well, in fact, not caring about accessibility is going to cost you money. If your website is not accessible, you risk losing a significant portion of potential clients since 20% of the population will not be able to use your site. Second, the law mandates it.   

In the US, Title III of the Americans with Disabilities Act includes websites and now applies to any public-facing businesses and private businesses in 12 categories, including sales, entertainment, service establishments, recreation and more. A website which is deemed inaccessible to someone with a disability can be forced to immediately redesign the website and to pay monetary damages and the other party's attorney fees.   

In Canada, four provinces currently have web accessibility laws: Quebec, Manitoba, Nova Scotia and Ontario. The Accessibility for Ontarians with Disabilities Act (AODA) is the most comprehensive of the four, and aims to create a barrier-free Ontario by 2025. To this end, by 2021 all private and non-profit organizations with more than 50 employees and all public organizations must make their websites compliant with Web Content Accessibility Guidelines (WCAG). The federal government is looking to pass web accessibility guidelines in the near future with the aim of enforcing WCAG. We can expect Canadian federal web accessibility laws to be rolled out soon.   

With all this in mind, it makes sense to build accessibility into your website design and updates now before you are hastily forced to do so by new laws. Or, before you get sued. In 2019, the pizza giant Domino's famously lost a US Supreme Court Case (Domino's Pizza v. Guillermo Robles) by failing to make their website accessible to a blind man who used a screen reader to access their site and mobile app. And their brand will forever be remembered as the big bad pizza chain who went up against a blind man in court. And lost. Don't be Domino's. The damage to your brand alone is reason enough. 

Accessibility Is a Human Right

Web accessibility is a human rights issue. It is imperative that everyone can access the same services in society, no matter their abilities. Now more than ever, many essential services, such as banking, healthcare, utilities bills and education are moving online. The laws have been slow to catch up to the internet but as the internet becomes more and more integrated into our everyday lives, the courts are finally catching up. There is no time like the present to design a website with accessibility in mind, or to incorporate accessibility as you update your website. Also, it can just make it easier for everyone to navigate.   

We're happy to help get you there. Contact us if you want us to help make your website accessible, or take our Web Accessibility training.

+ more awesome articles by Evolving Web

Tag1 Consulting: Day in the life of a Core Maintainer & notes on Drupal 9 readiness

Main Drupal Feed - Wed, 05/13/2020 - 15:35

What is the day-to-day life of a Drupal core committer like? Besides squashing bugs and shepherding the Drupal project, the maintainers responsible for Drupal core are also constantly thinking of ways to improve the developer experience and upgrade process for novice and veteran Drupal users alike.

Read more preston Wed, 05/13/2020 - 08:35

InternetDevels: Improve website security with the Automated Logout Drupal module

Main Drupal Feed - Wed, 05/13/2020 - 15:21

Keeping a castle secure requires you to watch out in different directions. The same applies to websites — protecting your “digital castle” involves many different aspects.

Read more

Drudesk: Check a website for security vulnerabilities with the Security Review Drupal module

Main Drupal Feed - Wed, 05/13/2020 - 14:10

Security above all. The Drudesk team would love to help all businesses make their websites secure.

Hence our very popular service of Drupal website security audit that we offer at affordable prices. During the audit, we perform in-depth checks and find security vulnerabilities of different nature. After a good clean-up, we always recommend using helpful tools that will help them regularly keep an eye on website security.

Manifesto: Assessing your Drupal 9 Readiness, Part I: Estimate, plan and action. Without tears.

Main Drupal Feed - Wed, 05/13/2020 - 11:29

It has already been a year since So long Drupal 7, welcome Drupal 9, and now we are just a few days away from the Drupal 9 release: 3rd of June 2020. Save the date. There is a lot of excitement within the community, mixed with the stress of final touches. You may have read. Continue reading...

The post Assessing your Drupal 9 Readiness, Part I: Estimate, plan and action. Without tears. appeared first on Manifesto.

ADCI Solutions: How to prepare your module for Drupal 9

Main Drupal Feed - Wed, 05/13/2020 - 04:29

Drupal 9 is almost here and we’re excited! While we’re waiting, it’s high time to prepare modules for Drupal 9.

Read How to prepare your module for Drupal 9 in 5 easy steps.