Salsa Digital: Drupal patching — a complete Drupal self-help guide for effective patch management to keep your website up-to-date, stable and secure

Image removed.Drupal patching to keep your site up-to-date, stable and secure Welcome to the fourth instalment of our comprehensive self-help guide series, focused on improving your Drupal website. In this 6-part series, we delve into six vital metrics for a successful Drupal website: Security Performance Accessibility Patches SEO  Carbon emissions  In this guide we focus on application patching , a crucial aspect of maintaining any software including Drupal. With continuous improvements and updates, it’s vital to ensure your Drupal installation is up-to-date and secure.  A well-maintained Drupal website not only offers a reliable user experience but also keeps your data secure from potential threats.

Matt Glaman: Book Review: Modernizing Drupal 10 Theme Development

I just finished reading Modernizing Drupal 10 Theme Development published by Packt Publishing by Luca Lusso. Don't let the title make you think it is about theme development. The book provides excellent coverage of general Drupal knowledge, so much so that I highly recommend this book as a go-to resource for any frontend or full-stack developer new to Drupal. I'd also recommend it for any backend developer working on a large team so that they understand the work their frontend colleagues are performing and how to assist them best.

I enjoyed the flow of the chapters. Reading this book made me think back to when I had my first job building websites, which was primarily front-end development. The book takes you down the journey of a developer tasked to implement a design onto a Drupal site.

Specbee: Your Guide to the World of Drupal Developer Roles

So you wish to start your career in Drupal and want to explore the best path forward. You turn to Google, searching for the most popular, or rather high-paying (pun intended ;)) Drupal gigs. But is that enough? Aren’t you missing a critical factor - the relevant skills required for each of those roles?  If you have done a background check on Drupal by now, you already know that Drupal is evolving as a powerful and versatile CMS. It is trusted by many popular organizations for their online presence like Tesla, the United Nations, Oxford University, the Indian Government, and more. Drupal, being an open-source platform, also opens up numerous career opportunities. So, if you aim to thrive in the world of Drupal, you probably have a bunch of questions running through your mind. Questions like what is the role of a Drupal developer, what are the benefits of pursuing a career in Drupal, and what skills does a Drupal developer need for such a career?  In this blog post, we will answer all your pressing questions, including one of Drupal’s most notorious conundrums - Is it hard to learn Drupal? Why Choose a Career in Drupal A career in Drupal can offer several benefits for individuals who are passionate about Drupal web development, content management, and digital technology. Here are some of the benefits of a career in Drupal: High Demand for Drupal Developers: Due to its scalability and secure nature, Drupal is widely used by organizations, government agencies, and businesses around the world to build and manage their websites and web applications. Therefore, there’s a constant demand for skilled Drupal developers and administrators, making it a lucrative career choice. Open-Source Community: Drupal is an open-source platform with a vibrant and supportive community of developers, designers, site builders, and users. Being a part of this wide community can bring you valuable networking opportunities, access to resources, and the chance to contribute to different Drupal projects while enhancing your skillset. Continuous Learning and Skill Development: The constant evolution of the Drupal ecosystem opens up the gateways to learning and applying new skills regularly. This can keep your career interesting and help you stay competitive in the field. Competitive Salaries: As a Drupal developer or professional, you can often expect to earn competitive salaries due to the specialized skills and the demand for such expertise. Salary levels may vary based on factors like expertise, experience, location, and job role. Remote Work Opportunities: Drupal development and support can often be done remotely, allowing you to work from anywhere with an internet connection. What better flexibility can anyone want? A better work-life balance that allows you to choose your preferred work environment! Opportunities for Freelancing and Consulting: You get the option to work as a freelancer or consultant, as you can take on a variety of projects for different clients. This provides you flexibility and independence in your career. Job Security: With more and more organizations switching to Drupal as their CMS of choice, the demand for Drupal professionals to maintain, update, and expand these websites and applications keeps growing, providing a level of job security. Contribution to Open Source: Working with Drupal allows you to contribute to the open-source community by developing modules and themes, or contributing to the core Drupal project. This can be personally fulfilling and enhance your professional reputation. What is the Role of a Drupal Developer Drupal development encompasses a variety of job roles, each of which demands specific expertise and skills. Let’s dive into seven of the most popular Drupal developer roles: Drupal Site Builder A Drupal Site Builder primarily focuses on configuring and customizing Drupal's core features and contributed modules to create functional websites. As a site builder, your role isn’t typically about writing code but leveraging Drupal's flexibility through its user-friendly interface. You will need to collaborate with designers and themers to ensure that the website's appearance aligns with the project's design goals. You will also be responsible for user management, quality assurance, and documentation.  Skills Required: You will need to have a deep understanding of Drupal’s architecture, the admin interface, modules, configuration, and how the platform works. You also need to be good at Content modeling, basics of theming, understanding user roles (and setting them up), using Views and layouts, and working knowledge of version control (Git), HTML, and CSS (basic skills). Along with these technical skills, you will need to be good with communication, troubleshooting, and problem-solving while continuously keeping up to date with the evolving Drupal platform. Based on your knowledge and understanding of Drupal's admin interface, modules, and configuration options, you can grade the level of your role as a Drupal Site Builder. Front-end Developer A Front-end developer’s job revolves around the appearance of a website. As a Drupal Front-end Developer, you will be responsible for the look and feel of a Drupal site. Drupal offers a platform to build custom themes for websites. You’ll be mostly working with HTML, CSS, JavaScript, and Drupal theming to create custom themes and translate design mockups into functional web pages.  You’ll focus on the alignment of the site's visual elements with the design mockups, improving the overall user experience by optimizing website performance, enhancing navigation, and ensuring that user interactions are smooth and intuitive. You need to also ensure that the websites are responsive and look good on all screen sizes.  Skills Required:  For this role, you need to have practical knowledge and proficiency in proper HTML5/XHTML  elements while coding, writing modern CSS, PHP, JavaScript, jQuery, and Drupal theming techniques. You should be able to use Twig on projects effortlessly. You need to be smooth with building user interfaces for websites or web applications. Make sure you are excellent at writing JavaScript without using jQuery or other frameworks.  You’ll also have to be comfortable working with Firebug, Chrome Inspector, and other similar debugging tools. Beyond these technicalities, you should also understand the importance of CSS changes to maintain the consistency of style across platforms and browsers, keeping accessibility concerns in mind. Additionally, you should be able to fill in design gaps and convert comprehensive layouts and wireframes into basic HTML pages. Back-end Developer As the name suggests, your work here revolves around the back end of the website. As a Drupal Back-end Developer, you’ll have to work on the server side of Drupal, implementing custom functionality, creating custom modules, and optimizing performance. You will also be responsible for integrating databases and ensuring the security of the website. Other crucial tasks include configuring server settings (web server, database server), integrating third-party APIs with the website, and of course, troubleshooting and debugging.  Skills Required:  If you want to pursue this role as part of your career, make sure that you gain proficiency in developing web solutions in Drupal and PHP implementations in a LAMP environment. Besides, you’ll need to upskill yourself with PHP files, theme functions, and the Drupal theme layer. Your abilities must align with architecting Drupal enterprise solutions including data, display, and information architecture. Develop an advanced understanding of site-building, including a deeper analysis of Drupal modules like CTools, Views, and Panels, along with creating custom modules.  Additionally, creating responsive websites would require you to have the technical know-how of Drupal’s API, along with HTML, HTML/HTML5, CSS/CSS3, JavaScript/jQuery, MySQL, Drupal's API, and server-side technologies. It would be much easier for you to have a good understanding of Software Development and hands-on experience with Agile or iterative SDLCs. Module Developer What is Drupal without modules and module developers? One of the intricate Drupal roles, as a Module Developer, you are expected to create custom Drupal modules to extend the CMS's functionality. Your responsibilities include working on complex projects that require unique features.  Typically, as a module developer, you will write, modify, and optimize PHP code to build and enhance Drupal modules. All of this while making sure to follow Drupal coding standards. You’re not only responsible for building modules but also maintaining them, updating them, and making sure they stay relevant and compatible. Skills Required:  For a Module Developer, it’s essential to have strong PHP programming skills and a deep understanding of Drupal's architecture, without which your role of creating custom modules would be incomplete. Drupal demands the implementation of some commonly used design patterns for which you need to have a basic understanding of the factory pattern, late static bindings, software, and other design patterns. Additionally, you should have a baseline understanding of dependency injection as part of the OOP design patterns. Besides other frameworks, you need to have experience dealing with Symfony framework, plugin functionalities, and services containers. Drupal Technical Architect As a Drupal Technical Architect, your role extends beyond core responsibilities. You will be tasked with optimizing Drupal websites to enhance their speed and scalability. In addition to addressing the technical aspects, your duties will encompass crafting effective caching strategies, fine-tuning the database, and configuring servers for optimal performance. Skills Required:  Pursuing this career path will require you to have in-depth knowledge of Drupal's performance-related modules and server optimization. You’ll have to be proactive and be able to understand all the key aspects of a project. Acting as the leader of Drupal projects, you’ll have to have knowledge and understanding of the backend, frontend, and site-building task statuses of a project. Additionally, you should have a deep understanding of optimizing Drupal for which you’ll need an expertise level of PHP, jQuery, MySQL, CSS, and the implementation of Varnish, GeolP, UberCart, and other technologies. Drupal Project Manager Your role as a manager magnifies in the field of Drupal. As a Drupal Project Manager, you’ll be handling different Drupal development projects. Your job is to ensure that the projects meet client requirements, stay on schedule, and stay within budget. You will be acting as the bridge between clients and developers. As a Drupal project manager, you will need to use project management software to track the progress of your team’s Drupal tasks and to monitor milestones.  Skills Required:  Greater responsibilities occur with a huge skill set. As the manager here, you’ll have to acquire good project management skills and abilities to work with software like Jira and Redmine, familiarity with Drupal development processes, and excellent communication abilities.  Apart from these role-demanding skills, you should also have a basic knowledge of web technologies, and an understanding of budget, target, goal setting, and negotiation skills. As a Drupal Project Manager, you’ll be expected to be a leader who’s client-focused, pays attention to detail, and works autonomously. Is it Hard to Learn Drupal? The answer to this question is quite straightforward. If you’re a web development enthusiast, you’ll enjoy the journey towards learning something new, and the level of challenges won’t matter.  But if you are completely new to web development and Drupal, it becomes a little tricky.  Learning Drupal can be both rewarding and challenging. While the platform's user-friendly interface makes it accessible for beginners, mastering the more advanced aspects, such as custom module development and performance optimization, can be demanding.  However, the good news is that the Drupal community offers extensive resources, tutorials, and support to help developers at all levels. Drupal’s latest strategic initiatives like the Project Browser, Automatic Updates, Easy out of the box, Recipes, and others, are paving the way for an easier learning curve as the aim is to make Drupal easier for new Drupal users. With dedication and a structured learning path, anyone can become proficient in Drupal development. Final Thoughts Drupal offers a wealth of opportunities for you to embark on a rewarding career. With its high demand, versatility, and strong community support, Drupal is an excellent choice for aspiring developers.  Whether you're interested in site building, theming, or back-end development, there's a role for you in the Drupal ecosystem.  So, if you're ready to embrace the world of Drupal development, start building your skills and join the thriving community of Drupal enthusiasts today! 

Salsa Digital: Drupal accessibility — a comprehensive Drupal self-help guide to creating accessible websites

Image removed.Improving accessibility for a better user experience Welcome to the third instalment of our comprehensive self-help guide series, focused on improving your Drupal website. In this 6-part series, we delve into six vital metrics for a successful Drupal website: Security Performance Accessibility Patches SEO  Carbon emissions  In this guide, we exclusively focus on accessibility , emphasising its importance and practical approaches to implementation. Accessibility is a critical metric in web development, ensuring that people of different abilities can access and navigate your website with ease. The World Health Organization (WHO) estimates that roughly 1.3 billion people (about 16 percent of humanity) are disabled .

Salsa Digital: Drupal performance — a complete Drupal self-help guide to ensuring your website’s performance

Improving performance for a better user experience Website performance is crucial for ensuring an exceptional user experience, retaining visitors and achieving higher conversion rates. In today's fast-paced digital landscape, users expect websites to load quickly, function smoothly and provide a seamless experience across devices. A slow or unresponsive website can lead to increased bounce rates and poor search engine rankings. Drupal, a powerful open-source content management system (CMS), is widely used for creating and managing a variety of websites. With its extensive features, flexibility and scalability, Drupal has become a popular choice for web developers and site owners.

Talking Drupal: Talking Drupal #417 - The Recipes Initiative

Today we are talking about The Recipes Initiative, the future of install profiles, if distros are still a thing, and answering a bunch of listener questions with our guest Jim Birch. We’ll also cover Quick Links Kit as our module of the week.

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

Topics
  • What are recipes
  • How do you use recipes
  • Is it a module, configuration or something else
  • How do recipes compare to install profiles
  • Are you stuck with them
  • What happens if the config is changed
  • Are there namespace collisions
  • How do recipes compare with Distributions
  • Can you include content
  • Listener James: Can recipes uninstall modules
  • Can we use recipes now
  • When will recipes be in core
  • Can recipes be used by tests
  • Listener Andy: Can recipes and startkits interact
  • Can themes require recipes
  • Listener Matthieu: How do recipes compare with Symfony recipes
  • Listener James: How easy will it be to make custom recipes
  • Listener Matthieu: Should contrib maintainers be watching recipes
  • How can we get involved
Resources Guests

Jim Birch - @jimbirch

Hosts

Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Jen Lampton - jenlampton.com - jenlampton

MOTW Correspondent

Martin Anderson-Clutz - @mandclu

Quick Links Kit

  • Brief description:
    • Have you ever needed to add a set of quick links, essentially visual navigation prompts, to the home page or section pages of your Drupal site?
    • Quick Links Kit (different from Quicklink module created by last week’s guest, Mike Herschel)
  • Brief history
    • How old: I created in Apr 2021
  • Versions available:
    • 1.0.6 that supports Drupal 8, 9, and 10, and 2.0.1 that supports only D10
  • Maintainership
    • Sporadically maintained, but a pretty simple module
  • Number of open issues:
    • 1, and it’s not a bug
  • Usage stats:
    • 1 site
  • Maintainer(s):
    • Me!
  • Module features and usage
    • The module is really just a set of configuration, with an optional submodule that sets everything up, including the placement of the block on the home page, for sites using Olivero as their theme, so it’s perfect for a fresh install of Drupal
    • It allows for SVG icons to be set for each link, and sets their fill to inherit from the link style
    • The links can be created and managed without leaving the page on which they’re used, by using the settings tray, though it would be a quick configuration change to use a modal or a separate page instead, if preferred.
    • The 2.0 version also makes use of Drupal 10’s new responsive grid views display, so if you’ve wanting to try that out, this is an easy way to get started
    • I thought this module was appropriate for today’s episode because it’s an example of a module that will be a recipe once the infrastructure for them is ready. That said, the Olivero submodule does currently contain a little CSS to improve the display of the links, but that could easily be copied into your site’s custom theme.

Metadrop: Sevilla Drupal Camp Behat workshop

For this year's Drupal Camp a joint effort has been made to offer three different workshops on testing with Drupal. One of them was a Behat workshop where a theoretical basis was given and different practical exercises with Behat were proposed. 

Through this article we want to make this same Behat workshop available to anyone who is interested so that they access the presentation and the exercises. Unfortunately, the slides are only available in Spanish. However, the exercises are written in English so even if you don't speak Spanish you may benefit of doing the practical part.

The workshop

The workshop uses two repositories, the first is a presentation used as a guide for the workshop, and the second is a pre-configured environment with Behat ready to be run.

The presentation can be viewed online directly from the browser. It consists of three parts:

  1. A very basic introduction to Behat, supported by more…

The Drop Times: A Journey Through the Pages of Life

"The purpose of our lives is to be happy."

—Dalai Lama, XIV [Link
India Today, September 30, 2021

This profound quote by the Dalai Lama underscores the significance of happiness as the ultimate purpose of our existence. It serves as a guiding light on our quest to live a fulfilling life.

Have you ever picked up a book and felt transported to another world, only to snap back to reality hours later, wondering where the time went? Recently, I found myself in such a literary trance, lost in the depths of a compelling story. During one of these moments, as I glanced at the clock, a stark realization dawned on me: time is a relentless sprinter.

As the pages turned and the clock's ticking became more pronounced, I couldn't help but contemplate the brevity of life. We often find ourselves trapped in the daily grind, chasing deadlines and meeting obligations while neglecting a crucial aspect of existence—the pursuit of joy and happiness. It's not a luxury; it's a necessity.

Regret is an unwelcome companion. It often emerges from the shadows, reminding us of opportunities missed and passions left unexplored. It serves as a poignant reminder that life is too short to be lived with reservations. We should seek happiness and engage in endeavours that, when we look back, we won't regret.

As we embark on this journey, let us remember that life's clock is always ticking. Every moment is a chance to make choices that align with our desires and aspirations. Pursuing happiness should be a deliberate act, not a fleeting wish.

Turning our attention to the world of technology, we enter the realm of Drupal. In the ever-evolving landscape of web development, Drupal stands as a steadfast pillar. It is an open-source content management system that plays a pivotal role in shaping the digital world. The Drupal community is abuzz with exciting news and events, and The Drop Times has been at the forefront of covering them. Here are some highlights from the past week, starting with events:

If you're preparing to speak at DrupalCon 2023 or any other event, Drupal Belgium offers a valuable speaker training opportunity on October 16.

For those seeking to deepen their Symfony expertise, SymfonyLive Paris 2024 offers an exciting opportunity. Early bird tickets will close today.

Exclusive CxO Lunch with Drupal Founder Dries Buytaert is scheduled for Wednesday, October 25, 2023, from 12:00 PM to 3:00 PM CEST.

Discover the secrets to successful digital transformation on Drupal through the workshops at DrupalCon Lille 2023.

Elevate your Drupal skills by joining the London Drupal Meetup on September 26, 2023.

The Drupal Ahmedabad Community held an exciting meetup on September 23, 2023.

Unlock your potential in web development with Promet Source's upcoming Drupal training courses for Fall 2023.

"Drupal's Path Forward: Challenges and Opportunities", a thought-provoking blog post by Ricardo Marcelino, delves into the challenges and opportunities ahead for Drupal, the renowned open-source content management system (CMS).

Dive into Traditional Drupal vs Headless Drupal, a blog post by Bordinary, to discover the strengths and weaknesses of each approach, helping you make informed decisions for your project's architecture.

Delve into A Mentor's Journey of Growth in Drupal Community, the inspiring journey of Philip Frilling

Explore the advantages and streamlined processes of upgrading to Drupal 10 with insights provided by Promet Source

Read about amazee.io's recent achievement of ISO 27001 certification for enhanced security.

Łukasz Dudzińsk provides valuable insights into the strengths and weaknesses of Drupal in an extensive blog post featured on StrefaKodera.pl.

Version 1.2.0 of Drupal's Front-end Editing Module offers users enhanced control and a smoother content editing experience. Developed by Artem Dmitriiev, this update redefines Drupal's front-end content management capabilities.

Stay informed about the evolving world of Drupal. Follow us on social media, subscribe to our newsletter, and join our growing community. Your engagement keeps our journey vibrant and enriching.

Sincerely, 
Kazima Abbas 
Sub Editor, TheDropTimes

Drupal.org blog: What’s new on Drupal.org - Q1 2023

Read our roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community. You can also review the Drupal project roadmap.

Editor's note from Tim Lehnen(hestenet): A Q1 update in September? What's the deal?

The Drupal Association has recently undertaken a variety of new initiatives to accelerate innovation in the Drupal project, and to begin expanding our capacity and capabilities by seeking grant funding. Unfortunately this has meant my personal capacity has been degraded, and I'm afraid I just fell off the wagon of posting these regular updates. I want to thank my colleague Alex Moreno for stepping into the gap to get this news flowing out to all of you again! Now on to the update!

Drupal recognized as a Digital Public Good!

Image removed.

The Digital Public Good registry recognizes digital goods, including open source software, that advance the Sustainable Development Goals as defined by the United Nations. This recognition supports the Association's broader mission to support the Open Web, and should give users of Drupal in the public sector even greater confidence in their choice. 

We want to thank the community volunteers who worked with the Drupal Association to make this happen!

Read the news: Drupal recognized as a Digital Public Good

Securing AutoUpdates OSTIF.org Partnership

The Drupal.org secure signing infrastructure for Automatic Updates and Project Browser is now in testing, with the leads on those projects. 

The Drupal Association has reached out to the Open Source Technology Improvement Fund to identify a partner to audit PHP TUF and Rugged, the two key software libraries being used to secure the Drupal.org supply chain for Automatic Updates and the Project Browser.

For an initiative as critical as applying automatic updates, external validation from a security vendor is critical.

OSTIF.org was previously involved in arranging the security audits for Python TUF and several other implementations of the framework, making them an ideal partner. 

GitLab CI templates

Image removed.

Any project that opts in to using GitLab CI can now take advantage of an off-the-shelf .gitlab-ci.yml template that configures testing to follow core development. This template uses include files maintained by the Drupal Association on an ongoing basis.

We expect to open GitLabCI to every project on Drupal.org at DrupalCon Pittsburgh. 

Having a template that we could centrally maintain was essential to being able to enable GitLab CI for every project, as many Drupal.org project maintainers are not CI experts. 

This makes the migration much easier.

GitLab Issue Credit

After scaffolding out our plan to manage contribution credit in GitLab, we have implemented a full development prototype, which allows a credit node to be created on modern Drupal, with a webhook from a bot-created comment on GitLab.

This allows us to create and store contribution credit information from an external source, and could even be expanded beyond GitLab.

This clears one of the final barriers to completing our tooling migration to GitLab.

With GitLab CI nearly ready for every project, and a solution for credit fully prototyped, our last major step is to solve the issue workflow (see the next topic).

GitLab Issue Migration

With a solution for credit in pre-production, and GitLabCI about to roll-out to all projects the next phase is to move forward with migrating projects to GitLab issues.

The key problem to solve is shared access to issue forks. In Drupal, we're used to being able to collaborate with each other by default. In GitLab (and GitHub and most other tools) collaborators typically have to manually request access, or fork into a private workspace.

We are going to use an issue bot and webhooks to create simple tools for contributors to collaborate.

Moving to GitLab is part of our commitment to removing friction from the Drupal contribution process, and helps us to keep up to date in the latest innovations in code collaboration platforms.

However, we still lead compared to these platforms in collaborative workflow. 

In fact, GitLab's own new 'Community Fork' experiment looks to implement ideas we pioneered in a GitLab context. Bringing these two ideas together is the best of both worlds

Events.Drupal.org on Drupal 9, pending Drupal 10 update

Events.drupal.org was the first drupal.org property to be updated to Drupal 9, and is in prep to be upgraded to Drupal 10 when the final contributed module is ready. 

Up next:

Drupal.org is historically one of the last sites to upgrade to the latest version of Drupal. This is because we have a lot of unique project infrastructure that is not in use by other Drupal end users, and so is likely the last functionality be ported. 

Upgrading the events site gave us a greater than 5x improvement in performance, with improved caching behavior, better editorial tools, and is battle-testing our new k8s based hosting cluster.

Improvements to anti-spam controls on Drupal.org registration

We've made changes to Drupal.org's anti-spam protection that detect bot-like behavior or repeated account creation. 

These changes decouple the anti-spam/anti-bot behavior from the account registration process, an important step so that we can move to a new Single Sign On system for Drupal.org.

Every moment spent on cleaning up spam is a moment not spent on Drupal contribution, and so it is a critically important if often invisible part of our work to protect and moderate Drupal.org.

We also thank the volunteer Drupal site moderators for their work to support this effort.

Multiple performance improvements (and bug fixes) to our GitLab installation.

GitLab has feature releases and security releases every month, and keeping git.drupalcode.org up to date is an important part of the work we do. 

In the first quarter of 2023, several of these updates introduced unexpected performance issues, having to do with repository file sizes, replication, etc.

We were able to work with the upstream maintainers of GitLab itself to resolve these issues, and improve the overall performance of git.drupalcode.org

As always, we’d like to thank all the volunteers who work with us and the Drupal Association Supporters who help to fund our work. In particular, we want to thank: