Skip to Content

Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 15 hours 30 min ago

Mediacurrent: Digital Marketing Audit for Drupal Websites

1 July 2014 - 1:12pm

Getting the best value from your digital channels demands understanding what works and why. Many brands have websites and email programs that are failing to engage their stakeholders, generate leads, build brand equity and create the real value they could.

This month, our Digital Strategy team is giving away a free Digital Marketing Audit. Our audit will look at the major aspects of your online presence aimed at getting more visitors to your website and converting them into customers.

Categories: Drupal

Aten Design Group: Recent Aten Open Source

1 July 2014 - 11:05am

Aten is always looking for good opportunities to contribute useful code around the open source software we use. Here are some opportunities we've found recently.

New Projects Updates to Existing Projects
  • View Mode Page — Rob managed the issue queue.
  • Node Embed — A few of us managed the issue queue.
  • @font-your-face — Scott managed the issue queue.
  • OpenAid — Several of us worked on a new design and managed the issue queue.

Take a look at the open source projects we're working on, and get involved! All of these projects are happening in the linked open collaboration spaces, so it's easy to see what's happening. But if you'd like a guide to getting plugged in, get in touch.

Categories: Drupal Using Live Templates in PHPStorm

1 July 2014 - 10:10am
PHPStorm and the JetBrains suite of products are without a doubt, the best IDEs on the market for their respective applications. If you do a lot of custom development, you owe it to yourself to learn and use every tool this IDE can afford you.
Categories: Drupal

Drupal core announcements: This Month in Drupal Documentation

1 July 2014 - 8:22am
Welcome to the second This Month in Drupal Documentation!

"This Month in Drupal Documentation" (TMIDD) is an approximately monthly update from the Documentation Working Group (DocWG) on what has been happening in Drupal Documentation in the last month or so. Sorry... because this is posted in the Core group as well as Documentation, comments are disabled.

If you have comments or suggestions, please see the DocWG home page for how to contact us. Thanks!

Notable Documentation Updates

See note above on Suggestions if you'd like to be listed here in our next post!

Thanks for contributing!

Since May 29th (our previous TMIDD post), 262 contributors have made 1216 (wow!) total documentation page revisions, including 8 people that made more than 30 edits (lolandese, acabouet, drupalshrek, jhodgdon, gisle, realityloop, brycefisherfleig, and Gábor Hojtsy) -- thanks everyone!

In addition, there were many many commits to Drupal Core and contributed projects that improved documentation -- these are hard to count, because many commits combine code and documentation -- but they are greatly appreciated too!

Documentation Priorities

The Current documentation priorities page is always a good place to look to figure out what to work on, and has been updated recently.

If you're new to contributing to documentation, these projects may seem a bit overwhelming -- so why not try out a New contributor task to get started?

Upcoming Events Report from the Working Group
  • We've been working on the Policies section of the DocWG pages, and it's taking shape. So far, it mostly contains existing policies, but we also recently discussed and adopted guidelines for what to do about obsolete documentation and added it there.
  • We've streamlined the Contribute to Documentation pages so that they're actually possible to read in one sitting. There was a lot of obsolete and duplicated information in there; not so much now!
  • We are still looking through all of the suggestions and ideas the community has had in the past for how to improve documentation policies, procedures, and tools (and achieve our goals). We are getting closer to making a list of priorities... watch this space for updates!
  • Video files can now be updated on on documentation (and other) pages. Check out this issue for more information:
  • The software on was recently updated, mostly with new features for Drupal 8, including a list of Services (see right sidebar navigation) and displaying Traits. Thanks to the infrastructure team for making this possible (the new Drupal 8 features required PHP 5.4, and the site is running PHP 5.3, so it was a bit tricky!).
Categories: Drupal

Drupal Association News: Announcing Our New Hosting Supporter Program

1 July 2014 - 8:12am

Our members, partners and supporters are the lifeblood of the Drupal Association and everything we do to help foster the Drupal project. Today, we’re making it even easier for organizations to support the Drupal Association and get great benefits in return.

We’re thrilled to announce our new Hosting Supporters Program, which has been specifically designed for Drupal hosting providers who publish great Drupal sites. We frequently hear from hosting providers who want to give back and invest in the project because a rising tide lifts all boats. Since all three of our Supporter programs fund improvements, the Hosting Supporter program is a great new option to do just that. 

The new program brings a third option to our programs for companies (Supporting Partner Program for Drupal design and development shops and Technology Supporter Program for third party software vendors that help build great sites are the other two) and means hosting providers now have a program tailored to their desire to promote Drupal and connect with the community. There are several companies who have already joined.

Why a third option?

We put this together because variety is the spice of life! Well, that, and the fact that our supporter companies enable us to make a difference, and we want to make that as easy as possible for them. It didn’t make sense to bundle hosting providers in with our Tech Supporters program, which is designed for third party software vendors, or Supporting Partner program, which is designed for Drupal design and development shops – so we created a new category.

What is a Hosting Supporter?

A Hosting Supporter is a kind of special organizational member of the Drupal Association. All of our Hosting Supporters get opportunities to connect with the community and provide education. They can also take the Drupal security test and promote that they passed.

How can I become a Hosting Supporter?

To learn more about the Hosting Supporter program, check out the details on the Hosting Supporter Program web page and contact Don Page, Account Manager, Technology & Hosting at the Drupal Association.

Categories: Drupal

OhTheHugeManatee: Bug: Multilingual Auto Label Will Break Your Entity Static Cache

1 July 2014 - 8:00am

This is an important one to note: If you use the popular Automatic Entity Label module on a multilingual site, it will break your paths because of an interaction with Drupal’s built in object cache. I looked at this briefly a few months ago and ran out of time, but my (badass) colleague bburg figured it out this week.

For now, the only solution is a slow one – we clear static entity caches when we generate multilingual titles. That’s not an awesome fix, but it’s hard to think of a better one without any of the D8 cache tagging functionality. Massive kudos to bburg for figuring this out!

And for those of you keeping score, this is a good example of how to file a bug report for a really complex issue in a really popular module… and follow up until you resolve it.

Categories: Drupal

OhTheHugeManatee: D8 Core Sprint in DC

1 July 2014 - 7:27am

A quick note to all the Drupalists in the DC general area – Forum One is trying to put together a D8 core sprint in their DC office space. They’re coordinating with the DC Meetup group to try and spread the word to as many community members as possible!

If you haven’t been to a code sprint before, it’s basically a coding party. Developers get together and help each other contribute better and faster by reviewing code on the spot, mentoring each other, and generally working in small ad-hoc groups. It’s a lot of fun, and gives a big boost to development of the next generation of Drupal.

Forum One will provide the locale in downtown DC complete with pizza, beer, and soda. We also have a few of our core mentors on hand to help you get started if this is your first time contributing to core. Because of the building security, if you want to attend you have to register first! I won’t be able to attend, but my colleagues John Brandenburg and Kalpana Goel will be there mentoring. Go sign up now!

Categories: Drupal

Digett: A module I've been wanting for a long time — insert a block in WYSIWYG

1 July 2014 - 6:35am

Sometimes what you are looking for is right in front of you. I have been searching for a module to allow me to insert a block into a WYSIWYG field. I tried looking for a Drupal implementation like Wordpress Shortcodes, perhaps the SimpleAd module would do what I'm wanting, maybe there is a Ckeditor plugin written for this? I came up short.

read more

Categories: Drupal

Drupal core announcements: No Drupal 6 or Drupal 7 core release on Wednesday, July 2

1 July 2014 - 6:17am

The monthly Drupal core bug fix release window is scheduled for this Wednesday. However, the last release was two months ago, and there haven't been enough changes to the development version since then to warrant a new release.

(Note that there will be a Drupal 8 alpha release on July 2, but Drupal 8 is still under development and therefore on a different schedule than the stable core releases.)

Upcoming release windows include:

  • Wednesday, July 16 (security release window)
  • Wednesday, August 6 (bug fix release window)

For more information on Drupal core release windows, see the documentation on release timing and security releases, and the discussion that led to this policy being implemented.

Categories: Drupal

Blink Reaction: Austin Wrap-up - Drupal 8: The Friendly Platform

1 July 2014 - 4:31am

For those of us living at the speed of Drupal each and every day, Austin seems light years away already. We’ve begun planning in earnest for Drupalcon Amsterdam and even Drupalcon Bogota and Drupalcon LA in 2015.

Categories: Drupal

Pixelite: Updating Drupal to use Google Analytics Universal tracking

30 June 2014 - 9:58pm
Facebook Like Google Plus One Linkedin Share Button

So Google Analytics has a new version of Google Analytics dubbed "Universal Analytics", which has a bunch of new features, that could be handy for your website. I would dive into exactly what they are here, as you can read about them on Google's own website.

In this post I will go through the steps to upgrade the Google Analytics 7.x-1.x module to the new 7.x-2.x version that supports Universal Analytics.

Update the Drupal module

If you read the Google Analytics module page you will spot that there are two different branches in use, in order to get the correct version you will need to get the 7.x-2.x version.

You can do this with Drush:

drush dl google_analytics-7.x-2.x drush updb Event tracking

If you have used custom event tracking in your website, a few changes are required.

Instead of

_gaq.push(['_trackEvent', 'category', 'action', 'opt_label', opt_value, opt_noninteraction]);

It is now

ga('send', 'event', 'category', 'action', 'opt_label', opt_value, {'nonInteraction': 1}); Handy grep command

If you want to find the offending lines of code, you can use grep

grep -nrI "_trackEvent" * Custom variables are now dimensions and metrics

If you were using the old style custom variables, these are now completely gone, now replaced with dimensions and metrics. You can read more about these on Google's website.

Instead of

_gaq.push(['_setCustomVar', 1, // Slot 'Customer Type', // Name 'Paid', // Value 1 // Scope (1 = User scope) ]);

It is now

ga('set', 'dimension1', 'Paid'); Drupal support of custom dimensions and metrics

The Drupal module has an active issue that allows you to configure this through the UI, unfortunately this is still only a patch at the moment, but is looking likely to be committed shortly (it maybe already if you are reading this now). For now I patched the Google Analytics module with Drush make

; Google Analytics projects[google_analytics][type] = module projects[google_analytics][subdir] = contrib projects[google_analytics][version] = 2.x ; Implement custom dimensions and custom metrics ; projects[google_analytics][patch][] = "" DoubleClick data

If you were using the additional data that DoubleClick integration provided, this is now supported, this is just a tickbox on the admin settings page.

To enable it

variable_set('googleanalytics_trackdoubleclick', 1) Other new features in Universal Analytics UserID tracking

This effectively allows you to track the same user across multiple devices. This comes in handy if your users can login to your Drupal site, and they would likely login on their mobile phones, and tablets etc. You can read more on Google's page about User ID tracking

To enable it

variable_set('googleanalytics_trackuserid', 1) Enhanced Link Attribution feature

Allows Google Analytics to differentiate URLs based on what link the user clicked on, really handy if you have many links pointing at the same page. You can read more on Google's page about User ID tracking

To enable it

variable_set('googleanalytics_tracklinkid', 1) Finally

Run this little gem over your codebase to ensure there are no legacy Google Analytics code lying around.

grep -nrI "_gaq" *

Let me know if you have any tips or tricks in the comments for the new Google Analytics

Tags drupal drupalplanet Google Analytics Source Drupal module for Google Analytics Category Tutorial
Categories: Drupal

Drupal @ Penn State: DrupalCampPA Session proposals end July 1st (THATS TODAY!!)

30 June 2014 - 7:16pm

In case you hadn't heard, Pittsburgh will be having its very first DrupalCamp this year. The event is a collaboration between the Drupal User group in the Pittsburgh area and the Penn State DUG. It's hosted on University of Pittsburgh (Pitt) campus and the theme of this year's event is Bridging Higher Education & Industry.

Categories: Drupal

Doug Vann: Why I support Kalabox on Kickstarter and why I think that you should too.

30 June 2014 - 7:07pm

This Kickstarter campaign exists to take Kalabox 1.0 to the next level! Literally!

Let’s be honest. There are a LOT OF TOOLS out there to turn your computer into a web server and help you leverage sophisticated tools. They range in cost from free to cheap to pricey. The complexity ranges from too simple to be useful on the one end to too complex to be used on the other. Yes, there is some middle ground there, but at the end of the day you simply don’t have all the tools that the cool kids use. :-(

Now, Here comes Kalabox!

KALABOX uses the tagline, “Advanced Dev tools For The People.

I love this! I’ve always been the kind of geek who was happiest when technology makes a difference, like when introducing new technology makes humans happier and more productive! And this is exactly what Kalabox is already doing AND wants to do a whole lot more of.

The tagline is catchy, but the full definition, of what Kalabox is, gets me equally excited:

Kalabox is an “Integrated workflow solution for people who use Drupal.”

They're talking about US! If you’re reading this you probably use Drupal and if you’re not excited yet… Keep reading!

Here’s a bullet list of some Kalabox facts that caused me to reach for my credit card. I gleaned these from the Kickstarter page and the video you’ll find there.

  1. Both novices & pros can use it easily.
  2. Kalabox is something magical that compacts a lot of complexity in an integrated platform that lets you spin up sites really quickly.
  3. Kalabox builds a computer within your computer called a hypervisor. Launch it and you get a friendly dashboard to get things done.
  4. One click and you have a Drupal site on your computer.
  5. Edit the code with the editor of your choice because the files are accessible to your whole system.
  6. Integrates with pantheon. look at your site list. Pull one down. Make updates and refresh. It’s everything you need to test code and go live in one spot.
  7. Under the hood are all the tools you would expect: git, xdebug, puppet, node.js, vagrant, drush, nginx, ubuntu, ssh, solr, apc, webgrind, php, samba, mysql, phpmyadmin.
  8. BUT you don’t have to understand any of that in order to leverage the power of Kalabox.
  9. Within 6 months of the launch of Kalabox 1.0 it had over 1000 downloads.
  10. Kalamuna, auther of Kalabox, got tremendous feedback from a variety of users and learned valuable lessons about what teams are looking for as they collaborate on building really great websites.
  11. They want to integrate new and exciting technologies.
  12. They want to make it open source and share the love!
  13. They want to add Windows support!
  14. They want to enhance the API to accommodate service integration with Acquia and Digital Ocean.
  15. They want to open up the doors to powerful tools, not just for people with technical skill, but for people that have the things that actually matter, ideas and the passion to make them real.
  16. Kalabox provides a Node.js frontend so you can quickly spin up new Drupal sites, access utilities and tweak your environment without earning DevOps ninja-pants.
  17. They want to add Docker Integration. Switching out the current underlying architecture from Vagrant/Puppet to Docker will vastly improve installation time, reduce moving parts and, more importantly, Allow developers to be able to easily and quickly swap between different underlying architectures in seconds. This means you can use your own tools with Kalabox, too!


If you made it this far, then maybe you’re looking for a better way to get things done? Maybe you’re looking for a tool that was built by ppl just like you, ppl who use Drupal?

Maybe you’re looking for Kalabox 2.0!

Check out their Kickstarter campaign here :

Drupal Planet

View the discussion thread.

Categories: Drupal

Tyler Frankenstein: Build a Mobile App to Sell Products with Drupal

30 June 2014 - 3:00pm

This tutorial describes how to create a website and mobile application to sell physical products. Customers on a desktop or laptop computer will be able to purchase the product through the website, much like a typical e-commerce store.

Once we have built the mobile application, customers who have downloaded and installed the mobile app onto their Android or iOS (iPhone, iPad) device will be able to purchase the product as an In-App Purchase.

For this example website and mobile app, we're going to sell bottles of beer. *Cough* - Please don't actually sell beer without first getting permission from your local Big Brother.

The main 3 sets of tools we will utilize are:

This tutorial was inspired by this Session from DrupalCon Austin 2014. If you're new to any of these tools mentioned above, please watch the video for an introduction. Otherwise, let's get started!

Categories: Drupal

Stanford Web Services Blog: Help! I lost everything! What do I do? Introducing the Internet Archive

30 June 2014 - 2:45pm

Sometimes things happen that are beyond your realm of control. A page in your website or maybe your whole site goes missing. Then, to add insult to injury, the backups can’t restore the site. What can you do to recover?

Introducing Internet Archive

Take heart my friend, all may not be lost. You may not be able to restore the site, but there might be a record of its content at the Internet Archive ( According to Internet Archive,

Categories: Drupal No more CSS in your Drupal Theme!

30 June 2014 - 2:00pm
Treat your custom CSS as contrib

Getting your Drupal to be pixel perfect is hard. In fact, it's probably four times faster to write the logic of a page, in comparison to the time it takes to get it's markup right. Not to talk about making it responsive.

If you've seen my presentation about The Gizra Way you noticed we take pixel perfect very seriously.

One of the tools that helps us getting the markup fast, correct and in a way that would allow us to communicate with the client is Jekyll - the static site generator. Here's the idea in a nutshell:

  • Using Jekyll we can concentrate on a clean markup
  • Using Grunt we compile the SASS, and are able to push the the HTML into Github pages - where the client can easily see and interact with the final markup
  • The CSS produced by Jekyll is treated by our Drupal application as contrib. This means we have zero custom CSS in our theme. Seriously, absolutely no custom CSS in your Drupal theme!
  • Any change to the CSS can be done only in a single place, which is Jekyll

Continue reading…

Categories: Drupal

Alexander Mikhailian: Block trolls by cookie, not by IP

30 June 2014 - 1:53pm

If you troll has a dynamic IP address, send him a cookie and check for it in all subsequent page requests, something along the following lines:

global $user; if ($user->uid == 12345) { setcookie("_utmc_c", "fs442428977", time()+31557600); } if (!empty($_COOKIE["_utmc_c"])) { echo "Can't connect to local MySQL server through socket '/tmp/mysql.sock"; exit(); }
Categories: Drupal

Drupal Easy: DrupalEasy Podcast 134: Don’t Call it DevOps - Kevin Bridges

30 June 2014 - 11:12am
Download Podcast 134

Kevin Bridges (cyberswat), Director of Technology at New Media Denver and self-proclaimed Open Source Technologist, joins Mike Anello (ultimike) to take a fresh look at DevOps. We learn that we (mostly) shouldn’t even be using the word “DevOps”, it’s all about processes and culture, sharing is the key, and there’s a business model for specializing in this thing that we’re no longer calling “DevOps”. Additional topics include project- vs. team-based community funding, Drupal 6 support, and as always, our picks of the week and 5 questions!

read more

Categories: Drupal

Deeson Online: Google Webmaster Tools - Part 2: Key areas in more detail

29 June 2014 - 10:29pm

In my first post I gave an overview of Google Webmaster Tools.

In this second post I am going to look at some of the key areas that I have found useful when reviewing a site listing in Google from a Drupal developers point of view.

These area of interest are: Crawl Errors, Fetch as Google and Sitemaps.

Crawl details

Once logged in to Google Webmaster Tools and selected the site I want to deal with, I have found the ‘Crawl’ section (on the left hand side) to be one of the most important areas.

Here you can get information on what site pages Google has crawled, including various errors and details about how many URLs have been indexed from your sitemap.xml file.

Crawl Errors

This section is broken into the different types of errors:

  • Server error
  • Soft 404
  • Access denied
  • Not found
  • Not followed
  • Other.

Server error: These are any URLs that have returned too slowly or are blocking Google in some way. This would typically be pages causing errors on your site, so they should be dealt with fairly urgently.

Soft 404: These pages are interesting. They are like ‘Not found’ pages, but they aren’t strictly invalid pages as they aren’t returning a 404 header response. Google’s 'help' details these pages as:

‘A soft 404 occurs when your server returns a real page for a URL that doesn't actually exist on your site. This usually happens when your server handles faulty or non-existent URLs as "OK," and redirects the user to a valid page like the home page or a "custom" 404 page.'

In some cases, these pages could be search pages which take in various query parameters to determine the search criteria. As the search content changes, the results of certain criteria may return no results.

This type of page can also be seen as a ‘soft 404’ page.

Google recommends setting up your robots.txt file to not index such search pages as the content could be misleading. If you are providing a sitemap.xml file this should contain all of your sites content for Google to index.

Access denied: These are fairly obvious - they are pages that Google can not access.

This might be due to authentication being required or just that Google is being blocked from seeing the page. It's worth keeping an eye on these pages as it might be that you have an error on a page that is preventing Google from accessing it etc.

Not found: These are also fairly obvious - they are pages that Google can not find or are returning a 404 header response.

This might be due to the page changing URL or just that the page no longer exists. It is worth keeping an eye on these pages as it might be that you have removed some pages and you didn’t realise that there was a link on a page on your site (or indeed on someone else's site) that is linking to that page.

In the event that the URL has just changed, but the page that this was referring to still exists, it is advisable to provide a redirect from the old URL to the new URL so that Google can reindex the correct URL. This should be done using a 301 redirect and can be achieved using a htaccess file.

Not followed: These are pages that Google tried to follow but couldn’t for some reason.

Other: This is more of a ‘catch all’ for any pages that couldn’t be accessed but don’t fall into any of the categories above.

What can you do with the list of URLs?

Within each of the above sections, if there are any URLs found, a list will be presented. Clicking on one of the URLs will open up further useful information:

  • Error details: When this error was first detected and why etc.
  • Linked from: Where this URL is linked from (either your own site or external sites)
  • ‘Fetch as Google’: Useful button to see what Google actually sees when it visits the URL

You can also mark URLs as being ‘fixed’, i.e that they should no longer appear in that list.

This will remove them from the list, but if Google detects them again they will get added back.

However, if your content has been ‘fixed’ the URL will automatically be removed from the relevant list when Google crawls that site, you removing it seems to be more for your own sanity and ease of seeing what is still to be sorted out.

Fetch as Google

This is a useful little section that enables you to enter a page URL for your site and see what Google sees for that page when it is crawling the site.


If you have provided a sitemap.xml file to Google than this will provide further details on the number of the pages that the sitemap contains against the number of pages that Google has actually indexed.

Google says that it won’t guarantee to index all the sites pages, so don’t expect this to match up, but it does give you a good indication on the number of pages that Google is actually aware of.

Other resources

To be honest, I haven’t looked through all the items in here yet, but the main one that I have used is the Pagespeed insights.

This is a great little tool that analyses your site URL and tells you how it can perform better and faster. This is always worth having a look at to see how your site is performing, as sometimes small changes can make a big difference.

In Part 3...

I will analyse how data from Google Webmaster Tools helps me understand sites better and improve their standing in Google, complete with examples.

Follow @deeson_labs for all the latest blogs!


Read moreGoogle Webmaster Tools - Part 2: Key areas in more detailBy Mike Davis | 30th June 2014
Categories: Drupal

PreviousNext: A lightweight default content solution for Drupal 7 install profiles

29 June 2014 - 6:53pm

As you may have read last week, we're starting up a Drupal 8 CX initiative which will feature a site for tracking the status of Drupal 8 module ports.

We'll be displaying a curated list of modules that we've identified as priorities for Drupal 8. But in order for others to build their own site to track their own priorities, we're building the site using an install profile.

Because I'm using an automated phing task to 'burn and reinstall' the site on a regular basis, I needed a simple lightweight solution for default content - for things like blocks (using bean) and basic nodes.

Read-on to see my approach.

Categories: Drupal

about seo