Drupal 8: Include A Twig Template

1st April 2016 - 1 minute read time

When creating re-usable theme templates in Drupal 8 it's quite easy to include that template by using the following snippet.

{% include directory ~ '/templates/parts/footer.html.twig' %}

This assumes that your footer.html.twig template file is kept in the same theme as the template you are working on. It's also good practice to add the template part to a directory called 'parts' or 'components' to separate them from the normal Drupal templates.

DrupalCamp London 2016: A Review

1st April 2016 - 8 minutes read time

DrupalCamp London, now in it's 4th year, was held of the weekend of the 4th, 5th and 6th of March at The University of London campus in London. Myself and a few other developers from Manchester headed down for the weekend to attend. I wasn't able to attend the CXO day on the 4th, but we were all in attendance for the camp event.

Overriding Drupal 7 Theme Functions In Module Files

16th December 2015 - 6 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.

Interrogating DNS Records

30th November 2015 - 15 minutes read time

DNS records, as many of you will already know, are commonly used to translate a human readable address into an IP address. This means that instead of visiting a website by typing in it's IP address you can just type in the easy to remember DNS address. I won't talk too much about how DNS records work here, but if you want to know more then you can read the awesome and easy to understand how DNS works commic.

In this post I will be looking at different tools that can be used to find out more about a DNS record, and what kinds of results they return. I won't be looking at the tools in great detail, but enough to get you started when looking up DNS records.

DrupalCamp Scotland 2015: A Review

9th November 2015 - 5 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.

PHPNW15: A Review

17th October 2015 - 8 minutes read time

PHPNW is the 8th annual PHPNW Conference, and I think I'm lucky to be one of the few who have attended every year. This was something that Jeremy Coates mentioned out as we sat down the introductory session, but it was also good to see lots of new people attending the conference as well. It was a great conference with a great community feeling.

The keynote this year was by Meri Williams, who talked about Stealing People Lessons from Artificial Intelligence. Meri's career has been in both development and project management and she was able to use lessons learnt during her PhD thesis on artificial intelligence in order to think about how people respond to work. The concept sounds a little un-emotional at face value, but part of the principles of AI is making sure that all agents have their own goals. Meri was a funny and engaging speaker who talked about all kinds of interesting aspects of how people learn and grow.

Drupal 7 Page Delivery Callbacks

21st August 2015 - 10 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.

DrupalCamp North 2015 : A Review

2nd August 2015 - 10 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.

DSC_0179

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 7 Node Access Control With Access Grants

20th July 2015 - 17 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.

Scanning Linux For Intrusion With RKHunter

16th July 2015 - 9 minutes read time
RKHunter (or Root Kit Hunter) is a program that can be used to scan a Linux machine to see if there is anything there that might be a sign of a security breach. It will scan all of the files on the system and look out for any suspicious files or unexpected changes to system files that might indicate a security breach. Just like anti-virus systems it has a database of root kit definitions that it will use to compare files against to see if they are infected but will also just check for changes to core system files.