Drupal Development

How To Add CAPTCHA Protection to Drupal 8 Webform

July 09, 2020
Recently I launched a new Drupal 8 website and was surprised by a spam amount we got via website's contact form (built with Webform module).  As the website was new, I was manually blocking each spammers IP, but the amount got larger and larger, to avoid that, I decided to install Captcha module, just...

How To Create a Custom Drupal 8 Theme based on Bootstrap

July 03, 2020
When building a new Drupal website I prefer working with a Bootstrap theme and apply a subtheme  Just like in the case with Drupal 7, theming a subtheme based on Bootstrap is super simple - in a few words - download and enable a Drupal 8 bootstrap theme, then in the Drupal themes folder create a new theme...

File Permissions for gmap_markers.js

June 12, 2020
Time after time I'm facing this issue with gmap markers. As mostly this happens when I'm doing something on the server side with file permissions, I decided to keep the notes here is the problem GMap is unable to save the marker bundle, so the markers will not work. Please check file system permissions of the...

Simple CSS trick to Make Table Responsive

June 11, 2020
Working on the OptionsBrew.com project (website is powered by Drupal 8) I faced the following responsive table issue while browsing content with a table on smaller screens (phone) Broken Table on a smaller screen Luckily there is a simple CSS workaround: in the .css file add the following to...

Drupal 7 Fix: SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'.

June 05, 2020
I was migrating Drupal 7 website to a newer infrastructure (PHP 7.4) and during the migration process when tried to connect to the MySQL database  I faced following error - SQLSTATE[42000]: Syntax error or access violation: 1231 Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'. Here...

How To Block IP Address in Drupal 8

May 23, 2020
Unlike in Drupal 7 version where IP banning is enabled by default, with Drupal 8 version, there is one more step added - IP banning must be enabled from the extend section. Here is how. (source) Log into your Drupal 8 admin interface. From the top menu bar, click on the menu tab and then the ...

Fix for Drupal 'Social Share Counter' module - Facebook Counter Not Working

July 16, 2019
I have been using Drupal's Social Share counter module for some time already. It worked great until recently it stopped and all posts were showing 0 shares. After a quick research on the modules issue page, I found the solution: Facebook share counter not working Facebook has changed its API recently, so...

How To Merge Vocabularies on Drupal (Taxonomy Manager)

June 04, 2019
A couple of years ago I launched the Piece of Life project in the frames of this blog. The idea was simple - instead of building a separate website for our photo stories, incorporate it in already established blog After a quick brainstorming  - it was realized using additional content types and...

How To Upgrade Drupal 7 to 8 (With Multilingual Support)

January 09, 2019
Here comes another article, which has been in the blog's draft section since the start of 2017. In this article, I will share my notes on performing a major Drupal upgrade from 7 to 8 with multilingual support. As a Drupal developer, I've been pretty conservative and don't rush for upgrades just because of...

Drupal 7 Rules: Send E-mail to User Referenced by NID After Saving Content

November 17, 2018
A time ago I started to work on a custom Drupal powered translation management system, unfortunately as I didn't have much spare time and actually there are really great alternatives (paid) out there - I decided to postpone this project. Despite the project wasn't actively developed, it was though running a...

How To Embed YouTube video in Drupal 8 (CKEDITOR)

June 23, 2018
Now, there is one more reason I'm starting to enjoy Drupal 8, embedding YouTube videos in articles now are super easy, thanks to the simple and neat Drupal module - Video Embed Field In this article, I will guide you through how to configure Drupal 8 built-in CKEDITOR to work with this module. For...

How To Configure Trusted Host settings for Drupal 8 Website

June 21, 2018
In today's Drupal tutorial series I will talk about Trusted host settings, what they are and how to configure them. In short, Trusted host settings protects against HTTP HOST Header attacks (prevent your site from thinking it is someone else). Drupal 7 added a new feature into the core that is not user-facing...

How To Setup Google Analytics For Drupal 8 Website

June 17, 2018
Setting up Google Analytics for a Drupal 8 powered website is as simple as it is with Drupal 7 website, luckily for us, there is a small and neat module doing the hard work for us. Google Analytics is one of the essential modules to have for any website, see: Building Drupal 8 Website From Scratch - Part 3,...

Building Drupal 8 Website From Scratch - Part 3, Essential Modules (Pathauto, Google Analytics, Disqus)

June 15, 2018
In the third part of Drupal 8, website building from a scratch series I will focus on a few essential must have, modules to boost Drupal website's SEO and usability. Before continuing to learn how to build a successful Drupal 8 Website, make sure to check out previous articles in the series: Building...

How To Update Drupal Modules via SSH (Putty)

June 14, 2018
To strengthen Drupal websites security I decided to disable one-click automatic module updates from Drupal dashboard, unfortunately, it makes it harder not even for bad guys to compromise Drupal website but it also makes it harder for Drupal devs. Now, there are several options you might choose instead,...