Articles about Drupal

A case for the Drupal commerce detective

Finally solved a curious issue that has been nagging me on a test Drupal commerce site.
I have a utility script that lists products that are not linked to Product Displays (handy). Perplexingly the ‘report’ kept showing some orphaned products even though I had linked them all and the report had shown none previously.
It is a test site undergoing some heavy development so at first I put it down to that - rolling the database back and forth etc But today I noticed it and was pretty sure that nothing had changed that could cause such data changes. Could it be some bug in entity API, commerce ? Unlikely! So crack out the deer stalker and pipe lets investigate!

Drupal 7 commerce multi currency site using a price list

Below are my notes taken as I investigate techniques to achieve my Objective,
(This post is not a normalised set of instructions but the process I went through to figure out the best way to handle multiple currencies c objective)
if I get a chance ill create another post with a normalised set of instructions/explanation.

A custom/optional Drupal teaser in a view using the Views Custom Field module

A client needed implementing a custom teaser/short description for a CCK field (not the body) in his Drupal 6 site. The requirements: if the short description/ teaser is available use it otherwise get the data from the CCK field. It is important to note that Display Suite Drupal module was not available as I think it provides a much better approach (will post about in the future).

I have used the Views Custom Field module , this adds a PHP field that allows us to add PHP code to a view.

Drupal Node actions

Drupal nodes typically have an Edit and View links (rendered as tabs at the top of the node by most themes).
Ever wanted to add you own links so you can add custom functionality?
This can be used to automatically populate node data.

The below example will show you how to add a link titled “reviewed” to an article node type, this link will prompt the user for a comment and set two cck field “reviewed” and “note”.

This is not intended as a real example but as an illustration of the how the following techniques can be used as the bases for the creation of powerful work flow.
The techniques covered are
•    hooking into the Drupal menu routing system
•    form creation and validation
•    node manipulation (node_load and node_save)
•    url redirect

Drupal Building blocks

- Talk notes from the BAD Monday meetup

By Guy Shneerson of Blue-Bag Ltd (    Guy [at]

Notes form my presentation at the Brighton Area Drupal meetup (BAD monday) on Monday 18/04/2011 at the Skiff

Thanks to Steve for organising the evening and to all that attended

We were engaged by Pelgrow UK Ltd to develop an online e-commerce solution for their network of highly successful high street pharmacies in London and across the UK. We were tasked with the design and building of the YourPharmacy brand through the design and creation of an online e-commerce store.

History of Parliament Online

We were engaged by the History of Parliament Trust to work on their flagship website that publishes the results of research into the members and constituencies of all British parliaments since 1386. This data rich web site is managed by the Drupal CMS and has tens of thousands of 'nodes'. We were tasked with solving various issues with the site's performance and importing data from the DTP files used to create the published volumes.

960 Robots theme - unwanted tweets in header

You'll notice that we are using the excellent 960 Robots Drupal theme for this blog. We aim to showcase several contributed modules and themes over time to show how they can be setup and used etc - using this site as a basis for video casts - in case you were wondering why we don't use our own themes... ; )
Great theme and easy to set up with great features out of the box.
One of the features of this theme is the random tweets in the header. Nice example of how to pull an external sites API query into your site - in this case Twitter.

Drupal Blueprint theme playing SEO nicely with other modules

Getting your page title and metatags correct is great for SEO and enables your readers to locate your content by getting it indexed well.
In this post we'll see how to get your modules and theme to play nicley together to ensure that your page structure is optimal for web standards and indexing. In most cases this can be sorted with a simple fix.

Drupal duplicates Content Type metatags

You may have noticed if you have looked at the page source of Drupal sites that they often have two content type metatags

This is a remnant of a security fix to ensure that the page always had a content type. (you can read all about it here

Drupal Ubercart - Changing your 'cart' to your 'basket'

If you use the Ubercart module suite for Drupal to create e-commerce sites (we do and love it!) then one of the things you may wish to do is to change the default 'cart' to 'basket' - for a non-US audience. There is no setting in the Ubercart modules to enable this - but it is really easy and here's how to do it.
Get the excellant string overrides module and install it. Then set it up to swap the following fields:

Working with large (Drupal) taxonomies

Drupal is great and the taxonomy system is great - but large taxonomies (over 1,000 terms are a headache for any system) and Drupal is no different. I have a new taxonomy for a project with > 5k terms in a three deep hierarchy and using it presents some usability, performance and other issues.
So I though I would take a break and write a bit about evaluating some Drupal contributed modules for working with large taxonomies:

handling 404 errors on hosted CMS

A general housekeeping task for CMS systems such as Wordpress and Drupal and other websites and good practice to keep your site SEO high is to make sure you are gracefully handling missing pages (404 errors).
One of the routine tasks to carryout is checking for crawl errors in Google Webmaster tools. If you see any missing pages in the list it is worth making sure you have some measures in place to handle these and ideally issue a 301 redirect so that Google and other search engines update their indexes.

Sites Using Drupal

Drupal is a very secure software framework ideally suited to providing content management and social integration platforms. It has been vetted and road-tested by some of the most security-conscious web sites on the planet: Drupal powers high profile governmental websites from the U.S. White House ( to the official website for the Mayor of London and the Greater London Authority ( But they are not isolated examples as Drupal provides the framework for over 500,000 other sites across the web (e.g.


Web content management system (WCMS) frameworks such as Drupal enable us to build custom website solutions based on a solid framework. This means that we can develop rich website solutions rapidly without our clients having to pay for us to reinvent the wheel.  WCMS solutions also provide the client with full editorial control over the implemented website freeing them from being tied to a proprietary solution.

Site Maintenance and Hosting

To ensure that we are able to provide the quality of website services our clients have come to expect we provide the full services of an Internet Service Provider (ISP). This enables us to provide custom, secure and high performance website solutions.  We provide services to manage the complete web presence for your website from registration and hosting through security and performance monitoring and support.

Technology Articles

Update: we have now combined this site with our main site! And all the articles are available in the one site.

We wanted to create a home for our knowledgebase and created the website Here we provide a range of articles and posts covering issues from using CMS systems such as Drupal through to security articles covering securing access to your website.

Safe guard your web site with routine web log analysis and forensics

Whether you are running Drupal,Wordpress, Expression engine, Joomla or in fact any web site one of the regular tasks you should carryout on your web site is a bit of log analysis. It is often left up to modules, plug ins or someone else to protect your web site until it too late.
We all rely on Google Analytics to tell us about visitors and maybe use our log analysis software (AWStats, Webaliser etc) to report on log entries - but it is always worth using tools locally to dig deeper into your logs. These can range from simple reports on accesses to your site to more detailed forensic analysis of site activity.
By doing this we get to know better how visitors are accessing our site and can uncover some interesting answers to questions such as:

  • How often is Google actually spidering my site?
  • How many errors am I getting and what are they?
  • Who is stealing my content?
  • Is anyone trying to crack my site?

In this post I will briefly cover some useful techniques to analyse you logs and see if any one is abusing your hospitality.

Trouble shooting Cron?

It ducked!
Monday morning the sun is shining and your email box is full of emails saying cron is failing on one of your sites.
In this post I will look at what is going on, how you can troubleshoot it and fix it and how life may be made easier in the future by a) adding a bit of logging to cron and b) features in Drupal 7.

Customising your Drupal maintenance page

So you have created your Drupal site,configured to be as search engine friendly as you can, added loads of good content and all is well - traffic is building up and you are getting great feedback from regular visitors. Then some updates to your modules are available and you need to put the site into maintenance mode whilst you upgrade these - and that is when you find that the maintenance Site Offline page is in the classic minelli theme and that isn't what you want at all. In this post I will show you how to theme your maintenance pages in under 5 minutes with 3 simple steps.