Subscribe to Planet Drupal feed - aggregated feeds in category Planet Drupal
Updated: 8 hours 48 min ago

Darren Oh: A shared slide show for local Drupal events

Wed, 2022/06/29 - 10:01pm
A shared slide show for local Drupal events Darren Oh Wed, 06/29/2022 - 16:01

Lullabot: Making the Most of Display Modes In Drupal

Wed, 2022/06/29 - 4:03pm

One of Drupal's biggest strengths is the ability to define structured content, then display and edit it in a variety of ways without duplicating development or design work. "Display Modes" have always been a big part of that power. One piece of content can be displayed as a Teaser, as a Full Page, as a Search Result, and so on — each with its own markup and field presentation.

Categories: PhpStorm coding tip for Drupal services

Wed, 2022/06/29 - 2:56pm

Here's a super simple tip to help you work with services for Drupal in PhpStorm (our favourite IDE). First, ensure you have enabled the Drupal Symfony Bridge and Symfony Support plugins; they're brilliant for auto-complete suggestions, and navigating around services, controllers, annotations and twig templates! I find it so helpful to be able to cmd+click (or ctrl+click) on a service name, whether in a YAML definition, or PHP code, and jump straight to the service class. But I'd noticed that PhpStorm often didn't recognise the method used after my code referred to a service like this:

\Drupal::service('my_service') ->something($id);

That meant PhpStorm couldn't give me hints about what parameters the '->something()' method should take, or even auto-complete what methods are available on the service.

I discovered this is probably because the doxygen for the return type of \Drupal::service() is simply 'mixed'. Or perhaps because the Symfony plugin just isn't aware of this Drupalism.

Instead, if I change my code to the following, PhpStorm suddenly understands what the service is, so it can help me code more easily!

\Drupal::getContainer() ->get('my_service') ->something($id);

This is barely any more code, but suddenly I can click into the definition of the ->something() method, and get all the IDE functionality I normally expect. Win!

Here's how it actually looks for me, demonstrating the inline parameter hint, and with PhpStorm's 'Quick documentation' tooltip opened (press F1 to get this). This is super handy - especially for methods with a ton of parameters!

Of course, this only really matters when you're forced to get the service via the \Drupal class, rather than dependency injection, such as in static/procedural code. Which might be discouraged, but I doubt will ever be entirely eliminated, especially in custom code which might often be a bit more 'quick & dirty', by necessity.

You could always just add /** @var ... */ doxygen comments around your code to help inform PhpStorm of what a service is. I've seen more and more of that sprinkled around contrib & core code. But I figure this new approach is the simplest to change existing code to, as it's only a very small and less obtrusive change. Plus it allows PhpStorm to dynamically understand your code, rather than you having to teach it. Which allows you to get on with your actual work instead, of writing awesome code.

What do you reckon? Is this a new pattern we should all start using more?


Web Wash: Customize Entity Reference Autocomplete Results using Views in Drupal

Wed, 2022/06/29 - 12:48pm

An entity reference field allows you to create relationships between other entities such as pages and articles. The field comes with an autocomplete widget that will enable you to search and select other entities.

When you search for items to reference, just the titles are returned and in most cases, this is enough. But when you have lots of content with similar titles using the autocomplete widget becomes problematic because it’ll return similar results.

We can customize what is returned in the autocomplete widget using the Views module. No extra modules are required.

In this tutorial, you’ll learn how to use Views to change the autocomplete results.


The Drop Times: 10 Essential SEO Modules

Tue, 2022/06/28 - 2:16am
Here are 10 essential Drupal 9 SEO modules that will help you address many of your SEO problems immediately.
Categories: Celebrating a new major Group version

Tue, 2022/06/28 - 2:00am

Group has just got its first alpha release for the 2.0.0 version and we wanted to seize the opportunity to celebrate that by looking back at where we came from and forward to where we still plan on going.

Categories: Celebrating a new major Group version

Tue, 2022/06/28 - 2:00am

Group has just got its first alpha release for the 2.0.0 version and we wanted to seize the opportunity to celebrate that by looking back at where we came from and forward to where we still plan on going.


Talking Drupal: Talking Drupal #353 - Native Web Components

Mon, 2022/06/27 - 8:00pm

Today we are talking about Web Components with Ron Northcutt.

  • What are native web components
  • How are they different from custom elements
  • How are they different from JS frameworks
  • Libraries
    • Elix
    • Bit
    • Polymer
    • Lit
  • ShadowDOM
  • Difference between Progressive Web App and NWC
  • Benefits of NWC
  • How do you use them
  • What are lifecycle callbacks
  • Styles
  • Html
  • Slots
    • named
    • anonymous
  • Support for NWCs
  • Use cases
  • Anything else?
Resources Guests

Ron Northcutt - @rlnorthcutt


Nic Laflin - @nicxvan John Picozzi - @johnpicozzi Donna Bungard - @dbungard


Menu block This module provides configurable blocks of menu links with additional features not available in Drupal 8+ core.


Chromatic Insights: Cache Busting Drupal Libraries with Versions

Mon, 2022/06/27 - 4:34pm
Configuring a Drupal library's version may seem mysterious, but it is important for caching.

OpenSense Labs: Top Drupal Modules for 2022

Mon, 2022/06/27 - 4:17pm
Top Drupal Modules for 2022 Maitreayee Bora Mon, 06/27/2022 - 19:47

In this article, I will be sharing with you guys some of the top Drupal modules for this year 2022. So, basically, if you’re thinking of the Drupal modules which you can use for your challenging Drupal projects, then this can be a good read. Then without taking much of your time, let’s get started.

Devel Generate Commerce

Devel Generate Commerce is a development purpose solution that is used for the auto-generation of products, product types, product variations, and orders. It’s features includes:  

  • There is a possibility to delete all the data before generation and also to set up the specific amount of each of the commerce entity types. 
  • There is also a possibility to set how old products, product types, product variations, and orders might be. 

It has got 2 dependencies i.e., Devel and Commerce Core. And it is also compatible with Drupal 9.

Commerce Timeslots

Commerce Timeslots can be considered a commerce solution that provides the possibility to set a specific time frame for an order to be picked up or delivered. It’s features includes:  

  • You get fully customizable time slots by giving a configurable set of days and the given slot capacities.
  • You can configure 1 or more time slot entities for different purposes and effortlessly switch between them on the client's requirements.
  • You get a configurable maximum number of days to display for the date picker. You can configure the date when the end-user can start booking a time frame.
  • You can configure the checkout flow visibility.
  • You can attach the desired time slot to the order information in the "Other" section.
  • The shop admin gets access to a booking page where they can view the booked time slots and the corresponding status (active/processed).

It has got three dependencies i.e., Commerce, Commerce Shipping, Jquery UI Datepicker.  And it is also compatible with Drupal 9.

Commerce View Receipt

Commerce View Receipt adds a "Receipt" tab to admin commerce order pages. The tab provides the order using the commerce order receipt template that is emailed to customers. It proves to be very useful while customizing the receipt template. You can view your changes without sending an email.

It is also compatible with Drupal 9.

Pathauto preview

Pathauto preview module enables a user to preview the URL alias without having to save the entity. With this particular module it is possible to preview the URL alias that would be generated by the pathauto module if the entity were saved with the current values in the entity form.

It even supports multilingualism. And it is also compatible with Drupal 9 and Drupal 10. 

Logout after password change

Once the user changes the password, the user is logged out and redirected to the login page. Only the page user/{uid}/edit can be visited, otherwise, the user is logged out. The user can simply change the password. 

It isn’t covered by the security advisory policy. And the Logout after password change is compatible with Drupal 9.

CKEditor 5 Font plugin

This module integrates the Font plugin directly inside CKEditor 5 for Drupal 9 and 10. It enables the user to control the text and background color directly inside the CKEditor 5 interface and even allows the user to customize the color palette. 

In the CKEditor 5 Font plugin module no dependencies are required, and the plugin is integrated directly via DLL Builds.

It isn’t covered by the security advisory policy. And it is compatible with Drupal 9.

Sitewide Alerts

Sitewide Alerts module gives the ability to display site-wide alerts. Multiple alerts can be configured at once per language. Alerts can be merged into one if set. If the Domain module is enabled, you can set which domain you would want the site alert to appear on. It’s features includes:

  • Display alerts site-wide.
  • Alerts can be positioned in the header or footer of the site.
  • Alerts can expire via cookie.
  • Multiple alerts can be configured at once.
  • Alerts can be merged into one.
  • Alerts can be configured per language.
  • Alerts can also be filtered out by domain, if the Domain module is enabled.

It is compatible with Drupal 9.


SmartWeather can be considered a smart module that provides current weather details and forecasts for up to 7 days. Display of forecast is optional.

It is smart enough to detect website visitor locations and get the weather details from The main features of this module are:

  • Get current weather details on the basis of website visitor location.
  • Display weather forecast upto 7 days. This is optional.
  • Display weather on the basis of fixed latitude and longitude of area/location of your choice, in case you do not want the module to detect visitor location.
  • Display weather in Celsius or Fahrenheit.
  • Includes relevant CSS classes and id's to customize the design per your website.

It isn’t covered by the security advisory policy. And it is compatible with Drupal 9.

Sendgrid Mailer

Sendgrid Mailer offers a Mail class to be used with the MailSystem module to send HTML emails using SendGridAPI, and SendGrid API module. It’s future features includes:

  • Send email using Dynamic Transactional Templates.
  • Implement Contacts API - Recipients.

It is compatible with Drupal 9.

Component Libraries Server

Component Libraries Server allows you to use component libraries such as Storybook, in your Drupal project, without Twig.js! 

Admin Toolbar

Admin Toolbar module aims to enhance the default Toolbar (the administration menu at the top of your site) to transform it into a drop-down menu, providing fast access to all administration pages.

This module works on the top of the default toolbar core module and is, therefore, a light module and keeps all the toolbar functionalities (shortcut/media responsive).

And it is compatible with Drupal 9.


Metatag module enables you to automatically provide structured metadata, aka "meta tags", about a website. In the context of search engine optimization, when people refer to meta tags, they are generally referring to the meta description tag and the meta keywords tag that might help enhance the rankings and display of a site in search engine results.

Additionally, this particular module provides support for meta tags (Open Graph Protocol from Facebook, Twitter Cards from Twitter) that allow control of how content appears when shared on social networks.

It has three dependencies:

The main features of this module includes:

  • Works on Drupal 7, 9.0+! As of 8.x-1.17, Drupal 8 is no longer supported.
  • Supports a large number of commonly used meta tags, including the page title, canonical URL, description, etc, and for Facebook's Open Graph, Twitter Cards and Dublin Core via included submodules (see full list).
  • Global settings to control meta tags on all pages.
  • Per entity and per entity bundle to control default meta tags for all items of a certain type, e.g. all nodes of a certain content type.
  • Ability to override meta tags on each entity object, e.g. to override meta tags on an individual node.
  • Multilingual support using the Entity Translation module and translation support using the Internationalization (i18n) module.
  • Full support for entity revisions and workflows based upon revision editing, including compatibility with the Revisioning and Workbench Moderation modules.
  • D7: Customize meta tags for specific paths (or other conditions) using Context and include the Metatag:Context submodule.
  • D7: Customize meta tags for custom pages built using Panels and Views using included submodules.
  • D7: Individual permissions for each meta tag can be enabled (see README.txt).
  • D7: Meta tags can be optionally added to admin pages.
  • Exportable default meta tag configuration.
  • Extendable and flexible API for defining new meta tags.
  • D7: Support for Devel Generate (sub-module).

And it is compatible with Drupal 9.


Redirect module gives the ability to create manual redirects and maintain a canonical URL for all content, redirecting all other requests to that path. The main features includes:

  • Common API for loading, saving, and deleting redirects.
  • Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
  • Redirect counter and last used timestamp, with automatic cleanup of inactive redirects. (Provided by Redirect Metrics in D8)
  • Integration with Drupal's page cache to optimize redirects and performance.
  • Complete individual redirect access API.
  • Views API integration.
  • D8: Maintaining a canonical path and redirecting alternative URLs like non-aliased path, path without language prefixes and so on (Previously provided by Global redirect)
  • D8: Separate Redirect 404 module that logs aggregated 404 request (can suppress them in the default log) and allows to create redirects from them
  • D8: Separate Redirect Domain module allows wildcard and domain redirects

And it is compatible with Drupal 9.

Backup and Migrate

You can Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate provide support to gzip, bzip, and zip compression as well as automatic scheduled backups.

With this module, you can dump some or all of your database tables to a file download or save to a file on the server or offsite, and restore from an uploaded or previously saved database dump. You can even select which tables and what data to backup and cache data is excluded by default.

And it is compatible with Drupal 9.


GraphQL module helps you to craft and expose a GraphQL schema for Drupal 8 and 9. So, basically, it is built around webonyx/graphql-PHP. As such, it supports the full official GraphQL specification with all its features.

You can even use this particular module as a foundation for building your own schema with lots of data producer plugins available and through custom code.

Also, for ease of development, it includes the GraphiQL interface at /graphql/explorer.

And it is compatible with Drupal 9.


Webform module enables you to build any type of form to collect any type of data, which can be submitted to any application or system. Also, every single behavior and aspect of your forms and their inputs are customizable.

Whether you require a multi-page form containing a multi-column input layout with conditional logic or a simple contact form that pushes data to a Salesforce/CRM, everything is possible using the Webform module for Drupal 8/9.

This module offers all the features expected from an enterprise proprietary form builder combined with the flexibility and openness of Drupal.

And it is compatible with Drupal 9.

Google Analytics

Google Analytics module adds the Google Analytics web statistics tracking system to your website. It enables you to add the following statistics features to your website:

  • Single/multi/cross domain tracking
  • Selectively track/exclude certain users, roles and pages
  • Monitor what type of links are tracked (downloads, outgoing and mailto)
  • Monitor what files are downloaded from your pages
  • Custom dimensions and metrics support with tokens
  • Custom code snippets
  • Site Search support
  • AdSense support
  • Demographics and Interests support (formerly known as DoubleClick remarketing support)
  • Anonymize visitors IP address
  • DoNotTrack support (non-cached content only)
  • Drupal messages tracking
  • Modal dialog tracking (Colorbox)
  • Access denied (403) and Page not found (404) tracking
  • Cache the Google Analytics code on your local server for improved page loading times
  • Enhanced Link Attribution support
  • User ID tracking across devices
  • Changing URL fragments can be tracked as pageviews
  • Debug mode with analytics_debug.js
Version specific features
  • Universal Analytics (UA) support: 6.x-4.x, 7.x-2.x, 8.x-2.x
  • Global Site Tag (gtag.js) support: 8.x-3.x

And it is compatible with Drupal 9.


CAPTCHA is a challenge-response test most frequently placed within web forms to ascertain whether the user is human? The aim of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. This module provides this feature to virtually any user-facing web form on a Drupal site.

And it is compatible with Drupal 9.

Crop API

Crop API module offers basic API for image cropping. This module won't do much by itself. Users need to pick one of the UI modules that utilize this API. It is compatible with Drupal 9.


Coffee module allows you to navigate through the Drupal admin faster, inspired by Mac apps Alfred and Spotlight. If you want to navigate in the admin with your keyboard then Coffee is the solution. You just need to type alt+d to start Coffee and type ahead for the page you want to visit.

And it is compatible with Drupal 9.

With the above-discussed Drupal module list, I tried providing you with the important modules that can effectively help your organization in reaching out to the desired Drupal project goals and aspirations. 

So, now it’s time to choose wisely!

Articles Off
Categories: Programmatically adding all your (Irish) council's services to a LocalGov Drupal website

Mon, 2022/06/27 - 11:47am

Thanks to Tipperary County Council for making this work open source, so any council in Ireland can automatically publish all their council services on their website.


The Drop Times: Tearyne: I can Choose Where I'm Open and Where I’m Not

Mon, 2022/06/27 - 5:38am
DDI, WordPress Diversity, and the Pantheon Pridetheon Impact ERG hosted an 'Out in Open Source!' event to discuss what is means to be out as LGBTQIA+ in the Open Source community.

#! code: Drupal Testing Strategies

Sun, 2022/06/26 - 8:34pm

Creating a Drupal site can be a complex process. Some people put together Drupal sites using a collection of different modules whilst others use Drupal as a framework and build the site using code.

No matter what sort of Drupal site you have, you'll need to have some testing in place to make sure that it works correctly. This is especially important when applying updates to your sites as the updated code can create unwanted side effects (or contain bugs) that might cause the site to malfunction. Generally, Drupal modules are very good with updates, but there are sometimes interactions between modules can cause problems that weren't taken into account.

When it comes to testing, there are a number of different options available to a Drupal developer. Each of which have their own uses and depend on the type of Drupal site you are trying to test.

In this article, I will go through a number of testing strategies that you can use to test a Drupal site. I won't delve too deep into each topic as this is more of an overview of the different technologies and strategies available.

Static Analysis

If you are writing custom code for your Drupal site then the first stage of any Drupal testing solution should be inspecting the codebase itself. This means looking at the code written and ensuring that it meets with certain coding standards and best practices.

Static analysis should only be done on custom code you write for a Drupal site. Due to the Drupal coding standards Drupal core itself and contributed modules tend to be well written.

When writing modules that intended to be contributed modules it is very important to adhere to the same coding standards. 

PHP Codesniffer

PHP Codesniffer (or phpcs) is a tool that will scan PHP files to look for patterns of code called "sniffs". Drupal has a couple of standards that check for different things within your codebase.

Read more.


Peoples BLOG: How to work with Twig Templates in Drupal?

Fri, 2022/06/24 - 4:15pm
In this article, we are going to see how a developer can work with Twig templates, and how to override templates (if needed) and create template suggestions with hooks, so that templates could be easily managed. Basically drupal allows people to override the existing twig templates, so that people can fully have control on the html generated via the custom theme. First thing, we need to make sur
Categories: How it felt being back at Drupalcamp Spain

Fri, 2022/06/24 - 2:00am

After three years of waiting, finally a Drupal event was held in Spain. It was taking place in Zaragoza from June 3rd to 5th 2022 and we at Factorial had the pleasure to sponsor the event within the philosophy of giving back to the community.


Chapter Three: Hell is Programming a Calendar (Part 2 - Time in Drupal)

Thu, 2022/06/23 - 10:41pm
​Welcome to part two of Hell is Programming a Calendar, where I will dive into some of the more nitty-gritty details about handling time specifically in Drupal. If you haven’t already, I highly recommend checking out part one where I explain why time, in a more general programming sense, is so complicated in the first place. Anatomy of a date field Let’s start by breaking down Drupal’s core date field into its smaller components to examine how it works. In my mind, the core date field can be broken down into four major components.

Evolving Web: The Most Important Criteria When Selecting Drupal or WordPress

Thu, 2022/06/23 - 5:08pm

Choosing which platform to use to manage your website or web platform can be a daunting task, especially if you have stakeholders with different priorities and skills, existing technologies, tools, and processes to take into account. Whatever your goals are when building or improving your website, your choice of technology will have many organizational impacts.

For many years now, Drupal and WordPress have been the two most popular content management systems(CMS), used by a large number of organizations. Both CMS offer a comprehensive, widely adopted, open source solution. In this article, we will take a deeper dive into the differences between these two popular options, and which factors to consider when doing your evaluation. While it's likely that either option could get you to your goal, choosing one option or the other will impact how you get there, what investments you'll need to make, and what options you'll have in the future.

Let's dive in.

Choosing your CMS

Before making a decision, here are a few factors to keep in mind:

  • Your team's skills (if you are building your website in-house),
  • Your website's technical requirements today and what added features it might need in the future.
  • Your budget for this project
Choosing a platform your team will love to use

Let's start with WordPress. Originally designed as a blog publishing platform, WordPress has always been touted as a more beginner-friendly option. The platform makes it easy to get from a fresh install to a finished website. If you're willing to pay for premium plugins, you can get most things done without writing any code.

Creating a page in with the Gutenberg editor in WordPress

Drupal, on the other hand, is more than a content management system. The platform allows you to integrate content and functionality in a myriad of ways. Not only is the functionality modular, but the front-end can be completely decoupled, and the back-end can be seamlessly integrated with third-party data sources.

🗺️ Just getting started with Drupal? Download our free guide: Get Started with Drupal

Defining your content structure

Let's say you're building a recipe website. Sometimes your visitors will be searching for a specific type of recipe, but other times they'll be in the mood to browse. You want people to be able to filter recipes by main ingredient, course, meal, dietary restriction, cultural origin, etc. You'd also like to recommend related recipes based on the one currently being viewed.

This type of functionality is made possible by taxonomies and content types in a CMS. Drupal's taxonomy implementation is more intuitive and extensive for sites that handle a lot of multifaceted content. You can create the vocabularies that are used to organize terms, and easily use taxonomy terms to tag content. This enables the creation of advanced search interfaces, dynamic landing pages, and content recommendations.

In Drupal, you can easily create custom content types or templates for your content—such as "Recipe"—and control what they look like and how they get displayed.

To do the same in WordPress, you can use plugins available to extend the built-in content model (made up of Posts and Pages). This is recommended for websites with a simpler content structure and it makes migrating content from one WordPress site to another much easier.

Assessing your media needs

WordPress has had its media library functionality for longer than Drupal, but the latter caught up nicely with its built-in Media module.

Media handling within WordPress

Drupal is more flexible when it comes to what can be considered "media", so you can add new media sources, like remote or local videos, add metadata to media content, and if a digital asset management (DAM) system already exists, it can easily be integrated into a Drupal site.

An example of this: Tourism Montreal has a massive library of images and videos that they use not only online, but also in brochures, on billboards, and across all sorts of other channels. To help them centralize these assets and easily use them on their Drupal site, Evolving Web created an integration for DAM system Bynder.

What's more, in Drupal, media items have fields just like content, meaning you can customize how they're displayed on a really granular level, or categorize media items so they're easier to find and reuse later. Like other aspects of Drupal, this requires careful customization through the admin UI.

Anticipating your website's needs in the future Extensibility and Plugins

Drupal and WordPress come with many features out-of-the-box. But as your company's needs evolve, you'll want to add more features to your website. As open-source projects, they both have a ton of extensions available to add to your project, as seen in the WordPress plugin directory and Drupal's module list. WordPress offers significantly more themes (free and paid), whereas most Drupal sites use a custom theme to define the look and feel.

The main difference is the model for managing contributed integrations: while virtually all Drupal modules are free and available on, you can find WordPress plugins all over the web, many of which are paid or freemium.

Multilingual Capabilities

Site content that needs to be translated into multiple languages often falls victim to discrepancies that slip between the cracks.

Drupal has always offered multilingual management built into the core—it's one of the main reasons Evolving Web, being based in bilingual Montreal, chose to focus on Drupal back in 2008.

WordPress, on the other hand, handles multiple languages through third-party plugins, which may be inconsistent when combined with other plugins.

Version Control and Workflow Integration

WordPress tool simply allows you to manage content versions, draft and publish content. If you have a small team and publish blog posts every other day, WordPress will certainly do the job. But if you have a big team and want to have approval processes in place, Drupal would be more in line with your needs.

Content and page view in WordPress

With Drupal, you can create content states and transitions from scratch, making it easy to implement more publishing and approval workflows. Revisions are tracked every time content is saved, and you can draft content while the existing, approved version remains visible on the website.

Content view in Drupal


No platform is 100% immune to security vulnerabilities, but the handling of security updates varies greatly from one system to another. Drupal is well-positioned to manage complicated security issues and offers database encryption. Drupal also has a security team providing a streamlined process for handling security vulnerabilities for core and contributed modules. Drupal's strong coding standards make it a favourite amongst organizations looking for a secure enterprise platform.

Whichever platform you're using, selecting modules or plugins that are vetted and reviewing custom code for vulnerabilities is a must.

So, in terms of security, no tool is better than the other, it all depends on how you configure each system and what plugins or modules you install.

How much is it going to cost you?

When looking at the cost of Drupal and WordPress, it's important to consider what you're getting for your money. WordPress and Drupal are both open-source, which means they're free to download, customize, and use. But in order to create a website, you'll need to factor in the cost of custom design, development, the QA and deployment process, and any paid plugins or third-party integrations. Figuring out the actual cost of implementation for each platform is an important step in your evaluation. Keep in mind that it might cost more to develop a flexible platform, but that this can save money in the long run as your needs evolve.

The Bottom Line

If WordPress aims to help you create a website, Drupal's goal is to let you build whatever you can dream of - which explains why it's often seen as the "developer-focused" option. Both have made significant improvements to the user experience over two decades of development, and they often strive to make the experience even better.

More importantly, Drupal and WordPress are active open source projects with large communities and a wealth of resources to get started. Both communities host meetups and events around the world; here are some WordPress ones, and here's where to find Drupal-related events.

At Evolving Web, although we are long-time Drupal contributors, we design and develop for both platforms. Some of our clients stick with WordPress for new projects because they've always used it, which is often a smart decision—don't underestimate the cost of switching.

Just getting started with Drupal? Check out our content editor training!

+ more awesome articles by Evolving Web

Niels de Feyter: Is Drupal Still the Leading CMS in 2022 and 2023?

Thu, 2022/06/23 - 12:14pm
The question we want to answer in this blog post is whether Drupal is still the leading CMS platform in 2022 and beyond. If you have been thinking of trying out Drupal, this article will help you decide whether it is still worth it in 2022. Let’s jump right in!

ImageX: Control How Your Drupal Content Looks on Facebook and Twitter Shares

Thu, 2022/06/23 - 2:23am
Social shares can significantly increase your brand exposure, expand your reach, boost your website traffic, and benefit your SEO. Of course, all this works much better if your shared content looks attractive, relevant, and well-formatted on social media.  Content preview snippets are built automatically when someone shares a link on Facebook, Twitter, LinkedIn, and so on. They include a title, a description, an image, or other details. Can you control how they look and make them so irresistibly clickable? Yes, sure, you can do this by setting up social media meta tags on your website. 

Lullabot: Paper Prototyping for Websites and Digital Products

Wed, 2022/06/22 - 6:23pm

Have you ever spent a lot of time on something for your project, only to throw it away? Often someone else interacts with your work and uncovers something important. Perhaps the issue came from a stakeholder, real users, or the implementation team, and their input is important. But now, you have to go back to the drawing board. We can relate.