December Drupal for Nonprofits Chat: Holiday Gathering
Our normally scheduled call to chat about all things Drupal and nonprofits will happen TODAY, Thursday, December 16 at 1pm ET / 10am PT. (Convert to your local time zone.)
We don't have anything on the agenda at the moment, so we're looking to enjoy an hour with our friends old and new having an informal chat about anything at the intersection of Drupal and nonprofits. Got something specific on your mind? Feel free to share ahead of time in our collaborative Google doc: https://nten.org/drupal/notes!
All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.
This free call is sponsored by NTEN.org and open to everyone.
Part 4: Good Drupal Leadership: What resources does an organization need to build a Drupal team?
People and teams build great software. It’s hard to find skilled Drupal developers, and it’s equally challenging to train Drupal developers. Drupal's documentation is not great. Meanwhile, one can gather an immense amount of information when attending a DrupalCon, DrupalCamp, or local meetup. There are myriad ways to learn Drupal. It is important to recognize that everyone has different ways to learn. Good Drupal leadership means providing teams with the tools and resources they need to learn Drupal.
Resourcing challenges
Learning
Drupal has a steep learning curve. It takes a few years to become a Drupal expert. Luckily, the Drupal community is passionate about mentoring and encouraging new contributors. Drupal beginners can easily find themselves in discussions with Drupal experts. Good Drupal leadership understands that learning will be an ongoing expectation.
Competing
Finding good Drupal talent is not easy. Agencies try to snatch up all the good Drupal developers to help grow their expertise and business. Organizations implementing Drupal can struggle to find and pay talented Drupal developers. The single best way for an organization to hire the best Drupal talents is to have a presence in the Drupal community. From sharing a case study on Drupal.org, to joining the Drupal Association, to sponsoring events, and contributing code, each of these steps helps build your organization's presence in the community.
Growing
How to Set Up Responsive Images in Drupal 9
Dawn Aly talks design, Drupal, and the community
Developers aren’t the only people involved in making Drupal great. It takes the input of designers, writers, and end users to help make the best software for the most people. In this Tag1 Team Talk celebrating 20 years of Drupal, we have one of those designers: Dawn Aly. Dawn has been an open source proponent through her career, from her first use of Drupal, to VP of digital strategy at Mediacurrent, and on to product manager for customer digital experience at Red Hat. Dawn’s long experience exemplifies how non-developers are critical to the success of Drupal.
Read more lynette@tag1co… Wed, 12/15/2021 - 06:22The Science Behind a Successful Drupal 7 to 9 Migration (and why some of them fail)
Remember that great website everyone at your company loved (or at least tolerated) that you were forced to migrate to a newer system? And the team you trusted to do so maybe bit off more than they can chew? What may have been once a perfectly nice looking and functional website, now becomes a mess of bizarre issues, poor performance, or sometimes, an almost unusable site.
If this sounds familiar and you are running into strange issues after you upgraded your Drupal 7 (or 6) site to Drupal 9 (or 8), please read this article till the end. We are going to get into the common problems site owners face after they upgrade Drupal 7 (or 6) to Drupal 9 (or 8) and how they can be solved. This won’t cover all issues we see when we come in for a migration rescue, but should at least get you to a point where you can go to sleep at night.
Drupal 7 to 9 Upgrade - The Fundamental ChallengeThe first question you’re probably asking yourself is, “Why?” Upgrading from Drupal 7 to Drupal 9 (Drupal 8 has now been sunsetted) seems like it shouldn’t be that hard from a platform perspective.
Update on elections for the Drupal Association board
A new term for the Drupal Association board has started on November 1st and we just held our first meeting on December 7th after ratifying the new members. You can check the directors for this term here.
I’d like to congratulate once more Mike Herchel for winning the 2021 elections and gaining a 2-term seat as a community/at large representative. This means that the term for Leslie Glynn has ended, and she’s joined the board alumni list, many thanks for all your work with the community, Leslie!
Among the first things that the board needs to do is form the committees for this 2021-2022 term, and I’m very excited I will be acting as the community committee head this term. As soon as all is set up and we agree on the list of things we want to accomplish (hopefully January), I will update a new blog about it.
I was able to pass a motion in our last board meeting regarding revisiting the election process for the at large directors, I am happy the board reached a compromise and a new task force will be created. This task force will be engaging with the community in open conversations to come up with a recommendation on how the elections should look like moving forward.
We will be posting an announcement soon so community members that are interested in being part of this group can nominate themselves. One of the concerns shared on the board is that this task force needs to be diverse enough to have all the voices represented and bias is reduced to a minimum, and I wholeheartedly agree with this statement.
Functions and filters to get you started with Twig Tweak in Drupal 9 (with examples)
Twig tweak module is a huge time saver for Drupal developers working with advanced twig templates. It offers several useful functions and filters that can ease the developer’s job. Developers can also write well formatted code which is more comprehensible. I highly recommend usage of the Twig tweak module in Drupal 9 for quick and easy Drupal development.
Drupal 8 has now reached EOL. Now is the time to migrate to Drupal 9. However, if you're still trying your hands out at creating a custom module in Drupal 8, these functions will work for a Drupal 8 setup too.
How to Install the Twig Tweak ModuleYou can either download and install the module from here or from composer. Once you download and extract the file, place inside your project directory. You can also choose to use composer to download with the following command –
composer require drupal/twig_tweak
Go to Extend and enable the module. You can even use drush to enable the module.
Implementing Twig Tweak Functions and Filters in Drupal 9Views and views results
To render the views in twig template, we can use the twig tweak snippet as below.
Syntax:
6 software development trends to expect in 2022
In this article, we take a look at 6 software development trends we expect to gain popularity in the year ahead.
READ MOREPSA: Config Split and Drupal 9.3
Drupal 9.3.0 was just released! It contains a lot of cool new things we are excited about but for users of Config Split there is one change that will impact on what is split off by Config Split.
For those unfamiliar with it, Config Split is a Drupal module developed by Nuvole, which splits the configuration when it is exported and merges it back together when it is imported. It is useful in many scenarios but best tailored to having some configuration only in some environments (for example the Devel module only in development environments).
The important change in Drupal 9.3+ is that permissions must exist. This is enforced with configuration dependencies which roles can now have.
Config Split 1.x will split off all the config which depends on the module you split off. Which means that if a role has a permission from the module you are splitting off, it will then in turn also be split. This is how Config Split 1.x works and it is not considered a bug. However, most likely this is not what you wanted, so what is the solution?
Use Config Split 2.x! The new version is currently still in beta but I aim to tag a new release soon. In particular Config Split 2.x splits off modules as if they had been uninstalled. Which means that instead of splitting the role completely, it will just remove the permissions and save them in a patch for the role.
Contribution days at Factorial
This article highlights our recent announcement of introducing the contribution days to the factorial team. The contribution days will allow the team members to dedicate more time on their open source projects.
Talking Drupal #325 - Gin Admin Theme
Today we are talking about The Gin Admin Theme with Sascha Eggenberger.
Drupal 9: Using And Adding oEmbed Providers
Drupal has had the ability to use oEmbed in core since version 8.6.0. It was included along with the other media changes that went into core in that version.
I have used some of the Drupal core oEmbed functionality to include YouTube videos into content, but I've never dug deeper to see what else I could do with it. Although Drupal comes with Vimeo and YouTube services available there are many more services to include, you just need to enable them.
In this article I will show what oEmbed is, how to use it out of the box, and then how to add more services to your system.
First, let's cover some groundwork and address what oEmbed is.
What is oEmbed?oEmbed is a standard that allows a client to ask a service for information on how to embed a resource. Essentially a website will expose a service that you can call to get information on what markup to create in order to embed that item; including some metadata about that resource. This means that you don't need to sign into a complex API, or scrape content from a page, it's all handed to you.
A good example is YouTube, since that is well understood and built into Drupal's default oEmbed providers. Take the following URL of a video on the YouTube.
https://www.youtube.com/watch?v=uzRQ93UEOe0
You would ask YouTube for information on how to embed that video using the YouTube oEmbed service.
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=uzRQ93UEOe0
YouTube responds with a JSON response containing information about that video, including title, duration, dimensions, a thumbnail image and the code used to embed that video.
Run BLT Commands on a Remote Server
How Docksal Custom commands and CLI are the bridge
Running Drush commands on a remote server is simple with the use of Drush aliases. You define where the server is, how to connect to the server, the user that connects to the server, and the path of the application. Drush takes care of that connection and performs the command you have called on the server. With the Acquia BLT tool, you don’t have the same option. So, you are forced to ssh to the server, navigate to the proper directory, and run your command on the server, or are you?
With Docksal, you can use ssh config to create host aliases and write a custom command to run that command on the specified server. Here is a look at the steps necessary to achieve that goal:
Create an ssh config file
If you are not familiar with ssh config files, may I suggest a little side reading about them. Having an ssh config file in your home directory can be extremely useful when you have to connect to various servers with different usernames or special parameters. Instead of having to type a long command every time you want to connect to a server, you simply have to remember your host alias.
Top Drupal blog posts from November 2021
Here’s our selection of some of the top Drupal-related articles written in November. We hope you enjoy revisiting them!
READ MOREWhy URLs Matter and How to Set Up Automatic URL Generation in Drupal
Drupal 9.3.0 is available
The third feature release of Drupal 9 introduces experimental support for CKEditor 5, makes the Olivero theme stable and introduces various content editor and developer improvements.
The Olivero frontend theme is now stable!
The new Olivero frontend theme was added in Drupal 9.1.0 and thanks to various contributors since then is now stable. A modern and clear theme, Olivero is planned to become the new default Drupal theme later (replacing Bartik). Subtheming Olivero is currently not supported, but formal support may be included in the future.
The theme is named after Rachel Olivero (1982-2019). She was the head of the organizational technology group at the National Federation of the Blind, a well-known accessibility expert, a Drupal community contributor, and a friend to many.
New experimental support for CKEditor 5
A new beta experimental CKEditor 5 module is included with Drupal 9.3.0. Version 5 of CKEditor is an entirely new editor with visual and architectural improvements. While building the integration, the team worked hard with CKSource to implement functionality crucial for Drupal sites, such as General HTML Support and ways to dynamically load CKEditor plugins, so the visual web based setup of the editor is still available in Drupal. Also special care was given to providing a fluid upgrade path from CKEditor 4 configurations.
Drupal extensions that integrate with CKEditor 4 still need to be updated for CKEditor 5, however the plan is to remove CKEditor 4 support in Drupal 10, so we encourage everyone to try the new module on non-production environments.
Michael Anello, DrupalEasy, and the Community
In this episode of our Tag1 Team Talks on 20 Years of Drupal, we’re fortunate to have Michael Anello, aka ultimike. Michael is the co-founder of DrupalEasy - the Drupal training and development shop based out of central Florida. He’s also one of the drivers behind the DrupalEasy podcast, one of the longest running and most prolific podcasts in the Drupal community.
Read more lynette@tag1co… Wed, 12/08/2021 - 08:30Pros and Cons of 7 Page Builders in Drupal 9
Introducing Search API OpenSearch
This year a fork of Elasticsearch was created called OpenSearch. The reasons behind it are varied, and I'm not going to get into that side of things other than to say there are two sides to every story, and it didn't end well.
Our Skpr hosting platform offers a managed AWS Elasticsearch service. As a result of the split, AWS has deprecated Elasticsearch and is migrating all of its managed services to OpenSearch.
This left us in a bit of a difficult situation.
In this blog post, we explain our rationale for choosing to fork Elasticsearch Connector and create a new Search API OpenSearch module.
by kim.pepper / 8 December 2021At PreviousNext, a number of our projects are currently using the Elasticsearch Connector module. This module is based on the Elasticsearch PHP library, as well as a PHP wrapper library. The module has been around since 2013, supports Drupal 7, 8 and 9 and has almost 5000 reported sites using it.
Migrating Drupal 7 Sites to Drupal 9
The Office of Academic Clinical Affairs (OACA) supports clinical research and care for the University of Minnesota.
Their portfolio of services includes overseeing a dozen different institutes, including the Center for Bioethics, Masonic Cancer Center, and the Institute for Cell, Gene and Immunotherapy. Each of these organizations has its own unique online content and website.
OACA came to Electric Citizen needing help upgrading 11 of their websites to the latest version of Drupal while applying new designs and features.
The final list of sites we worked on includes:
- Clinical Affairs
- Center for Bioethics
- Center for Global Health and Social Responsibility
- Clinical and Translations Science Institute
- Community-University Health Care Center
- Health Sciences Education Center
- Institute for Cell, Gene, and Immunotherapy
- Institute for Health Informatics
- M Simulation
- Masonic Cancer Center
- Masonic Institute for the Developing Brain