Drupal CMS News Digest

developments tricks, articles and reviews from Drupal specialists

News Categories: SEO  Design  Marketing
OpenLucius: Update OpenLucius | Custom section names, group header, group archive and more
Based on user feedback and own experience, we built new features and tuned existing ones. Here are the updates: 1. Choose your own section names You can now choose a custom name for each section, you can even provide different names in different groups. Go to the group settings and choose your custom section names: See your own section names:
Bounteous.com: How to Manage Drupal Entities Through Webhook Notifications
Need to use webhooks to manage data in Drupal? Use this tutorial and sample module as a springboard for your next project.
Drupal blog: Migration Security and More: We Answer Your Burning Questions About Drupal 9
This blog has been re-posted and edited with permission from Acquia's blog. We’re so close to the release of Drupal 9 and the excitement is alive all throughout the Drupal community. It has been 5 years since Drupal 8.0 was released and in that time, thousands of contributors and organizations have worked together to create a more powerful, accessible and innovative Drupal experience based on the input of people all around the world. As we await the reveal, we know that you are eager to know what Drupal 9 will mean for your sites and the next generation of web experiences.  We recently joined Drupal founder Dries Buytaert in a webinar hosted by The Drupal Association and Acquia to answer your top Drupal 9 questions. Since we weren’t able to cover everyone’s questions, we wanted to cover some of the most popular ones here. Keep reading to find out what’s in store for Drupal going forward.   Making the Migration What are the migration options for users currently on Drupal 7?  Gabor: Prior to the release of Drupal 9, we’ve been recommending people move to Drupal 8 first because the upgrade from 8 to 9 is much simpler. However, once Drupal 9 is released, people can use the Drupal 7 to Drupal 9 migration path directly built into Drupal 9. The question comes down to whether the extensions that you are using are already available for Drupal 9 or not. Drupal has 9,000 extensions and...
Agaric Collective: Keep modules compatible with multiple Drupal Core branches while using new services
While working on making a module compatible with Drupal 9 I found that the module was using an obsolete function that became a new service. It was something like this: /** * My plugin. * * @SearchPlugin( * id = "my_plugin", * title = @Translation("My plugin") * ) */ class MyPluginSearch extends SearchPluginBase implements AccessibleInterface, SearchIndexingInterface { /** * {@inheritdoc} */ public static function create( ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition ) { return new static( $configuration, $plugin_id, $plugin_definition ); } /** ... **/ public function indexClear() { search_index_clear($this->getPluginId()); } } The function search_index_clear is now part of the new search.index service that was added on Drupal 8.8. In order to keep this working on Drupal 8.8+ and Drupal 9 we need to inject the service in the create function. But if we do this unconditionally, we will get an error in Drupal 8.7 because that service was added on 8.8. What to do then?   Fortunately years ago I read an article that addressed a similar need. It talked about how to safely extends Drupal 8 plugin classes without fear of constructor changes. In my case I didn't want to change the constructor to keep it compatible with Drupal 8.7 and below. At the same time, I...
Tag1 Consulting: What you need to know about Drupal 9
Though the biggest news this month is the release of Drupal 9, that doesn't mean big releases aren't happening on other versions of Drupal too. The milestone represented by Drupal 9 also welcomes new versions of both Drupal 7 and Drupal 8 to the Drupal ecosystem. It's been four-and-a-half years since Drupal 8 was released, and 54 months of development from scores of contributors around the world went into Drupal 9. And thanks to the indefatigable efforts of open-source contributors in the module ecosystem, there are already over 2,000 contributed modules ready to go, compatible with Drupal 9 out of the box. Drupal 9 is a massive step for innovation in the Drupal community, thanks to the careful thought that went into how Drupal can continue to stay ahead of the curve. During the Drupal 9 development cycle, which was largely about deprecating and removing old code, the Drupal core committers laid the groundwork for the future and facilitated a more pleasant upgrade experience from Drupal 8 to Drupal 9 that should smooth over many of the hindrances that characterized the transition from Drupal 7 to Drupal 8. And there's already exciting new plans ahead for Drupal 9, with coming...Read more preston Mon, 06/08/2020 - 16:27
Drupal blog: Drupal in COVID-19 Series: Community Learning for ME
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 Patrick Corbett of Redfin Solutions. Here, he describes their project at the  Rural Aspirations Project. The Rural Aspirations Project was created to expand educational opportunities in rural Maine that develop and honor the community while stimulating the innate curiosity of the students and teachers. When the Maine state government shut down the schools to limit the spread of COVID-19, parents and teachers found their roles turned upside down. Rural Aspirations saw the need for a service to connect Maine families and teachers with the wide array of activities and resources offered by Maine organizations. In light of this growing need, Redfin Solutions collaborated with Rural Aspirations to launch an improved Community Learning for ME website. The new website had to be capable of addressing immediate needs in the community: collegial support for teachers, a way for organizations to explore and pilot innovative virtual connections, and a quick and easy resource for families that are struggling to manage what some have called “crisis schooling.” With communitylearningforme.org, local educational organizations such as the University of Maine Cooperative Extension, the Portland Public Library, and...
Evolving Web: Empowering Universities With Large-scale Drupal Platforms Using Custom Upstreams
For higher education IT departments, it's a familiar scenario.    Your team is in charge of managing hundreds of websites that support different mission-critical areas of your organization. You are responsible for updating the sites, keeping them all up and running, and optimizing their performance. Additionally, each site has its own small team updating content, creating new features, and working within the Drupal admin system. They are predominantly non-technical users, and reach out to your team whenever they need help.   Over the years, we've worked with many teams facing these exact challenges. Through our clients' experiences, it is quite clear that your ability to effectively manage your platform is substantially determined by your architecture. Drupal 8 core includes multisite functionality and is a popular choice that works well up to a certain number of websites. For a large-scale university platform with hundreds of sites, our preference is to use a shared codebase that provides more fine-grained control. This is exactly what Pantheon Custom Upstreams provides.   Why is that? Read on... Challenges for Deploying Higher Education Websites While each of our clients is unique, they also share many of the same challenges. For our higher education clients with large, complex Drupal platforms, we encounter some key pain points time and time again.   Redundant...
DrupalEasy: An effective method of using Config Split
If you use Drupal 8's configuration system, then you know that one of the trickiest parts of using it effectively is managing configuration on a per-environment basis. Luckily, the Config Split module makes it easy to manage different configurations in different environments, but how to set it up properly isn't always readily apparent.  In this blog post, I'll provide one method for setting up Config Split in an efficient manner, with splits for local, remote development, and production environments.  The goal is to be able to set things up right the first time, without having to worry about manually enabling/disabling different "splits" depending on the environment.  The key to it all is leveraging Config Split's ability to enable/disable individual splits with configuration in the settings.php file. The first step is to set up your splits - I normally start by doing this on my local environment. Once Config Split is enabled, via the admin toolbar, head to Configuration | Development | Configuration Split Settings (/admin/config/development/configuration/config-split). Click to add a new split setting - in this example, we'll use the following settings: Label: Local Folder: ../config/splits/local Active: (selected) Modules: Complete Split: Devel, Devel Generate, Devel Kint, Reroute emails Configuration items: reroute_emails.settings Let's also add a second split...
OpenConcept: Stories from the Open Gov Interview
I had the pleasure of being interviewed by Richard Pietro as part of his Stories from the Open Gov podcast. Richard has gotten some amazing speakers on his show including Sir Nigel Shadbolt, Ashley Casovan, Nathaniel Heller, Melanie Robert, Rob Davidson, Tony Clement, Michael Geist, Lindsey Marchessault, Ryan Androsoff, Tracey Lauriault, Keith Loo, and Jesse Hirsh. You should subscribe to the podcast and listen to it on SoundCloud. We talk about a range of things here from accessibility to open government and open source, I hope you find it interesting. I was encouraged by Ioanna Talasli & Nicolas Steenhout to promote podcasts which are accessible and have transcripts. This is difficult for many podcasts, but I wanted to start ensuring that at least the podcasts I am interviewed with have transcripts. For this one I used Rev.com to transcribe the audio which Richard provided from the discussion. It was really quite accurate and also a useful tool as a speaker to actually see what you say. I have to admit to editing the text below to remove some of my filler words and phrases. I do hope that with this awareness I'll become a better speaker over time. With that said, I hope you enjoy the content.  Richard Pietro:
Hello and welcome to stories from the Open Gov, a podcast dedicated to telling the stories about what open government and open data look like. My name is...
DrupalCon News: DrupalCon Global Mega Update: How the first Virtual DrupalCon will Look and Feel
In light of last week’s challenging events, we are reflecting on the importance that Drupal is global in scale and has the capability to promote hope through access. With the launch of Drupal 9, we're witnessing an increased interest in the Drupal project from around the world. This year, we have a unique opportunity with our virtual conference to reach a broader audience than ever before. Join us to learn and meet others online everywhere at DrupalCon Global from July 14-17th, 2020 (registration is open now). 
Just a Gwai Lo: Drupal 9 Is Here, and the Pirate Module is Ready. Yarr!
In anticipation of the June 3rd launch of Drupal 9, I spent the weekend a week previous to the launch dusting off the Drupal module I'm most famous for: the Pirate module! What does it do, exactly? Like the WP extension, the Pirate module changes your site's content to pirate-speak on September 19th, International Talk Like a Pirate Day. I took the tagline ("Ah, Squiddy! I got nothing against ye. I just heard there was gold in yer belly. Ha ha har, ha ha ha har!"), which I buried in the configuration, from a non-pirate, sea captain Horatio McCallister. (Spoiler alert: He's not even a real sea captain.) It adds a text filter (previously known as an input format) to whatever field you specify, and on September 19th, that field's content is changed into various pirate-like sayings, interspersed with yarr! and avast! During Drupal's semantic versioning transition, versions 8.x-1.1 forward are intended to be fully compatible with Drupal 9. The module started out as an internal ticket at Bryght in 2005. Boris Mann came across the Talk Like a Pirate plugin for WordPress, and since both Drupal and WordPress are written in PHP, he wanted it ported over. I took the ticket, 45 minutes before a colleague saw it and, almost 15 years later, it serves as the project I use to keep up with Drupal internals. Thanks to a patch from Snehal Brahmbhatt, later confirmed by a robot, I am able to...
OpenSense Labs: Writing For Designers
Writing For Designers Tuba Ayyubi Fri, 06/05/2020 - 14:25
Writing is an exploration. You start from nothing and learn as you go.
- E. L. Doctorow When you think of a writer, the first thing that would come to your mind is someone who writes novels, blogs, or poems, or maybe scripts. That’s where we go wrong. Today, content is required in every part of the web. Not only does it help your audience create a relationship with your brand but it covers every single aspect of the business. Upkeeping your content will help you upkeep your brand. Most of the designers don’t see writing as a skill that is required for them. UX designs are not complete without writing. It is important for them to communicate in order to influence.  Writing Can Be Hard Writing is hard even for writers. There are times that you have to write about things that you don’t believe in or things that you don’t know about. The more you accept that it is a tough task, the more it becomes easy for you.  Even though writing is hard, it doesn’t have to be painful. In school, we were asked to write essays which had a specific word count which made most of us assume that writing is a painful and unpleasant experience.  A writer's job is to help in selling a product, but a designer who writes does more than that. He is responsible for the writing along with the design. Essential Tips...
Matt Glaman: Boost your test writing productivity with PHPUnit for PhpStorm
Boost your test writing productivity with PHPUnit for PhpStormThursday 4, June 2020mglaman # phpstorm phpunit drupal
Kristen Pol: Drupal for justice
As I'm sure you already know, Drupal 9.0.0 was released yesterday which was the result of thousands of people in the Drupal community coming together to make Drupal even more amazing. The release has a new Drupal 9 landing page and a Drupal 9 video that highlights the journey of Drupal and the Drupal community. We are truly better together. You are also most certainly aware of the tragic killing of George Floyd as a result of police brutality and the resulting protests throughout the United States and other parts of the world. As an American, it sickens me to see how the Black community is treated in the US. Systemic racism is real and real change is needed urgently. Watching the peaceful protests throughout my country, I feel outrage, sadness, and hope.

Source: WYDAILY For better or worse, I've been on Twitter a lot over the last couple months, and during the last couple weeks, it's been difficult to reconcile the content in my Twitter feed. Violence and anger and grief from yet another senseless tragedy in the Black community. Excitement and pride and joy from years of hard work on Drupal 9. I've struggled to take pleasure in the Drupal 9 release while watching the heartbreaking events unfold in the news. I wanted to write a post about how amazing Drupal 9 is and how amazing the Drupal community is. Yet I'm preoccupied with thinking how I can make things...
Electric Citizen: What You Need to Know About Drupal 9
Happy birthday! Drupal 9 was officially released on June 3rd, 2020 and is available to start using today. But what does this mean for the thousands of websites currently using Drupal 8 (and earlier)? Do you have to upgrade? Will your existing Drupal site no longer be supported? What is new and how different is it from the Drupal we know?  Let’s take a look at these questions, review the upgrade process and highlight what’s new or changed with the latest version of this popular open-source CMS.
Joachim's blog: Using lazy builders with Twig templates
Lazy builders were introduced in Drupal 8's render system to solve the problem of pieces of your page that have a low cacheability affecting the cacheability of the whole page. Typical uses of this technique are with entire render arrays which are handed over to a lazy builder. However, in retrofitting an existing site to make use of caching more effectively, I found that we have a large amount of content that would be cacheable were it not for a single string. Specifically, we have a DIV of the details for a product, but also in that DIV there is the serial number for the user's specific instance of that product. The whole of this product DIV was output by a Twig template. I could have ripped this up and remade it as a big render array, putting the lazy builder in for the serial number, but this seemed like a lot of work, and would also make our front-end developers unhappy. It turned out there was another way. The render system deals with placeholders for lazy builders automatically, so you typically will just do: $build['uncacheable_bit'] = [ '#lazy_builder' => [ 'my_service:myLazyBuilder', [], ], ]; but as I learned from a blog post by Borisson, you can make the placeholders yourself put them anywhere in the content and attach the lazy builders to the build array. This is what the render system does when it handles a '#lazy_builder' builder render...

Number of Total Worldwide Registered Domains Updated: Oct 22 2020