Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...


Hello our valued visitor, We present you the best web solutions and high quality graphic designs with a lot of features. just login to your account and enjoy ...

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
11 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Tech News

News ID Title News Details
115,178 Time to Learn: Training at at the DrupalEasy Pace Our philosophy

Retaining and comprehending information is key to successfully learning and correctly applying what you learn; and it takes time and effort to fully comprehend and retain information.  

Training: time well spent

Drupal is not easy to learn, so we ensure our training programs include schedules generous enough to support the goal of retention and comprehension while factoring in real-life work and life demands. Long-form DrupalEasy courses are paced at a manageable level - usually about 10 hours per week, with never more than 3.5 hours in a single day. 

Training is important…sometimes critical, but that doesn’t mean it should be stressful or rushed. We all want to get things done quickly, but shortcuts in training generally make learning more difficult, less comfortable and less effective. Boot camp style training may be faster, but, in our experience, it simply doesn’t provide a valuable learning experience for the majority of students.

DrupalEasy training is designed with the goal to ensure that every participant is enriched, truly learns and can apply the subject matter successfully and correctly. We thoughtfully teach every topic in a way that allows students to learn and practice stackable skills to support comprehension and confidence. 

Soak Time: low stress, better results    

Training, to have value, must be effective and provide for an enriching, fulfilling experience. We believe that when learning something new, especially in the midst of ongoing professional and personal obligations, it is crucial to have time to ruminate on each lesson and provide space for meaningful follow-up before moving on to the next learning topic. We call it soak time. The soak time between classes allows students to review, practice, or ask questions about the previous lesson. It also provides a more natural way to learn and, in our extensive experience, almost always leads to better learning outcomes. 

The DrupalEasy training pace is a key component of the design of every one of our courses, and vital to the success of our programs and the members of our Drupal learning community. 

Both of our long-form Drupal training courses, Drupal Career Online (Session starts February 13th) and Professional Module Development (starts Janaury 31st) adhere to this approach. 

The pixel art image above was generated by the DALL-E project of OpenAI. https://labs.openai.com/ 

115,171 Replacing Docker Desktop for Mac with Colima for use with DDEV - first impressions

Back in March, 2022, the DDEV team announced support for Colima, an open-source Docker Desktop replacement for Mac OS X. Based on the fact that Colima is open-source, Docker Desktop's new license terms, and the apparent performance gains of using Colima it seems like a no-brainer to give it a spin.

First off, it's almost a drop-in replacement for Docker Desktop. I say almost for one reason, as any existing DDEV projects will need to have their databases reimported. In other words, if you have an existing project up-and-running in DDEV, then add Colima, then restart the project, your database won't be found. The easy fix is to first export your database, then start Colima, then import it. Easy.

The reason for this (as I understand it) is because Colima uses the open-source Lima project for managing its containers and volumes (the latter being where DDEV project databases are stored). 

For those of us that are casual Docker users (outside of DDEV), one confusing bit is that we still need the open-source docker client installed - which is installed by default with Docker Desktop for Mac. The docker client is used on the command line to connect to the installed Docker provider (Colima or Docker Desktop for Mac, in this context). If you want to go 100% pure Colima and you uninstall Docker Desktop for Mac, you'll need to install and configure the Docker client independently. Full installation instructions can be found on the DDEV docs site

If you choose to keep using both Colima and Docker Desktop then when issuing docker commands from the command line, you'll need to first specify which containers we want to work with - Docker or Colima. More on this in the next section. 

How I use Colima

I currently have some local projects using Docker and some using Colima. Once I understood the basics, it's not too difficult to switch between.

Installing Colima alongside Docker Desktop for Mac and starting a fresh Drupal 9 site
  • To get started, I first installed Colima using Homebrew brew install colima
  • ddev poweroff (just to be safe)
  • Next, I started Colima with colima start --cpu 4 --memory 4 The --cpu and --memory bits only have to be done once. After the first time, only colima start is necessary.
  • Next, I spun up a new Drupal 9 site via ddev config, ddev start, etc... (It is recommended to enabled DDEV's mutagen functionality to maximize performance).
Switching between a Colima DDEV project and a Docker Desktop for Mac DDEV project
  • ddev poweroff
  • colima stop
  • docker context use default - this is the command I alluded to above that tells the Docker client which containers we want to work with. "default" is the traditional Docker Desktop for Mac containers. When colima start is run, it automatically switches docker to the "colima" context.
  • ddev start (on an existing project I had previously set up while running Docker Desktop for Mac).

Technically, starting and stopping Colima isn't necessary, but the ddev poweroff command when switching between the two contexts is.

Also - recent versions of Colima revert the Docker context back to "default" when Colima is stopped, so the docker context use default command is no longer necessary. Regardless, I use docker context show to verify that either the "default" (Docker Desktop for Mac) or "colima" context is in use. Basically, the "context" refers to which Docker provider the Docker client will route commands to.


Overall, I'm liking what I see so far. I haven't run into any issues, and Colima-based sites seem a bit snappier (especially when DDEV's Mutagen functionality is enabled). I definitely foresee myself migrating project sites to Colima over the next few weeks.

Thanks to Randy Fay for reviewing this blog post. Randy is the lead maintainer of the DDEV project. If you use DDEV, then you should support the DDEV project!

Image by: Mike Anelllo. Modified by Opensource.com. CC BY-SA 4.0

115,173 Are cheatsheets still a thing for Drupal developers?

Over the past couple of weeks, I've been looking for Drupal-related cheatsheets for developers. I went through my old notes, asked students and alumni of Drupal Career Online, and posed the question on both Twitter and LinkedIn. While I did receive some feedback, I'm starting to get the feeling that cheatsheets aren't really used all that often for neither new or experienced developers.  This is a bit of a shame, since they can be so useful. 

In the past, I would have defined a cheatsheet as something that one could print out on a single page of standard paper (and perhaps even laminate it!) Over the past couple of years, my personal definition of a cheatsheet has evolved into something like this: a short reference guide on a particular topic that only serves as a reminder of functionality, not an explainer. 

My own personal experience with cheatsheets over the past couple of years has mainly been limited to this Composer Cheat Sheet for Developers - a fast, interactive reference for all/most of the Composer functionality that I currently need. I also have the Twig Tweaks module cheatsheet handy - for the rare occurrences where I'm deep enough in front-end work where it is required. I suspect folks that do Drupal front-end development regularly will find it very useful. 

I was reminded of this excellent Drupal Entity API cheatsheet written by Keith Dechant: It was posted in November 2017 and as far as I can tell is still all (mostly?) relevant. For those of us who are back-end Drupal developers, it is definitely worth a look. Thanks to Martin Anderson-Clutz for the reminder!

The thing that actually started me thinking about cheatsheets was Drupal's Form API, and how there doesn't appear to be a single page reference on Drupal.org that shows all the various element types and available properties. To me, this seems like a great exercise for someone looking for a documentation credit. This article by the folks at Drupalize.me is the closest I could find. IMHO, a cheatsheet for Form API elements would be very useful. 

Another Drupal-adjacent cheatsheet that I would whole-heartedly welcome into my development process would be one for Flexbox. I'm quite confident that something like this exists out in the wilds of the internet that I'm just not aware of. In the meantime, this Complete Guide to Flexbox from CSS-Tricks has been my go-to, even if it doesn't fit my definition of a cheatsheet. 

Finally, Emmons Michael Patzer, in a comment on LinkedIn, pointed me in the direction of Cheatography - a bit of a repository of various web technology cheatsheets.

Are there any other useful, up-to-date Drupal-related cheatsheets out there? If so, I'd love to hear about them!

UPDATE - I just became aware of this nifty Drupal/Twig cheatsheet

The pixel art image used in this blog post was generated by the DALL-E project of OpenAI.

115,179 DrupalEasy Podcast S14E1 - Brian Perry - How to write your first web component

Direct .mp3 file download.

We talk with Brian Perry about web components, and how to get started with this new-ish technology.

URLs mentioned DrupalEasy News Audio transcript

We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.


Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

115,174 The role(s) of services.yml files in Drupal

Most Drupal back-end developers, regardless of their skill level, have at least a passing knowledge of the role of services.yml files in Drupal development. While writing the curriculum for our upcoming, long-form Intermediate Module Development course, we realized that it only makes sense that we provide not only the purpose of a services.yml file when writing custom service classes, but also the role of both the sites/development.services.yml file and the sites/default/default.services.yml files. 

If you are already familiar with the process for creating a custom service class, then you know that the module_name.services.yml file serves to not only define the service name, class, and other service dependencies, but also parameters. One of the cool features of Drupal service classes is that parameters can be overridden in a way that customizes the service's behavior without modifying the module_name.services.yml file. 

Anyone who has done even a smidgen of front-end work in Drupal is probably aware of the process of enabling twig_debug by adding a bit of yml to (usually) the sites/development.services.yml file. What you may not be aware of is that this is exactly what we're talking about. twig_debug is just a parameter to the "twig" service class. 

If your (local) site is using the default settings.local.php file, then you might be aware that service (container) overrides can also be performed in the sites/development.services.yml file. This is because Drupal allows multiple service .yml files to be loaded at a time via the $settings['container_yamls'][] array.

In fact, there are generally two files that are used to override service class parameter values:

  1. web/sites/development.services.yml - this is often used only during development, and is automatically parsed when the default settings.local.php is also being used. This is due to the inclusion of $settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml'; in settings.local.php.
  2. web/sites/default/services.yml - this file doesn't exist by default, normally it is created from web/sites/default/default.services.yml. When present, this is automatically parsed when the following is present in settings.php: $settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; The default.services.yml file contains most of the service parameters from Drupal core's core.services.yml file.

Finally, it is important that care is used when using both development.services.yml and services.yml files at the same time. Generally, when overriding parameters, it is best to put all overrides in only one of these two files.

So then, which, if any, should you commit to the project repository? It is not recommended to ever commit development.services.yml - this should be treated the same way as settings.local.php. If you are making all-environment parameter changes, then it is best to make these in sites/default/services.yml (after copying from default.services.yml) and commit this file. 

Finally, note that some Drupal hosting companies (like Pantheon) have additional considerations and features for using services.yml files. 

If you find this helpful and are interested in learning more about Drupal module development, you may want to check out our Professional Module Development course. 

The pixel art image used in this blog post was generated by the DALL-E project of OpenAI.

115,182 Launching into 2023 with new stuff!

If you've visited DrupalEasy.com anytime in the past couple of weeks, you may have noticed that we've got a refreshed logo, a revitalized podcast, and a remarkable new long-form module development course!

First, we decided that it was time for an updated logo - something we haven't had since the start of our company. The updated logo incorporates the new "tilted drop" design element referring to both our Drupal roots and a capital letter "D" for DrupalEasy, of course! We retained the lime green color that we've grown accustomed to, and will be using this new design element in various new ways moving forward.

The DrupalEasy podcast, which began 14(!) years ago, had been on an extended hiatus for almost 2 years - mainly due to a lack of bandwidth on our part - but we figured out a way to keep it going in the future in a sustainable manner. Rather than committing to a new episode every two weeks, we will now release 2-3 "seasons" per year, with each season composed of 6-8 episodes. Season 14 (an obvious reference to our 14th year) has already debuted, and the remaining episodes have all been recorded and will be released over the next month or so. Each season will have a theme - S14's theme is "how to": each episode will focus on how to accomplish a specific Drupal-related task.

Finally, and you may have heard about this already, but we are super-excited to be launching an all-new, long-form Drupal module development workshop: Professional Module Development. This 90-hour class (over 15 weeks) will help you improve your skills to a professional level - including automated tests, various code quality tools, and commonly-used Drupal APIs and techniques. 

115,175 Drupal Talent Scholarships. Because if we’re not growing, we’re stagnant

One of the challenges of growing and keeping an open source community vibrant is attracting individuals and helping them to understand the opportunities the technology offers, how they can master it, and how they can get a job. Those who may want to point their careers toward Drupal often don’t know how to get started, where to find a path, nor have the resources to do it. It can be a daunting undertaking that has likely caused more than a few people to move on to traditional careers with paths that are more clear and accessible. 

We started Drupal Career Online, our career technical education certificate program, as the first of its kind for Drupal over 10 years ago at the behest of the workforce board on Florida’s Space Coast seeking new career and training opportunities for those whose jobs fell victim to the end of America’s Space Shuttle program. We created it on the model of countless other career technical education programs that feed a variety of industries with an ongoing flow of new talent, with the added element of community; which has helped us to create a truly unique and valuable learning experience. We built the program, secured our licensure with the Florida Department of Education, and it has developed into the premier Drupal career-training program worldwide. 

We’ve been working for more than a decade to build it and to help bolster the Drupal talent pipeline through the DCO as well as working with other training organizations to really make an impact on how we can help get people into the Drupal talent pipeline. We’ve partnered (and tried to partner) with regional workforce boards, colleges, non-profits and Drupal organizations in a variety of ways (and through more than a couple of attempts) to help bring more people into Drupal. 

After all of this effort and time, we’re really excited about the extraordinary response and results we’ve gotten as we have ramped up DrupalEasy scholarship programs. Organizations who are supporting the Discover Drupal career training program and those who are stepping up to sponsor their own, dedicated scholarships to Drupal Career Online are making amazing strides in attracting talent, especially individuals from underrepresented groups, to the community through their tuition sponsorship, mentorships and entry-level employment opportunities.  

As our scholarship program evolves, we are formalizing things to make sure there is a clear path for more organizations that want to get in on improving the flow of talent into the Drupal talent pipeline. We are making sure we can keep building on the spirit of the program as we scale up the number of members who would like to be a part of the effort with Discover Drupal through the Drupal Association, or directly sponsor their very own scholarship for Drupal Career Online. 

We’d love to seem more companies and organizations join the Drupal Association’s thoughtful Discover Drupal sponsors, or become direct DCO sponsors like Palantir.net, Four Kitchens and Bounteous as they cooperatively recruit to attract diverse people from outside of the community to learn more about Drupal as a career, offer scholarships to the DCO, provide mentoring and provide graduates with paths to becoming Drupal professionals.  

Please contact us if you’d like to discuss how sponsoring a student scholarship for Drupal Career Online might help you recruit some fresh talent and bring more, and more diverse people into the Drupal Community. 


115,177 Long-form Professional Module Development course debuts in 2023!

After a year of preparation and beta testing, DrupalEasy is thrilled to announce our newest long-form course; Professional Module Development! Building on our flagship Drupal Career Online course, Professional Module Development delivers the same level of best-practice-focused training in the authentic manner we are known for. This latest professional development program debuts January 31, 2023. 

Author and architect for the PMD, (and Drupal Career Online) Michael Anello (ultimike), infused his 15+ years of experience as a full-time Drupal developer and trainer into Professional Module Development, crafting it in the same thoughtful and methodical way to ensure aspiring Drupal module developers can master the necessary skills to serve their clients and the Drupal community in the most effective manner possible. 

The course is designed as two versions; the full version accommodates those who are looking for a complete foundation of module development topics, while the lite version serves those who need only the core topics of the course. Both the full and lite versions cover topics including plugins, services and dependency injection, custom forms, Drupal hooks, as well as the Drupal Batch and Queue APIs. The lite version runs about 60 hours. 

The full 90-hour version expands further into topics like developer tools (PhpStan, phpcs), IDEs (both Visual Studio Code and PhpStorm), using Xdebug with DDEV and Lando, Drupal events, custom Drush commands, and caching.

To ensure the unrivaled quality that DrupalEasy training is committed to, 17 Drupal Career Online alumni recently completed a beta test of the full version of the course. The vast majority of participants that submitted the post-course survey indicated that they were "very satisfied" with the course, and 100% indicated they would recommend it. 

This is a great class, I am much more confident in my module building and have improved my coding standards... A "must do" for anyone who wants to write code that you can share with confidence.
Adam Bauer, Summer 2022

Excellent course - cannot recommend highly enough! Covers all the necessary topics in great detail. 
Ian Finlay, Summer 2022

The cost for the full version of the course is $3,500 (lite version is $2,500). Special rates are available for Drupal Career Online alumni, non-profit organizations, and groups of 3 or more students.

The full version begins on January 31, 2023 and the lite version begins on February 14, 2023.

All Professional Module Development participants have access to the DrupalEasy Learning Community, a set of features that enhances each student's experience and provides opportunities for the student to become more effective Drupal professionals for themselves, their organization, and the Drupal community. Aspects of the DrupalEasy Learning Community include weekly office hours, event gurus, and our alumni network.

The full schedule, registration deadlines, and more information about the class can be found at https://www.drupaleasy.com/academy/pmd/course-information

115,183 DrupalEasy Podcast S14E2 - Alison Jo McCauley - How to be a mentor

Direct .mp3 file download.

We talk with Alison Jo McCauley about how to be a mentor, including skills required, how to manage a mentor/mentee relationship, and tips for success.

Stan Ascher is the name of the person Alison mentioned during the podcast who played guitar during lunch at GovCon.

URLs mentioned DrupalEasy News Audio transcript

We're using the machine-driven Amazon Transcribe service to provide an audio transcript of this episode.


Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.

115,180 ChatGPT explains why you should learn more Drupal

ChatGPT is an artificial intelligence based chat system developed by the same folks behind DALL-E, one of the recent AI based image generation services. 

We decided to play around with ChatGPT's capabilities by asking it about learning Drupal, considering our upcoming Drupal Career Online and Professional Module Development long-form courses that we have starting in late January and early February. Below are ChatGPT's (amazingly) unedited responses. 

Prompt: Tell me why learning to be a professional Drupal developer is a good thing.

There are several reasons why learning to be a professional Drupal developer can be a good thing:

  • Demand for Drupal developers: Drupal is a popular content management system (CMS) used by many organizations around the world. As such, there is a demand for professionals with Drupal development skills.
  • Career opportunities: Learning Drupal development can open up a range of career opportunities, including positions as a Drupal developer, Drupal site builder, or Drupal consultant.
  • High earning potential: Drupal developers can earn competitive salaries, particularly if they have a strong skillset and experience.
  • Continual learning: Drupal is a constantly evolving platform, so there is always something new to learn and stay up-to-date with. This can be an exciting and rewarding aspect of being a Drupal developer.
  • Flexibility: Drupal developers can work on a variety of projects, including building and maintaining websites, developing custom modules and plugins, and integrating with other systems. This allows for a lot of flexibility and the opportunity to work on a range of interesting and challenging projects.
  • Overall, learning to be a professional Drupal developer can be a rewarding and fulfilling career choice, with the potential for a good income, a range of career opportunities, and the opportunity for continuous learning and development.

Prompt: Tell me about the advantages of learning Drupal module development

There are several advantages to learning Drupal module development:

  • Customization: By developing custom modules, you can tailor Drupal to meet specific needs and requirements. This allows you to build websites and applications that are tailored to your clients' needs and can differentiate your projects from others.
  • Reusability: Custom modules can be reused on multiple projects, which can save time and effort. This is especially useful for commonly needed functionality such as custom content types, views, and blocks.
  • Extendability: Modules can be used to extend the functionality of Drupal core and contributed modules. This allows you to add new features and capabilities to Drupal without having to modify the core codebase.
  • Community: Drupal has a large and active developer community, which means there are many resources available for learning and getting help with module development.
  • Career opportunities: Proficiency in Drupal module development can lead to career opportunities as a Drupal developer, Drupal site builder, or Drupal consultant.
  • Overall, learning Drupal module development can be a valuable skill that can open up a range of career opportunities and allow you to build custom, tailored solutions using Drupal.

Prompt: What is the best way to learn to be a professional Drupal developer?

There are several steps you can take to learn to be a professional Drupal developer:

  • Familiarize yourself with the basics of web development: Before diving into Drupal development, it can be helpful to have a strong foundation in web development concepts such as HTML, CSS, JavaScript, and PHP.
  • Get hands-on experience: The best way to learn Drupal development is by doing it. Start by installing Drupal on your local machine and experimenting with the core features and functionality.
  • Learn about Drupal's architecture and concepts: Understanding Drupal's architecture and key concepts such as nodes, blocks, views, and hooks is essential for developing custom modules and making the most of Drupal's capabilities.
  • Explore online resources: There are many online resources available for learning Drupal development, including tutorials, documentation, and online courses. Some good places to start include the Drupal documentation and the Drupalize.Me website.
  • Join the Drupal community: Drupal has a large and active community of developers who are always willing to help and share their knowledge. Consider joining online forums, attending local meetups, or participating in online events such as DrupalCon.
  • Build and publish your own projects: As you learn and gain experience, try building and publishing your own Drupal projects. This can help you practice your skills and showcase your work to potential employers or clients.
  • Overall, the best way to learn to be a professional Drupal developer is to get hands-on experience, learn from online resources and the Drupal community, and build and publish your own projects.

End of ChatGPT's responses - back to human-based writing again…

A few thoughts about all this:

  • We love that the response includes Drupalize.me, and are happy to note that they've been a long-time supporter of Drupal Career Online. In fact, all of the DCO students get free access to Drupalize.me while enrolled (and a steep discount after that). 
  • Amazingly, we don’t see anything incorrect about any of ChatGPT's responses. 
  • The main thing that this experience has taught us is that, as is being reported in many, many places, ChatGPT is good. Scary good. So much so that we're going to go on record and say that all of DrupalEasy's content, unless otherwise specifically denoted, is written by a human!

DrupalEasy's beginner- and best-practice-focused Drupal Career Online begins February 13, 2023. Our intermediate-level Professional Module Development course begins January 31, 2023 (with a Lite version starting February 14, 2023). 

The pixel art image used in this blog post was generated by the DALL-E project of OpenAI.  


You are here