-
Controlling PWM fans with the Raspberry Pi CM4 IO Board’s EMC2301
When I initially reviewed the Compute Module 4 IO Board, I briefly mentioned there’s a 4-pin fan connector. It’s connected to the Pi’s I2C bus using a little...
-
Mini-ITX Seaberry adds 11 PCIe slots to a Raspberry Pi
Since the Compute Module 4 came along last year, there have been a few projects that use it that make me do a double-take: They did what with a...
-
Turing Pi 2: 4 Raspberry Pi nodes on a mini ITX board
Last year I spent a bit of time building a Kubernetes cluster with the original Turing Pi. It was fun, and interesting, but ultimately the performance of...
-
Install Python 3.9 on Raspberry Pi OS or Debian 10 (for Ansible or other uses)
I’ve started getting a lot of bug reports on my repos to the effect of “Ansible won’t install on my Raspberry Pi anymore”. Accompanying it is...
-
Pine64 and Radxa’s new Pi CM4-compatible boards
Since the Raspberry Pi was introduced, hundreds of clones have adopted the Pi’s form factor (from the diminutive Zero to the ‘full size’ model B). Often...
-
HTGWA: Use bcache for SSD caching on a Raspberry Pi
This is a simple guide, part of a series I’ll call ‘How-To Guide Without Ads’. In it, I’m going to document how I set up bcache on a...
-
Check your driver! Faster Linux 2.5G Networking with Realtek RTL8125B
Since the Raspberry Pi Compute Module 4 was introduced last year, I’ve been testing a variety of PCI Express NICs with it. One of the main types of...
-
Raspberry Pi holds its own against low-cost ARM NAS
Earlier this year, I pitted the $549 ASUSTOR Lockerstor 4 NAS against a homebrew $350 Raspberry Pi CM4 NAS, and came to the (rather obvious) conclusion that...
-
Organic Groups and Message Stack in Drupal 8
Organic Groups The heroes: @RoySegall, @pfrenssen @damiankloip, @chx et al. For years Organic Groups has been one of the proven solutions for multi-sites functionality, in the form of one code base,...
-
BUILD ROBUST FORMS IN DRUPAL 8
Over the last few Drupal releases, the Webform module has been the standard for creating robust forms and surveys. While this venerable module has served the...
-
Drupal 8 Module (Distro!) of the Week: Lightning
What does the Lightning distribution do? “The Lightning Distro gives developers a starter kit for building great authoring experiences in Drupal 8,” explains product owner, John...
-
How to write a PHPUnit functional test for Drupal 8
Step 1: Create a Fixture To quote the PHPUnit manual: One of the most time-consuming parts of writing tests is writing the code to set the world up...
-
Debug Site Performance Using Web Profiler in Drupal 8
In the beginning of any Drupal project the site loads very quickly because there aren’t many modules installed. But as you add modules, the performance of...
-
Let’s debug in Drupal 8 !
It has been nearly 7 months since Drupal 8 first release and as a developer, I am still in the learning process. It can be hard...
-
DIGGING INTO DRUPAL 8: CODE SNIPPETS FOR SITE BUILDERS
The more I work with Drupal 8, the more I realize how much has changed for developers in the Drupal community. While the transition to a...
-
Managing media with Drupal 8
Media management has been identified as a priority in the last DrupalCon (New Orleans 2016). If we could have on Drupal 7 some contributed modules offering...
-
How to enhance your content authoring by adding custom CKEditor plugin in Drupal 8?
Steps to create CKEditor plugin. Define and add basic plugin info in hook_ckeditor_plugin_info_alter() in your module file. File: my_module.module function my_module_ckeditor_plugin_info_alter(array &$plugins) { $plugins[myplugin] = array(...
-
Drupal 8 Routing Tricks for Better Admin URLs
Implementation If you wanted to customize URLs in Drupal 7, you could use the Pathauto module. You can still do that in Drupal 8, but D8’s routing system...
-
Adding language id to the body class in Drupal 8
When I started making sites with Drupal 8 I missed a special body class that I sometime need for theming as well as other times, and that’s...
-
Drupal 8 Module of the Week: Permissions by Term
What does the Permissions by Term Module do? “Permissions by Term (PbT) lets you easily build access-restricted content areas on your websites. With it, you let...
-
Newly introduced mobile first Menu management in Drupal 8
Step 1: Create a Menu To create a menu, visit Manage >> Structure >> Menus In Drupal 8 menu is categorised in 4 sub category Administration Footer main...
-
D8 Development: Console, Menus, and Entity load/save basics
I learn best when I have a problem to solve, and with one of our D8 upgrade projects, we had a mess to clean up in...
-
Quick tip: getting the SQL built with db_select() in Drupal 7 and Drupal 8
When building more complex queries using db_select() you will often want to see the exact SQL being generated. This is helpful for understanding the query or simply debugging...
-
How to theme Drupal 8 views by overriding default templates
In this post, you will learn how to theme Drupal 8 views by overriding default views templates and use our own markup to build an accordion...
-
How to use views in Drupal 8
Step 1: Go to Manage >> Structure >> Views >> click on +Add new view Step 2: Clicking on +Add new view redirects to “Add new view” page. The...
-
Kickstarting with Drupal 8 themes
Creating your theme Themes have relocated. Just like modules, themes now live in the root of your Drupal installation. You can find them under themes directory....
-
Create your custom theme info file
Navigate into your “theme” directory which should be empty except for a “README.txt” file. This file contains a nice overview of what to put in this...
-
Gettin’ Twiggy With It
My last article Modernize Your Drupal Theme tackled adding some modern touches to your legacy Drupal themes such as SCSS and Compass. With Drupal 8 on the horizon,...
-
Theme with Sass,Singularity & Breakpoint
What is included in this theme: Drupal’s 8 TWIG based (obviously) SASS partials structure Singularity Grid System for responsive grids Breakpoint media queries in Sass Typecsset for vertical rhythm...
-
Let’s Debug Twig in Drupal 8!
Turn On Twig Debugging When I am theming a Drupal site, I need to know which variables are available on a template file. In Drupal 8,...
-
Up and Theming with Drupal 8
Drupal 8 is finally here! We’ve been digging into the code and learning how to install D8 in a way that allow us to sync sites and...
-
Using Twig
Twig vs PHPTemplate So let’s take a look at the main features of Twig and its differences from PHPTemplate. Outputting a variable: PHPTemplate: Twig: <?php print $variable; ?> {{...
-
CREATING LINKS WITHIN TWIG TEMPLATES USING PATH() AND URL()
Drupal 8 comes packed with loads of great new features, APIs and developer tools. There are sweeping changes aplenty. Not the least of which is a...
-
Defining UI Patterns UI Patterns are like plugins in Drupal. They can be defined from within custom modules or themes. Start by defining a custom theme...
-
Drupal 8/9 Migration: Migrating Hierarchical Taxonomy Terms
Before We Start If you are new to migrations in Drupal 8 or 9, you may want to read about migrating basic data to Drupal 8 first. You...
-
Drupal 8/9 Migration: Migrating Files and Images (Part 3)
Step 1: Import images as “file” entities First we need to create file entities for each file. This is because Drupal treats files as file entities which have their own ID....
-
Drupal 8/9 Migration: Migrating Taxonomy Term References (Part 2)
Importing tags as taxonomy terms As a general rule for migrating relations between two entities, first, we need to write a migration for the target entities....
-
Drupal 8/9 Migration: Migrating Basic Data (Part 1)
The Problem As per project requirements, we wish to import certain data for an educational and cultural institution. Academic programs: We have a CSV file containing details...
-
Drupal 8 Configuration Workflows
With our new configuration management system as part of Drupal 8 core we now have a powerful system to manage site configuration between our different environments....
-
Evolving Web’s Guide to Improving Your Social Media Accessibility
People are having more and more conversations on social media. It’s our job, as digital communicators, to include everyone in those conversations. Web accessibility means that we don’t...
-
Drupal vs. WordPress for Content Editors
If you work with content, chances are you’ve used or considered using either WordPress or Drupal, two of the most popular open-source content management systems around....
-
Drupal Modules Our Team Loves, 2021 Edition
It’s been a while since we’ve written a round-up of must-have modules (the last one was back in 2018), so I asked the Evolving Web team about...
-
Accessibility, Applied: Chatting with Firat Ikiler, UI Engineer
Last week I got to chat with Evolving Web’s UI engineer, Firat Ikiler. Firat has extensive experience in web design and frontend development, and he’s now...
-
Here’s How Drupal Can Be a Force for Diversity and Inclusion
As a long-time member of the Drupal community and a co-founder of Evolving Web, I think there’s a huge opportunity to leverage Drupal to build a...
-
Mastering Drupal for Content Editors
Do you work with web content? Are you just getting started with using Drupal to publish your site? Our team has written extensively about the different...
-
What It’s Like to Work at Evolving Web
There are countless agencies in Montreal and even more throughout North America, many of which offer similar career opportunities as Evolving Web. But here’s the thing:...
-
7 Frequently Asked Questions About Drupal 8 End of Life
Drupal 8 reaches end of life in November 2021. With the deadline fast approaching, we’re getting questions from the Drupal community about how this change will...
-
How to Organize Your Drupal Content With Taxonomies
Taxonomy is the process of classifying information. In Drupal, it’s also a powerful core module that allows you to assign labels to your content according to...
-
Choosing Modules and Themes
If you’re a Drupal developer who’s on the fence about trying Drupal 8, we hope this post will push you to go for it… or inform...
-
How to build your Drupal 8 theme using Bootstrap & Less
Bootstrap is a true blessing for web developers which is a sleek, intuitive and powerful mobile first front-end framework for faster and easier web development. When...
-
Drupal 8: How to Craft Custom Theme Hook Suggestions & Templates
Overview The goal for this tutorial is to create a theme hook and subsequent template for a group of block regions in our site. The regions...
-
Drupal 8 Development: 5 Things to Add to Your Theming Toolbox
1. Twig Debugging One of my primary tools for Drupal 8 theming is Twig debugging so you’ll definitely want to enable this while building out a...
-
DRUPAL 8 CONFIGURATION MANAGEMENT – PART 1
Drupal 8 brings a lot of new features and my favorite is configuration management. I’ll try to do a quick overview of it. Please keep in mind...
-
DRUPAL 8 CONFIGURATION MANAGEMENT – PART 2
Here’s part two on Drupal 8 configuration management (part one). MODULE/THEME DEFAULTS Remember how variable defaults were used in Drupal 7? $value = variable_get(‘my_variable_name’, ‘my_default_value’); In...
-
Your Complete Introduction to Drupal 8 Configuration Management
A lot of OSTraining members have started to experiment with Drupal 8. Some of the features are really well documented and are easy to use. Some...
-
Using the Configuration Module Filter in Drush 8
Having a Dev/Test/Live workflow is indispensable to safe and convenient website development. If your workflow involves frequently refreshing your development database with the latest information available...
-
DRUPAL 8 CONFIGURATION MANAGEMENT – SOLVING THE CONFIGURATION CONUNDRUM
A common difficulty in web development is keeping configuration consistent between environments. Drupal keeps most configuration settings in the database and it can be a pain...
-
Configuration in Drupal 8: tips and examples for developers
Embed the presentation code: <iframe src=”https://prezi.com/3m8yspw-7cwx/configuration-in-drupal-8/” width=”100%”></iframe> <p>Source: <a href=”//internetdevels.com/blog/configuration-in-drupal-8″>InternetDevels.com</a></p> In one of the recent blog posts by our developer, we offered you Drupal 8 development tips....
-
How to Use Configuration Management
What is CMI? One of the major features of Drupal 8 is the Configuration Management Initiative (CMI). I’ll briefly touch on why CMI is so important,...
-
Drupal 8 Config Management – how should I add config to a D8 site?
For me this is the biggest unanswered question hanging over my development of Drupal 8 websites: How should I add config to a Drupal 8 site?...
-
Writing custom fields in Drupal 8
Concept of a field Fields are the data entry points to a web application. Usually, they provide HTML elements and may be responsible for any manipulation...
-
Creating a custom field – Part 1: Field type
I have been experimenting with the Alpha release of Drupal 8 and so I’m sharing some of my experiences so that you can avoid the pitfalls...
-
Creating a custom field – Part 2: Field drupal widget
This is part 2 in my series of articles about Drupal widgets, and specifically creating a custom field. I recommend reading Part 1: Field type first, if you...
-
Creating a custom field – Part 3: Field formatter
This is part 3 in my series of articles about creating a custom field. I recommend reading Part 1: Field type and Part 2: Field widget first, if you have...
-
Creating Custom Field Formatters in Drupal 8
In this tutorial we will go through defining a custom field formatter for an existing field (image). What we want to achieve is to make it...
-
Introducing the 5 New Fields in Drupal 8
The Drupal 8 core has far more features than the Drupal 7 core. Many popular contributed modules have been included in the core, including five field...
-
Drupal 8 Field API series part 1: field formatters
The Drupal 8 cycle has entered the API freeze since the 1st of July, which means it’s time to start porting modules or simply play around with...
-
Drupal 8 Field API series part 2: field widgets
In the first article of the Drupal 8 Field API series, we saw how field formatters are written in Drupal 8. Now it’s time for widgets. You might...
-
Drupal 8 Field API series part 4: entity (form) displays and display modes
This is part 4 of the Drupal 8 Field API series. We skipped part 3 about field types as the dust hasn’t settled yet in terms...
-
Custom Display Suite Fields in Drupal 8
One of the more powerful features of Display Suite (DS) is the ability to create custom fields that can be displayed inside DS layouts alongside the...
-
Writing custom fields in Drupal 8 – Part 1
On a recent project we had to create a section that is basically a Twitter search for a hashtag. It needed to be usuable in different...
-
Writing custom fields in Drupal 8 – Part 2
Continuing from Evan’s blog post on building pages with Paragraphs and writing custom blocks of content as fields, I will walk you through how to create a custom...
-
Adding CSS Classes to Blocks in Drupal 8
block.html.twig <div class=”block block–fancy”> {{ title_prefix }} {% if label %} <h2 class=”block__title block__title–fancy”>{{ label }}</h2> {% endif %} {{ title_suffix }} {% block content %}...
-
Creating a custom block and assigning a region to it
Create a new block For this demonstration, we are going to create a new block in the blocks interface (you could also create a block in...
-
Converting a Drupal 7 module into a Drupal 8 one
Tutorial for Converting a Module from Drupal 7 to Drupal 8 With Drupal 8 now in Beta (as of this blog post), it’s time to start...
-
Routing, Controllers and Menu Links
How do I create a module? The first thing we are going to look at is defining the necessary files and folder structure to tell Drupal...
-
Blocks and Forms
Drupal 8 blocks A cool new change to the block API in D8 has been a switch to making blocks more prominent, by making them plugins...
-
Drupal 6 to Drupal 8(.1.x) Custom Content Migration
Note: This blog post is based on Drupal 8.1.x. It is an updated version of a previous tutorial based on Drupal 8.0.x. While the concepts are largely...
-
Config and the Service Container
Configuration forms When we first defined our DemoForm, we extended the FormBase class which is the simplest implementation of the FormInterface. However, Drupal 8 also comes with a ConfigFormBase that provides some...
-
EntityFieldQuery
Even though Drupal 7 core fell short of a proper way of handling its brand new entity system (we currently rely on the great Entity module for that),...
-
Symfony Event Dispatcher
What is the Event Dispatcher component? A very good definition of the Event Dispatcher component can be found on the Symfony website: The EventDispatcher component provides tools...
-
Building Drupal 8 modules: a practical guide
Share on FacebookShare on TwitterShare on GooglePlusShare on Linkedin Author: RuTel Let’s delve into Drupal module development! Here is a practical guide by InternetDevels developer on how to create...
-
Inline Editing in Drupal 8
Current State of Editing Content Let me just give you a quick overview of how it works right now in Drupal 8. This is a promoted...
-
Adding a contact form to a menu in Drupal 8
Once you have configured your contact form, you can now attach the contact form to your menu. This way the contact form can be found and accessed...
-
Build a Blog in Drupal 8: Custom Contact Forms
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Build a Blog in Drupal 8: Create and Manage Menus
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Build a Blog in Drupal 8: Managing Blocks
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Build a Blog in Drupal 8: Using Views
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Build a Blog in Drupal 8: Adding Comments
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Build a Blog in Drupal 8: Content types and Fields
This tutorial is part of the “Build a Blog in Drupal 8” series: Content types and Fields Adding Comments Using Views Managing Blocks Create and Manage...
-
Drupal 8 Migration Checklist
Drupal 8 is almost here and there’s a lot excitement in the open-source air! Indeed, the latest version of Drupal promises to be more mobile friendly,...
-
Drupal 8 Migrations, part 4: Migrating Nodes from Drupal 7
Note: Now updated for Drupal 8.2! Drupal 8 provides a flexible, plugin-based architecture for migrating data into a site. In Part 3 of this series, we...
-
YOU SHOULD BE BUILDING IN DRUPAL 8 NOW
Drupal 8 has been in beta since October 2014. With the critical issue count down to the home stretch, and updates now required for schema changes,...
-
Drupal 8 Performance: Moving the service container cache away from the database
Drupal relies on pluggable cache backends to store cache data such as Memcache, Wincache, Database, etc. The default storage backend is the Database, but Drupal being...
-
Drupal 8 migration status and surprises
We’re digging into our first dry-run migrations from Drupal 6 to Drupal 8, and learning a lot about what’s ready and what’s not. And there’s some...
-
MIGRATE TO DRUPAL 8 FROM A CUSTOM SITE
RESSOURCES http://drupal.org/project/drupal http://drupal.org/project/migrate_plus http://www.drupal.org/project/console MIGRATE IN DRUPAL 8 Migrate is now included in the Drupal core for making the upgrade path from 6.x and 7.x versions...
-
Deciding When to Upgrade to Drupal 8
Since Drupal 8 was released last November, the community has been experimenting, and optimising the upgrade process for Drupal 6 and Drupal 7 sites. Thanks to the hard...
-
How to reduce the risk of your Drupal 8 application using Backup & Restore?
Why should I backup? If for some reason your website goes awry, sometimes restoring it from a recent backup is the only option available. New...
-
Using REST Export With Views In Drupal 8
In a recent project, I had the opportunity to explore the world of REST web services with Drupal 7. It was a really good experience. I...
-
Drupal 8 REST Requests
In November, 2015, the Stanford Web Services team got to dive into Drupal 8 during a weeklong sprint. I was excited to look at the RESTful...