Talking Drupal: Talking Drupal #369 - PHP End of Life

Today we are talking about PHP End of Life with Josh Waihi & Matt Glaman.

For show notes visit: www.talkingDrupal.com/369

Topics
  • PHP End of Life (EoL)
  • Why does PHP go EoL
  • When will php 8.0 EoL
  • How are dates scheduled
  • Who is in charge
  • How do you prepare as a developer
  • How do you prepare as a platform
  • Acquia is supporting for one more year
  • Pantheon has no forced upgrades
  • How do you find edge cases
  • Do you speak with PHP maintainers
  • What are the changes to be excited about 7 > 8
  • For D7 this is challenging, any tips?
Resources Guests

Matt Glaman - @nmdmatt Josh Waihi - @joshwaihi

Hosts

Nic Laflin - www.nLighteneddevelopment.com @nicxvan John Picozzi - www.epam.com @johnpicozzi Tearyne Almendariz - @tearyneg

MOTW

HTTP Cache Control HTTP Cache Control module helps fine grain control of Drupal’s Cache Control headers.

Evolving Web: Building a Unified Design Language with Design Systems

Image removed.

Driven by big software and design-driven companies such as Airbnb, Shopify, or Atlassian, design systems have become a popular way to build better digital products. Here, we share how pattern libraries are different from a design system, and yet an essential part of the system to build a unified design language.

What is a Design System and How is it Helpful?

Design systems are more than a collection of assets or a library of patterns. They are a set of standards, style guides and components used to unify a brand's experience.

I see two main benefits of design systems:

  1. Consistency: with a set of core brand elements that are reused consistently across all channels, your audience will recognize your brand among your competitors more quickly. 

  2. Efficiency: with a lot of web pages, several websites, apps or other marketing channels, a design system makes the design process more efficient. 

When designers or developers reuse core elements, the results are not only more consistent with previous designs, but they can also focus on the more complex tasks at hand. No need to start over with the design or implementation of a button or an icon, efforts can go on the hierarchy of elements, their flow and more complicated features.

Think of a design system as combining a cookbook and a shelf of ingredients. You don’t have to start growing avocados whenever you want to make avocado toast. The recipe gives tips on using ingredients that you already have.

Similarly, a design system provides tips, guidelines and ingredients. The first chapter often covers brand elements such as the logo, the colours and fonts and how to use them. It can include design and writing style guides. This is the foundation of the brand identity. 

Image removed. I’m actually growing my own avocado plant for fun (left image). But thanks to the fruit store around the corner, I don’t have to wait months or years until I can make my next avocado toast!

The Atomic Design Approach

Aside from logos and colours, digital design systems have other ready-to-use web and app components. Those can be buttons, icons or input fields. One popular approach to group components can be found in the Atomic Design approach. The Atomic design groups components as

  • Atoms: the smallest parts in the system, such as buttons, icons and input fields.
  • Molecules: a typical form, for instance, consists of a label, an input field and a button. 
  • Organisms: the largest parts are organisms that are made out of molecules; a header of a website including the logo, the main navigation, and a search input is an example of an organism.

Other approaches call the smaller parts “components” and the larger combinations “patterns”.

Image removed.  Atomic Design: User interface elements grouped into atoms, molecules and organisms. Learn more here

Pros & Cons of Design Systems

No matter what we call the elements, reusable components make designers' lives much easier! UI design tools like Figma, Sketch and Adobe XD now all provide ways to create and share reusable elements within design files and even across a project team. It fits into an agile development approach too, because it’s possible to iterate on the colour of a button, even late in a design process. If the file is set up well, the button can be applied a hundred times throughout the file and only needs to be updated once in the original file. 

But the benefits go beyond the design process. Websites built with Drupal and WordPress are also set up with reusable backend components. After handing over the new digital platforms to our clients, content editors can pick and choose these building blocks to assemble new landing pages. With this system, the websites can follow clients' needs and grow with their business or institution; a bit like building with Lego, except, in our case, you can even change the colour of your block! (Of course, within the constraints of the branding guidelines and accessibility standards.)

Image removed.  Design systems turn chaos into order with building blocks and guidelines

 

Is Maintaining A Design System Worth it?

There is much more to a design system than the sum of its parts. It needs guidelines to make sure the elements are combined in the best possible way. And it needs people who care about the brand to keep the system up to date because a design system is never static. It can be very time intensive to maintain such a system and you might be wondering if it’s worth it, or if it might come at the expense of creativity.

If a system is applied very strictly and doesn’t allow for flexibility, this can be true. But you'd be blaming the method when it’s the execution that makes all the difference. I believe that, if the brand identity atoms are well-defined, you can already achieve a great amount of visual consistency. Even if you mix and match them to create new molecules and organisms. Just like there are a ton of different ways to prepare avocado toast, you want to allow for some freedom and creativity in the kitchen as well as in the web design process.

Image removed. Check out the Atlassian design system

 

Have a pattern library or design system project in mind?

//--> //--> //-->

+ more awesome articles by Evolving Web

#! code: Drupal 9: Altering Routes With The Route Subscriber Service

Creating services that listen events in Drupal is pretty straightforward; you just need to create and register a service class and let Drupal know what event you want to trigger on.

Altering routes in a Drupal site is also done through an event trigger, but in this case the implementation is slightly different. This is because Drupal takes care of the trigger setup and allows you to create an event subscriber that will automatically trigger when the routes are created.

In this article I will go through how to set up a route alter event subscriber, why the setup is slightly different from normal events, and what this event might be used for.

Altering Routes Using A Route Subscriber

Registering a route subscriber is done just like any other even subscriber with an entry in the module services YAML file. Adding a tag with the name of "event_subscriber" tells Drupal that this class should be included when events are triggered.

services: mymodule.route_subscriber: class: Drupal\mymodule\Routing\CustomRouteSubscriber tags: - { name: event_subscriber }

Next, we need to add the routing class to listen to the event. This can be put anywhere in the module, but its conventionally put into a Routing directory within the module src directory. Your module's directory structure should look something like this with the route subscriber in place.

Read more.

Drupal Association blog: Two months until Drupal 10 is expected to be released!

The countdown for Drupal 10 is on, with the expected release date right around the corner! Drupal 10 is coming this 14 December 2022. Drupal 10.0.0-beta2 and 9.5.0-beta2 were released in September. Release candidates are expected in mid-November. Check out the Drupal core release cycle page on Drupal.org for more information.

With Drupal 10 coming out in two months, you might be wondering how you can prepare to upgrade to Drupal 10. Here are a few key ways to get ready:

  • If you’re on Drupal 9, use Upgrade Status on your Drupal 9 site to get an estimate of the work needed. The plan provided by the module will tell you where to use drupal-rector to update your own custom code and where to help contributed projects update their code.

  • Drupal 8 reached its end of life in November 2021! You must update to Drupal 9 first to update to Drupal 10 later on. Use Upgrade Status to analyze your site. There are almost 9 thousand contributed projects ready for Drupal 9

  • Drupal 7 end of life has been extended to at least Nov 2023, and may be extended further. Yes, this is after the planned release of Drupal 10. While Drupal 10 will include migration tools from Drupal 7, it is much more likely that the contributed projects you use are available for Drupal 9 already, and they may not be ready shortly after the Drupal 10 release. Therefore, you shouldn't wait to migrate to Drupal 10 directly, but start updating to Drupal 9 soon. 

All of this information and more is available on the Drupal 10 page.  You can also check out the page to familiarize yourself with the new features!

Drupal 10 has been a big project, and we cannot be more thankful for our amazing team of contributors who are working hard to make it possible. Thank you to everyone who has been working to complete the requirements and strategic initiatives needed for Drupal 10!

Stay tuned throughout the months leading up to the 14 December release target for more updates and information on Drupal 10, and make sure to follow us on Twitter @DrupalAssoc and @Drupal to stay up-to-date on all of the latest Drupal 10 news.

Flocon de toile | Freelance Drupal: Create a shipping method with Drupal commerce 2


Drupal commerce provides several standard shipping methods that we can package according to different criteria (order amount, customer profile, order type, order weight, product type, etc.). For specific needs, we can add a customised shipping method which can then perform the necessary calculations to determine the delivery cost.

Ramsalt Lab: DrupalCon Prague 2022 - Top recommendations by Ramsalt!

DrupalCon Prague 2022 - Top recommendations by Ramsalt!

Image removed.

Hansa Pandit

Drupal frontend developer 13.10.2022 Image removed.

After two years, it was finally time to continue Ramsalt’s one of the most exciting traditions and meet the Drupal community in person again at DrupalCon Prague 2022. Ramsalt had 11 of its team members joining the event in Prague and just as many were attending it virtually. Based on our team’s experience, we have picked out our top recommendations for you from this year’s big event.

Keynote: Growing your business

Pavlina shared facts and practical ideas that can help businesses to scale their operations. Like; the number one blocker for innovation is internal communication. To overcome this blocker, do 1 to 1 meetings with the team twice a month. Feedback to the team daily and over communicate. Anyone interested in company development should watch this presentation.  

-Yngve Bergheim, CEO and Stephan Zeidler CTA

How Drupal 10 will make you fall in love with Drupal theming

This presentation was really awesome, I loved every bit of it. Mainly, it will make developers’ life much easier while developing drupal 10 themes or twig debugging and a one-click twig debugger enabling feature. Also, it supports some of the unique features like adding twig suggestions without using any hook. It includes support for single-file components which will be a big win for developers
Also, it will include modern CSS properties like all: revert so you don't have to reset each CSS property one by one, which can reduce CSS code.

-Neslee Canil Pinto, Drupal developer

Conflict management 

The customer is always right... except when they are not! Building collaborative partnerships and handling conflict in digital projects. | DrupalCon
This presentation focused on conflict management and wrong expectations in client projects. The key takeaway was to establish four fundamentals: transparency, communication, structure, and documentation. There were a lot of steps and best practices mentioned to prevent overpromising and escalations. Every PM should take this into account for their day-to-day client work.

-Nina Holzapfel, project manager

Drupal theming improvements coming to Drupal 10

Off of a blog post called “Level Up Your Twiggery” written by Hawkeye Tenderwolf from Lullabot, some of the ideas shared here is finding their way to the Drupal world, which is neat and saves you quite a lot of time and a lot of unneeded markups you can skip. The cool thing is the `|as` filter, which drupal turned into `|add_suggestion` which I believe the actual `|as` name would’ve been better, regardless it’s cool to see it in Drupal.

-Sohail Lajevardi, Frontend Engineer

Mind the last 20%!!!

Bendev had an interesting talk about managing time in projects and the experiences of other teams in their efforts to keep projects on time and schedule. Especially how using time on discovery in the early stages of the project we can mitigate much of the problems that can arise in the end stages of a project.

-Helge Notø, Project Manager 

Reimagining text editing with CKEditor

Upgrading from CKEditor 4 is simple and lossless. It is now possible to make inline edits. There are more options for aligning images with or without text flowing around them. The module will be default in core from version 9.5. There is no longer support for using the editor on IE11. The presentation also touched on having stylesheets for CKEditor 5 as an option. The use case could be to have the styling in the editor look more like how the styling is on the published content. 
It is recommended for developers that work with site-building to have an overview of these new features as well as to know other editors (such as Gutenberg). The new version of CKEditor 5 seems to have a bit more in common with GB when it comes to UI. It’s also nice to know some of this if you’re involved in the support or training of client users.

-Jon Simonsen, Frontend developer

Web Wash: Host and Build a Blog using Drupal and Cloudways

In this video, you’ll learn how to build a Drupal site from start to finish. We start by setting up hosting for the site on Cloudways and pointing to a custom domain name.

Once hosting has been set up, we start building out the site. We create a custom content type, configure layout builder, add media functionality, create a bunch of custom view pages and much more.

I’ve broken out the video into sections below with timecodes and extra resources. For the content below to make any sense, you should follow along by watching the video.