Drupal CMS News Digest

developments tricks, articles and reviews from Drupal specialists

News Categories: SEO  Design  Marketing
Boating in the British Virgin Islands
We spent a week on a power catamaran exploring the British Virgin Islands (BVI). The purpose of the trip was twofold: to experience the BVI, and to come home with a boating license. The BVI are somewhat hard to get to. It's part of what makes them so stunningly unspoiled. Getting to the BVI required flying from Boston to San Juan, and then from San Juan to Tortola. The flight to Tortola involved a very small plane, which was an experience in itself. The plane to Tortola was so small that the luggage had to go in the wings. The pilot also sized each passenger up and decided where we would sit to evenly distribute the weight. On the first day we met our captain (and instructor) and charted to our first destination; Oil Nut Bay at the Island of Virgin Gorda. It's where we got introduced to the BVI's signature drink; the "painkiller". Painkillers and rum punches, the most popular drinks in the BVI. Every bar and restaurant serves them.Vanessa enjoying a cocktail from the pool at Nova on Oil Nut Bay. Our boat is in the background, tied to a mooring buoy. We spent the next six days island hopping around the BVI. Each day, we'd arrive at a different near-deserted Caribbean island. We'd tie our boat to a mooring ball, and jump off the boat to swim or paddle board. Taking a stand-up paddle board out in a bay. After our swim, we'd take our dinghy to shore to explore the island...
PreviousNext: Overriding base field labels and descriptions of Drupal Entities without custom code
Have you ever had a project where you've used a core or contributed module but been asked to make slight changes to base fields? e.g. Changing the field title, default value, required state or description?Read on to find out how to use a little-known feature of core to make these changes with only configuration. by lee.rowlands / 27 May 2022 You may not be aware, but Drupal core has a mechanism for changing base field definitions without code, but other than for nodes, there's no real UI to make use of this API.If you've ever changed the label of the Title field for a node-type and then exported your configuration, you've probably seen a core.base_field_override file pop up in the exported files.These config entities can be used to modify base fields on a per-bundle basis.Drupal core uses them to change the label of the Title field for a given node-type or the default state of the 'Promoted to front page' field.But the same mechanism can be used for any entity-type.So how do you go about using this feature.Well, you've got two options - one is to use the Base Field Override UI module. This lets you change the title and description via a UI. But there are more properties a field override can contain, such as default values, required state and even field settings. For those cases, you need to revert to editing YML. But first...
Liip: 3 steps to make your devs love you by preparing custom icons the right way
For a recent project, we felt it was necessary to ship a few of our own custom icons. Before bringing them over to code, I tidied up the design files. It quickly dawned on me that you should follow a clear protocol to help the development be as efficient as possible. To make your and the life of your developers easier, I want to share the following 3 steps with you. Everybody loves doing less busy work! This write-up focuses on Figma because that's what we use, but most of the steps should be similar for other design software. Step 1: Use a single icon component Self-care is important, so this first one is for my designer buddies: Do yourself a favour and use Figma components. More specifically, use just one component for all icons and then add a variant for each specific icon. Putting all your icons in a component makes it easier to reuse them Unfortunately, selecting the icon variant from the variant dropdown in Figma is a bit clunky. You might be tempted to make a component for each individual icon. That's good; at least you're using components. There is, however, a tremendous disadvantage to this. Most likely, the icon component will at some point be consumed by other components. A button component is a natural example of this. If you want a little icon next to the button label, use a single component and you can just drop in the icon component. Boom! You're done. What...
ImageX: Bon Appétit: Top Modules for Creating User-Friendly Menus in Drupal
In eateries and websites alike, menus offer guests a selection of options to enjoy.  It may be obvious, but menus are indispensable website navigation elements. If properly built and well-positioned, they greatly increase the chance that customers feel more engaged, find what they are looking for, and ultimately,  end up with a conversion.  It’s great to know Drupal offers plenty of tools both to make website menus user-friendly and help menu creators — admins, editors, developers — build them as easily and quickly as possible. 
A plan for Drupal 11
Two weeks later, I'm still feeling the energy from our first in-person DrupalCon in two years! This blog post is Part 3 of my DrupalCon keynote recap. In case you missed it, you can read up on Part 1 and Part 2. Part 1 focused on Drupal 10 updates. Part 2 talked about our new vision statement. In my keynote, I also mapped out a potential strategy for Drupal 11. In this blog post, I explain Drupal 11's strategy, and how it aligns with our updated vision statement. Drupal 11's strategy is focused on (1) empowering ambitious site builders and (2) accelerating innovation in our contributed modules repository. To accomplish these two goals, Drupal will have to double down on "composability", which is reflected by the six proposed initiatives below. I'm code-naming the two-year strategy for Drupal 11 "Composable Core". Project Browser In Drupal 9, we have over 8,000 modules and themes. In those 8,000 projects are some amazing innovations. But right now, it's hard for site builders to find them. Many first-time adopters don't even realize Drupal can be extended with all these contributed modules and themes. Some site builders even give up on Drupal because once Drupal is installed, they don't know what to do next. So, we have an opportunity to make all these great innovations easier to find.​​ The Project Browser Initiative would recommend or highlight great...
Drupal is for ambitious site builders
With Drupal 10 around the corner, it's time to start laying out Drupal 11's development roadmap. It's important we begin that work by reflecting on Drupal's purpose. Drupal's purpose has evolved over the years. In the past, the goal might have been to build the world's most powerful CMS. Today, I believe Drupal has become much bigger than a CMS alone. Drupal enables everyone to participate in an Open Web. The web is one of the most important public resources. As a result, the Drupal community's shared purpose is to make that resource open, safe, and accessible to all. With 1 in 30 websites running on Drupal, we have a lot of influence on building the future of the web we want to see. In fact, we have an opportunity to help build a digital future that is better than the one we have today. To align with that purpose, and to drive the most impact, our vision also has to evolve. Five years ago, I declared that Drupal is for ambitious digital experiences. I'd argue that we have achieved that vision by investing in headless Drupal, Media, Layout Builder, and additional features that help enable the creation of ambitious digital experiences. That is why I propose evolving our vision statement to "Drupal is for ambitious site builders". Attracting more Drupal site builders will increase Drupal's potential user base, and in turn create a more open, accessible and...
State of Drupal presentation (April 2022)
Last week, 1,300 Drupalists gathered in Portland, Oregon for DrupalCon North America. It was the first in-person DrupalCon in more than two years. I can't tell you how amazing it was to see everyone face-to-face. In good tradition, I delivered my State of Drupal keynote. You can watch the video of my keynote or download my slides (262 MB). I covered a lot of ground in this presentation, so I broke down my written summary into a three-part blog series. Part 1 below focuses on Drupal 10 updates. I'll be publishing Part 2 and Part 3 later this week, which will focus on Drupal's evolved vision and Drupal 11 proposed initiatives. Drupal stands with Ukraine I couldn't begin my presentation without acknowledging the loss of life and destruction in Ukraine. It's impacting many in the Drupal community, which is heartbreaking. You may not be aware, but Ukraine is the sixth most active country in the world in terms of Drupal contributions. If you were to look at these contributions per capita, Ukraine's contributions are even more significant. Both myself and the Drupal Association strongly condemn the Russian attacks on Ukraine. Many of us might want to know how to help. The Drupal Association has compiled a list of organizations that are accepting charitable donations. Updates on Drupal 10 From there, I gave an update on Drupal 10. We had targeted a Drupal 10 release...
BADCamp News: BADCamp 2021 - Nonprofit Technology Summit
BADCamp 2021 - Nonprofit Technology Summit Mon, 10/18/2021 - 12:00 volkswagenchick Mon, 10/18/2021 - 14:08 Join nonprofit peers on October 28th for a free, hands-on virtual event that will help nonprofits leverage technology to scale their capacity and impact. As a participant, you will be invited to take TechSoup’s Digital Assessment Tool to help identify your organization’s most pressing technology opportunities. Then join small group conversations with peers and subject matter experts around:  Drupal Planet
Talking Drupal: Talking Drupal #316 - Accessibility
Today we are talking about Accessibility with Rain Breaw Michaels. TalkingDrupal.com/316 Topics We are talking about Accessibility today, but specifically gearing the conversation towards developers. Why? So many people when coding for accessibility simply provide workarounds. Why can this be dangerous? What is ARIA? What is meant by the term Landmarks? How does this apply to dev’s working with Drupal? What modules do you recommend? How can you help content editors maintain accessibility while adding content? What are common pitfalls you see devs make How can Javascript help or hurt Accessibility? In closing, is there anything you would like to add? Module of the Week Anti Spam by CleanTalk Resources Clean Talk - Geerling’s Post Anti-spam by Clean Talk Acquia Engage Time Timer Driven to Distraction Design of everyday things (Book) ColorCube - Color Testing Tool ARIA WAI-ARIA HTML 5 Landmarks Module for decorative images Editoria11y Layout Builder Content Strategy for the Web PDF Accessibility course on Deque VPAT Hanlon’s Razor: “never attribute to malice that which is adequately explained by stupidity” Guest Rain Breaw Michaels - @rainbreaw Hosts Nic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Chad Hester - www.chadkhester.com @chadkhester
Tag1 Consulting: On 20 Years of Drupal - an interview with James Rutherford
Tag1 continues its series celebrating 20 Years of Drupal in this Tag1 Team Talk with Pantheon’s Senior Manager of Strategic Partnerships, James Rutherford. Before moving to Pantheon, James was a long time member of Mediacurrent, one of the largest agencies working with and creating Drupal websites. James joins Tag1 Managing Director Michael Meyers for another trip down the halls of Drupal history, from early versions of Drupal, to today’s highly experienced agencies. James' initial Drupal experience was with Georgia Public Broadcasting. Over the years, James has worked with many clients - some of whom moved to Drupal from their homegrown CMS, to major launches such as weather.com. Join us for this talk, and learn more about how it’s not just the code - it’s the community that makes Drupal successful. --- For a transcript of this video, see Transcript - 20 years of Drupal with James Rutherford. --- Photo by Moritz Kindler on UnsplashRead more [email protected]… Mon, 10/18/2021 - 07:07
OpenSense Labs: Drupal accessibility modules: The essentials
Drupal accessibility modules: The essentials Maitreayee Bora Mon, 10/18/2021 - 16:52 Web accessibility is always prioritized by Drupal to provide its potential users a decent user-experience. Without any fail, Drupal has succeeded in providing an extensive range of modules that can be downloaded according to user convenience. This platform has consistently put efforts in bringing significant improvements in all its versions when it comes to accessibility modules. So, with this article, I will try to give you an insight of some of the recently refreshed or newly released Drupal modules that will efficiently help you in your various challenging projects. You will also get the answer to a common question that often comes to your mind, “Why Drupal for accessibility”? To begin with, for your better understanding, I am describing the Drupal web accessibility modules by categorizing them based on their different functionalities. 
Accessibility Auditing Under this category Drupal has a sufficient number of modules that help in offering you an enhanced accessibility audit for your ambitious projects.
Editoria11y Accessibility Checker Editoria11y can be termed as a user-friendly checker that provides support to the content authors and editors. Compatible with Drupal 9, it also looks after the three most vital needs of the content authors.  It makes sure...
Ny Media: Entity bundle classes and its possibilities
Entity bundle classes and its possibilities alf.harald October 18, 2021 Projects vary vastly in terms of complexity. Sometimes there are just one or two entities, sometimes a standard product structure. But what happens when you have several layers of interconnected nodes or terms that rely on each other via custom entity reference fields? My take is, it may (will) tip over to becoming messy code, very fast. Say we are doing an online class. We have 3 entities: A group of people A participant in this group A physical person (which can be in multiple groups) And let's say we have this structure organized as nodes, with entity reference fields defining the connections. Core & contrib entity behavior Let's say that we are preparing some data from this structure. Based on a participant, we are going to find the description of the group to display in some template somwehere. Just traversing the fields of nodes, we would do this: // Get the description and location of the group $group_participant = $a_node; $group = $group_participant->field_group_reference->entity->field_text->value; $location = $group_participant->field_group_reference->entity->field_location->value; This is the most standard thing to see in custom Drupal code when traversing entity reference fields. Alas, very unfriendly code in terms of readability, eh? In...
#! code: Drupal 9: Loading All Routes From A Module
When creating Drupal modules I like to keep the hard coded components to a minimum. This helps when changing parts of the module in the future as hard coded links and other elements will require manual intervention and slow down maintenance. Sometimes, though, this isn't an option as you just need to have a few routes in your *.routing.yml file that point to controllers or forms within your module. I had a situation today where I was looking to load all of the routes that are contained in a module. I could then construct a page of links that would handily point to different parts of the module or feed those links into a sitemap. This meant that I wouldn't need to hard code this list into a controller, I just needed to load all the routes and print that list out instead. Especially handy if I ever added or removed a route as that would mean that list would update without me having to do it manually. Using Core Services As it happens, Drupal doesn't have a service that allows you to search for routes that have a similar signature or structure. There are a couple of things that look like they might work, but end up not being what I was looking for. I'll go through them here for completeness. The first option I found was the getRouteByName() method from the router.route_provider service. This does a one-to-one match of a given route against the routes you have within a site....
Chapter Three: Deploying an Ecosystem to Serve the Public: A Strategy for California’s Trial Courts
Overview We’ve been working over the last year to help the Judicial Council of California move the infrastructure and design of various California court sites (as we've said elsewhere, the California Judicial Branch is the largest legal system in the country). This ongoing effort is grounded by several desired outcomes:
Agiledrop.com Blog: Top Drupal blog posts from September 2021
September gave us a lot of interesting Drupal-related news and articles. Here’s our recap of some of our favorite posts. READ MORE
mcdruid.co.uk: Assessing the likelihood of a Drupal exploit of Ghostscript Zero Day CVE-2021-3781
My colleagues and I in the Drupal Security Team recently became aware of a Zero Day RCE vulnerability in Ghostscript. This was later assigned CVE-2021-3781. At least one viable Proof of Concept (PoC) was made public not long after the Zero Day which illustrated Scalable Vector Graphics (SVG) handling in Imagemagick being used as an attack vector. Drupal core doesn't use Ghostscript directly, but it's fairly common for Drupal sites to use Imagemagick in some form. As such, we began to look at how an attacker might try to exploit the Ghostscript vulnerability via SVG and Imagemagick on a Drupal site. Our goal in such an investigation is to determine whether it would be sufficiently easy, with a common Drupal configuration, that we ought to issue a Public Security Announcement (PSA) warning Drupal users and providing any mitigation steps they might be able to take until an upstream fix was available. Here's a quick write-up of some of the investigation I did. We'd determined that SVG is not in the default list of permitted image extensions in Drupal. However, the PoC write up showed Imagemagick being tricked into parsing an SVG with a fake jpg extension. I verified that in Drupal 9 the built-in file type detection prevented a malicious SVG from being smuggled into an upload with a permitted file extension. Drupal 7 core by itself doesn't have this protection, although modules are...

Number of Total Worldwide Registered Domains