Drupal

Posts about Drupal, the open source content management system.

Drupal Logo

Overriding Drupal 7 Theme Functions In Module Files

16th December 2015 - 8 minutes read time

When overriding theme functions in Drupal 7 you would normally copy the theme function into the template.php and alter it to suit your needs. This isn't always convenient though, especially if you are trying to abstract functionality into modules and not have code in your theme layer that is reliant on module code. If you add theme override functions to your module files then they won't do anything as Drupal isn't looking for them there and won't pick them up.

It is possible to alter the theme registry in order to get Drupal to pick up your theme functions from your module code. This helps collect together code that performs a certain task and allows you to deploy theme alterations along with module updates.

Drupal Logo

DrupalCamp Scotland 2015: A Review

9th November 2015 - 6 minutes read time

DrupalCamp Scotland 2015 consisted of a Friday training day, followed by a day of talks and sessions on the 6th and 7th November.

The training day was based around Drupal 8 and had us looking at installation, configuration, and development. In the morning we set up a couple of Docker containers (on a Digital Ocean box) to run Drupal 8 from and then looked at the Drupal command line tool when setting up the system. Once installed we looked at the system structure and how the configuration management system worked. In the afternoon we created modules and themes, also using the Drupal console to generate some of the code fragments. I think the use of Docker on a remote server was a good idea in getting everyone up and running on the system without having to rely on local LAMP stacks or whatever. The training day was really good and I was able to swap lots of ideas and techniques with the trainers and other attendees.

Drupal Logo

Drupal 7 Page Delivery Callbacks

21st August 2015 - 11 minutes read time

Or, how you can render a Drupal page with an entirely different template.

I recently had a requirement where I needed to get Drupal to render a single page of HTML that was entirely separate from the normal page layout of a site. This was actually part of an API callback, but this got me involved in looking at how delivery callbacks work in Drupal 7. It isn't necessary to create a new theme just for the job of rendering a single page with some custom HTML, especially as Drupal has mechanisms to provide this built in.

Drupal Logo

DrupalCamp North 2015 : A Review

2nd August 2015 - 11 minutes read time

The city of Sunderland played host to DrupalCamp North, which saw Drupal users and contributors travelling from all over the UK and Europe to attend. The event, which was held from 24th-26th July, was jointly led by the North East, North West and Yorkshire Drupal User Groups and consisted of a three day sprint, a business day, and a two day conference.

Image removed.

Due to work constraints I wasn't able to attend the sprints or the business day but I attended the main conference days and a group of colleagues drove up from Manchester on the Friday night. Our accommodation was booked through Sunderland University and were a short walk away from the camp venue, which was great.

Drupal Logo

Drupal 7 Node Access Control With Access Grants

20th July 2015 - 19 minutes read time

There are a few ways in which you can create complex node access systems. Modules like Taxonomy Access Control and Node Access will allow you to restrict node access in different ways, and work very well for setting up taxonomy or role based access control. There are a few edge cases where you need to restrict access to a node based on some arbitrary conditions like the age of the user or the contents of a field. This is where the build in Drupal access control mechanisms come into play. They do take a little bit of effort to get around how they work, but I hope to enlighten in this post.

Drupal Logo

Setting Up Basic Authentication On A Drupal Site Without .htaccess

14th July 2015 - 6 minutes read time

Basic HTTP authentication is a simple authentication mechanism that is used to prevent access to a site or directory on a server. It is by no means the most secure authentication mechanism but it is commonly used on staging sites in order to prevent unwanted access. This is a good way of preventing search engine bots from spidering the staging site, which is undesirable as it can cause staging site pages appearing in search engines results.

The usual route to set this up is to create a .htaccess that sets up the authentication and references a .htpasswd file to create the username and password details. This can mean editing the .htaccess file in order to setup the password correctly. Unfortunately, this creates a .htaccess file that shouldn't be added to the repository as it would mean that the live site would also be password protected when the code is deployed.

Drupal Logo

Getting Started With Cache Functions In Drupal 7

30th March 2015 - 15 minutes read time

When generating markup in Drupal you'll often want to store the output in a cache instead of regenerating it every time. This is especially important for potentially expensive rendering tasks that don't change between page requests. Drupal 7 comes with a cache system that can be taken advantage of with the cache_get() and cache_set() functions. There is also a third function called drupal_static() that also fills in gaps between these two functions.

Drupal Logo

DrupalCamp London 2015

24th March 2015 - 7 minutes read time

Nearly a month has passed since my visit to London for this year's DrupalCamp and I thought I would put my thoughts down on the blog. I went down with a group of colleagues from my company Access on the Friday night before the event, having arranged a flat through Airbnb for all of us to stay in. After some beers and a burger we were ready for the main event on Saturday morning.

Drupal Logo

Speeding Up Apache And Drupal With Varnish

8th June 2014 - 37 minutes read time

Varnish is a web application accelerator that provides an easy speed increase to most web applications and Drupal is no exception. It works by creating a reverse proxy service that sits in front of your web server and caches traffic that comes through it. When the page is requested, Varnish forwards the request to the web server to complete the request, the response that comes back from the web server is then cached by Varnish. This means that the next request to the same page is served by Varnish and not the web server, which results in a large speed increase.

The upshot of using Varnish with an application like Drupal is that when a request is made there is no hit to the web server (and thus PHP) and no hit to the database. Varnish works best with Drupal with anonymous traffic, as authenticated traffic requires cookies and custom HTML. Even so, you can see massive speed increases for any anonymous traffic on the site.

Drupal Logo

DrupalCamp London 2014: A Review

12th March 2014 - 20 minutes read time

The City University London campus was the venue for Drupalcamp London 2014 and I went along for the weekend as a delegate. This was the first conference for a while where I wasn’t helping out, speaking, or organising in some form so it was good to just turn up and relax. I travelled down on the Friday night from Manchester and successfully booked into my Airbnb room.

Saturday

The (pre-breakfast) keynote was from Mark O’Neil and was about the Government Digital Service (GDS) and about how they are working towards making the UK government IT service better and more open. Mark is Head of Innovation and Delivery at GDS and has had a hand in most of the projects that the organisation is involved with. The team he runs is only a dozen or so developers, but they are producing things that are used by millions of people right now. The most prominent of these is the gov.uk website.