Rather than provide a basic how-to tutorial on Drupal's form API #AJAX functionality, I decided to address a few pitfalls that often frustrate developers, both junior and senior alike. To me, it seems that most of the problems arise from the approach rather than the direct implementation of the individual elements.
As I've said before in my custom views filter handlers tutorial, views is amazing. Today I was writing a custom style plugin. I got the plugin to show up in the list of available formats, but whenever I saved the form, it wouldn't stick.
Note: this code has been tested in Drupal 8.0 and 8.1
At the time of this writing, the Search API module is still in alpha phase. A note from the module maintainers warn that it is unstable. This blog post serves as a way to learn how to write a simple Drupal 8 module to modify Drupal 8's core search without using the Search API module.
I recently spent some time fighting against the Drupal Media and File Entity modules in order to upgrade them from version 7.x-1.x to 7.x-2.x. (To be specific, Media was upgraded from 7.x-1.4 to 7.x-2.0-beta1, and File Entity to 7.x-2.0-beta2). Through this post, I will share with you my trials and tribulations, with the hope that one day no one else will endure the pain and suffering that I have endured.
Google Analytics Module Settings
Drupal's Google Analytics Module is great. There are a few settings though that I recently found out you'll want to pay closer attention to. First is the "Pages" section of the configuration form, which allows you to only include/exclude Google Analytics tracking code on certain pages. The default settings are to exclude the code on the following pages.
Before working at Metal Toad, I saw an email from Acquia. A strange email.
It went something like this:
On October 15th, we will be addressing a security concern at 9:00 am.
Hmm. That's interesting. I don't remember getting an email about security updates like this. As with any CMS, there are constant security updates as new (and sometimes exotic) vulnerabilities are found.
Some friends on Twitter were alarmed by this Drupal change record: "Accept header based routing got replaced by a query parameter". This change replaces "Accept: application/hal_json" with "/node/1?_format=hal_json". The issues leading to this change are too lengthy to capture on Twitter, so I'll give my perspective here.
Entityqueue uses Ctools plugins for what we call an EntityQueueHandler. In this post we are going to see how to create a custom EntityQueueHandler. We will be looking at the Entityqueue Scheduler module as an example.
What is an EntityQueueHandler?
When you create a new Entityqueue, there is an option to select which handler to use.
This year marked my third consecutive trip to DrupalCon as both a developer and a volunteer social media-er (the millennial in me wants to say “Social Storyteller”). DrupalCon is a global conference that boasts several thousand attendees and highly educational, opinion-stirring sessions and BOFs. Thankfully, I work for some great organizations that have allowed me to balance my full-time duties (learning all the things) with volunteerism.