Skip to Content

Planet Drupal

Syndicate content - aggregated feeds in category Planet Drupal
Updated: 1 day 2 hours ago

High Rock Media: Drupal Theming: Adding Font Awesome Icons to Menu Items

26 March 2014 - 8:23pm

I'm currently working on a Drupal build where I'd like users to be able to trivially add icons to menu items through the UI. Enter FontAwesome, the scalable vector icon font that leverages the power of CSS. That in combo with the infamous Menu Attributes module allows users to add custom classes to Drupal menu items via the Menu edit interface on a per menu item basis. This is ideal for what we need to accomplish.

Install Menu Attributes

First, grab the Menu Attributes module and enable it either via Drush or download and enable it via the modules admin page. Once you enable Menu Attributes, visit /admin/structure/menu/settings and be sure that the "Classes" attribute is enabled. Now, you'll see this as a text field for any given menu item when editing those.

Get Font Awesome

Now, we need to add Font Awesome and for the sake of this tutorial, I'll use the CDN version which we can add to our theme using a preprocess function. As aways, unless you're building a custom module, add the preprocess function to your theme's template.php file or create one if you don't have one already. For my preprocess function, I can use hook_page_build with drupal_add_css.

function MYTHEME_framework_page_build(&$vars) {
    // Add font awesome cdn.
    drupal_add_css('//', array('type' => 'external'));

Be sure to replace MYTHEME with the actual machine_name of your theme and clear cache. If all went well, you'll now have Font awesome available to use. Note, you can also download Font Awesome and self-host it as an alternative to the CDN version.

Add the Icon Classes

The next step is to add some icon classes to your menu items via the Menu Attributes classes field. To see what icons are available to you, refer to the Font Awesome "Cheat Sheet" on their site. I'll add a "home" icon next to my home link so I simply edit the home link and add this to the classes field typically located at /admin/structure/menu/manage/main-menu:

fa fa-home

Style away

Above, the first fa instantiates Font Awesome and fa-home selects your icon. This will need a bit of theming and I found a few caveats as well. Since the class is added to your menu's "a" link, you'll want to define your font for the menu link itself and for the icon which gets added via a CSS "before" class. So if your menu id is primary-nav, you can do this:

#primary-nav a.fa {
 font-family: arial, sans-serif;

#primary-nav a.fa:before {
 margin-right: 1em;
  font-family: FontAwesome;

One issue I ran in to was that Firefox had trouble rendering the icons from the CDN and it's a documented issue apparently. To solve this, you may need to define Font Awesome in your theme's CSS via the @font-face attribute with an absolute path to the CDN -- that solved it for me. Beyond this, you can style and color as needed all the while using CSS. That's pretty much all you need to do so as you can see it makes it trivial for users to add their own icons to menus.

  • CSS
  • Theming
  • Design Patterns
  • Drupal
  • Drupal Planet
Categories: Drupal

DrupalCon Austin News: Last Call for DrupalCon Austin Sponsors!

26 March 2014 - 2:14pm

The deadline for DrupalCon Austin sponsorships is coming up quickly on April 1.

Sponsor funds help the Drupal Association produce an amazing event. Also, we’re expecting a great turnout at DrupalCon Austin, and sponsorship provides companies with unique opportunities to get noticed at Drupal’s largest North American gathering.

Categories: Drupal

Acquia: Getting the most out of a code sprint - DrupalSouth shows us how

26 March 2014 - 1:57pm

The DrupalSouth code sprint was a huge success and a standout feature of an already excellent conference. I put this down to some ingenuity and some great preparation. I interrupted two of the people who made it all happen, Dan "dman" Morrison and Heike "HeikeT" Theis from Wellington, New Zealand, to get to know them better and talk about how they put together the code sprint at DrupalSouth.

Categories: Drupal

Nikro: Moldcamp - a DrupalCamp you do not want to miss

26 March 2014 - 10:59am

It's been a while since I've organised the 1st Drupal event in Moldova (to be precise 7 of January 2011 - Drupal 7 Release Party).
Lots of Drupal events took place since then. And now, we're aiming even higher: first Drupal Camp in Moldova...

Categories: Drupal

Mediacurrent: Enter to Win Free Admission to the Great Wide Open Conference

26 March 2014 - 10:22am

Great Wide Open is a conference featuring 45 minute sessions and 1.5 hour workshops exploring Open Source, Open Tech, and the Open Web in the Enterprise.  It will feature some of the world's top developers, technologists and decision makers, including yours truly, the Mediacurrent team. We'd love to send you there for free. Enter to win one of 8 registrations for the conference. See you there!

a Rafflecopter giveaway

Categories: Drupal

Amazee Labs: Drupal Developer Days Szeged: The sprints

26 March 2014 - 9:01am

We are coming to the end of the dedicated sprint days at Drupal Developer Days Szeged. Let’s take a look at the success we’ve had so far.

Sprinters started arriving early on Monday morning and by the end of the first day the two sprint rooms were almost full. 

A third sprint room had to be added to the roster on Wednesday as we were out of space on Tuesday evening. To give you a good idea on numbers the total number of sprinters so far is over 150!

There’s a great vibe in the sprint rooms. Everyone has been saying how well organised the sprints are. Everyone’s enthusiasm to work on Drupal is sky high.

@drupaldevdays Wow!! You really rock #drupaldevdays organization. I'm impressed about how you are taking care of us. Thanks!! <3

— Ruben Teijeiro (@rteijeiro) March 26, 2014

Ymbra team is sprinting in migrate and frontend on #drupaldevdays Very excited for all work done here these days!

— Ymbra (@ymbra_co) March 26, 2014

The sprints have covered many initiatives for Drupal 8 and with huge progress being made already. Since Monday many new contributors have worked on Drupal 8 and have already had their work committed to core.

oh, and the one i reviewed yesterday at #drupaldevdays was already commited. my work matters! yay! :)

— aboros (@hunaboros) March 26, 2014

The number of core commits this week so far has passed the 90, and it’s going up at a speedy rate. Many thanks to Webchick, AlexPott, and Catch who have been working around the clock to commit everyone's hard work.

Here are some highlights of the week so far:

  • The Frontend sprint needed to mass relocate as so many people turned up. They are now in a bigger location taking up half a sprint room.
  • The Beta Blocker Bunnies working hard to reach the Beta release of Drupal 8.

Beta blocker bunnies sprinting at #DrupalDevDays!

— xjm (@xjmdrupal) March 24, 2014

  • A special mention for the coffee. Free latte macchiatos (hand delivered by Gabor Hotsy if you ask him nicely).
  • Everyone regrouping after dinner for late night coding in the sprint rooms until being made to leave.

Almost midnight and we still have a room full of people working on various #drupal stuff. Rock on. #drupaldevdays

— Mori Sugimoto (@dokumori) March 25, 2014

More photos of the Drupal Developer Days can be found in our Flickr set.

Categories: Drupal

Appnovation Technologies: Make Your Life Easier with Coffee!

26 March 2014 - 8:30am
Well it's not exactly caffeine, but it is a hidden gem of a module. Coffee is a contributed module that allows users to navigate through Drupal admin faster. var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Categories: Drupal

Dries Buytaert: Do well and do good

26 March 2014 - 7:38am
Topic: DrupalAcquiaBusiness

This blog post is on purpose, Open Source, profit and pie. This week I had an opportunity to meet Professor Klaus Schwab, Founder and Executive Chairman of the World Economic Forum. I was inspired by the following comment he made (not his exact words):

"Because companies strive to have a positive balance sheet, they take more in, than they give out. However, as individuals, we define success as giving more than you take. Given that many of us are leaders as individuals *and* also leaders in our businesses, we often wrestle with these opposing forces. Therein lies the leadership challenge."

I’ve seen many Open Source developers struggle with this as they are inherently wired to give back more than they take. Open Source developers often distrust businesses, sometimes including their own employer, because they take more than they give back. They believe businesses just act out of greed and self-interest.

This kind of corporate distrust comes from the “fixed-pie concept"; that there is only so much work or resources to go around, and as pieces of the pie are taken by some, there is less left for everyone else. The reality is that businesses are often focused on expanding the pie. As the pie grows, there is more for everyone. It is those who believe in the "expanding-pie concept" who can balance the opposing forces. It is those who believe in the "fixed-pie concept" who worry about their own self-interests and distrust businesses.

Imagine a business that is born out of a desire to improve the world, that delivers real value to everyone it touches. A business that makes employees proud and where team members are passionate and committed. A business that aspires to do more than just turn a profit. A business that wants to help fuel a force of good. That is Acquia for me. That should be your employer for you (whoever your employer is).

The myth that profit maximization is the sole purpose of business is outdated, yet so many people seem to hold on to it. I started Acquia because I believed in the potential and transformative nature of Drupal and Open Source. The purpose of business is to improve our lives and create value for all stakeholders.

Acquia's growth and capital position has given me power and responsibility. Power and responsibility that has enabled me to give back more and grow the pie. I have seen the power that businesses have to improve the world by accelerating the power of good, even if they have to take more than they give. It's a story worth telling because business is not a zero-sum game with one winner. I believe Open Source companies are in a prime position to balance the opposing forces. We can do well and do good.

Categories: Drupal

Symphony Blog: A very short guide to translate Drupal

26 March 2014 - 2:10am

When you download and install the Drupal core, it is by default English, as you may know. Our Drupal themes on Symphony Themes are also in English by default. In many cases, I receive requests from customers on how to quickly translate Drupal to their languages (not English, ofcourse).

Here is the guide. It applies to translate Drupal in a non-multilanguage site. If you need more than one language in the same site, you will need to do a lot more stuffs, which can be found on another article.

1. Enable neccessary modules

Please go to admin/modules and enable Locale and Content translation.

2. Add your language

Go to admin/config/regional/language to add your language, please choose it as default language

read more

Categories: Drupal

Wunderkraut blog: Why teaching agile is a core part of our business

26 March 2014 - 12:58am

We deliver agile training on weekly basis in Wunderkraut. Our training got started many years ago because most of our new customers didn't have previous agile experience, the ones that did had mostly bad experiences from "agile", or what I now days call fake agile. Today delivering agile training and coaching both with and without implementation projects for the same customer is a core part of our business.

There are plenty of other agile trainers on the market, most of them focusing on technical agile for in-house teams. By this I mean teaching agile practices very well but usually missing one point that is very important for many customers: How to use agile in a customer-vendor relationships. Don't get me wrong, there is nothing wrong on what most agile trainers teach, it's just that our focus is slightly different. The origins of agile are in product development with in-house teams. When agile is applied in a customer-vendor relationship quite a few things change. As a result of these changes agile can start breaking down. We don't want to just accept "enterprise compliant" half arsed agile, so we've set out to fix the situation. We want our customers to enjoy the benefits of proper agile even in customer-vendor relationships.So what exactly makes customer-vendor agile different?After coaching customers on agile for years I'm unfortunately nowhere near to having a comprehensive list, but I'll try to summarise some of the most common differences.Trust, or lack of itWith an in-house development team there's implicit trust in place. Sure, in a dysfunctional organisation employees may not be fully trusted, but in a customer-vendor relationship the vendor is not trusted at all by default. Lack of trust usually manifests itself as different checks and balances, many of these can be really damaging for the agile way of working.Tadaa - developmentWay too often vendors are considered as magicians. There is some sort of plan in place, based on that a request for proposals is sent out, a vendor chosen and that ends the involvement of most key stakeholders. The vendor is expected to go away, do their magic and in the end come back and reveal the completed product in a tadaa moment. It doesn't make any real difference if the vendor does agile behind the scenes or not, the only way to get a real difference is to have heavy involvement from all key stakeholders during the entire project. This would not happen with in-house teams, but for some reason it's still expected in many customer-vendor relationships.Open season for agile: Procurement and legalWhen legal departments and procurement of large organisations get involved agile is often hunted down actively. I've seen exceptions to this rule but frankly they are few and far in between. Naturally this is just one of the manifestations of lack of trust. Trust is replaced with contracts and any real agility killed by fixing everything in contracts. This is the way procurement and agile is taught to protect an organisation, in agile it can turn against the organisation and cause great harm by causing projects to fail.Not-so-fixed teamsWhen agile is done internally the team rarely changes. This can be very beneficial for the productivity of a team and makes improving the performance of the team much easier. You'll learn this is a great thing in your scrum training. And it is a great thing indeed, but there is always some room for improvement. With an external vendor flexible resourcing becomes much easier. Bringing in external experts for some parts of a project, adjusting the team size to help the product owner keep up with the velocity and access to external coaches are just some of the new opportunities in customer-vendor agile.Spreading best practises between agile organisationsScrum of scrums or other similar practises can be a great way to spread the best practises in an organisation. Spreading best agile practises between tens or hundreds of organisations is however something very different. Using an external agile coach is one thing, but two agile organisations working together is really something different as far as learning goes.Quick projects with a large impactA traditional Scrum team is 5-7 people working together for a long time. In a customer-vendor project the team is often smaller and the project shorter. The team doesn't have all that much time to go from forming to performing and beyond. Most our projects go from the start to first live deployment in two or three months. The cooperation between the customer and the vendor lasts years, but the team size and composition changes based on the needs. This makes it much more difficult for the team to improve and requires different kind of support for the team.Training to the rescue!We really can't fix any of these problems on our own. In a relationship with two parties it requires both parties to fix issues and capture the maximum potential of the cooperation. The only way we can get there is to provide training for our customers. The core of our training is pretty identical with any other high quality training on agile. We cover the whys and hows just as any high quality trainer should do. On top of this we also dive deep into the issues and potential in an agile customer-vendor relationship. We find this easy because we live and breathe this world every day. Taking this approach has so far been very successful both for our customers and for us.
Categories: Drupal

Modules Unraveled: 101 Building an ePublishing Platform Using Drupal Modules with Liang Shen - Modules Unraveled Podcast

25 March 2014 - 10:15pm
Published: Wed, 03/26/14Download this episodePDF

Yes. But pdf and epub modules are the second generation. Fileviewer module was the first generation. It uses Poppler, the popular pdf lib in Linux, to convert pdf file into png images and display them in browser.
After several years, the Mozilla Foundation created pdf.js which allow browsers use HTML5 and JavaScript to display PDF file. Today pdf.js has become the default PDF plugin in Firefox. I wrote PDF module to integrate it into Drupal.

  • So, this just integrates pdf.js into Drupal?
  • Can you create pdfs with the module?

Since Amazon launched Kindle, ebook market was getting hot. Google and Apple joined the battle soon. Epub format as an open standard chosen by many new competitors in this market became popular. Thanks to Jake Hartnell the author of epub.js, an open source Javascript epub lib, we can display epub file in the browser as well. So I wrote epub module to integrate it into Drupal.
Google Book Search has been renamed into Google Books and become a part of Play Books. Both Google and Amazon have HTML5 online reader now. Although epub.js is not as good as them, it has gotten most features for a online ebook reader.

  • Do either of these provide search functionality?
  • How does Apachesolr_file fit into this?
    It’s always easy to use Ctrl-F to search in one book. If you have thousands of books or even more, you need a full-text search engine to index them all. Apachesolr_file module uses Solr, Apache Foundation’s popular full text search engine, to index files.
    We already have apachesolr module and apachesolr_attachments‎ module. The difference between apachesolr_attachments‎ and apachesolr_file is - apachesolr_attachments was designed to index the files with nodes and apachesolr_file was designed to index file entity (the new conception since Drupal 7) for purely file management.
    Not only pdf and epub but also other popular file formats like MS Word, Excel, PowerPoint… can be indexed by Solr ( all the formats supported by Tika - the file parser used by Solr). So you can also use this module on intranet for companies, schools and other organizations.
  • Do you know of any sites that are using these now?
  • What are some other applications you can see for these modules?
NodeSquirrel Ad

Have you heard of/used NodeSquirrel?
Use "StartToGrow" it's a 12-month free upgrade from the Start plan to the Grow plan. So, using it means that the Grow plan will cost $5/month for the first year instead of $10. (10 GB storage on up to 5 sites)

Episode Links: Liang on drupal.orgLiang on TwitterPDF ModuleePub ModuleApacheSolr File ModuleTags: 
Categories: Drupal

Metal Toad: A Call for an Open Source

25 March 2014 - 10:53am

This is a copy of an open letter written to the Governor of Oregon regarding the Oregon health exchange. (PDF)


Dear Mr. Kitzhaber,

In light of the recent resignation of the Oregon Health Authority director, Bruce Goldberg and the previous resignation of Cover Oregon director, Rocky King, I feel that I need to speak up.

Categories: Drupal

Colan Schwartz: What Developers Need to Know about Multilingual Drupal 7 Sites

25 March 2014 - 10:36am

When working with Drupal's language / locale components in code, we need to be aware of some issues to ensure that the multilingual subsystem works as we'd expect.

Hard-coding a language (or assuming no language) is problematic

When working with fields, developers often set or get field data by explicitly providing the undefined language (the standard one set up if the language system isn't, "LANGUAGE_NONE" defined as "und"). This will cause code to fail whenever the Locale module is enabled (even if no additional languages are set up) because the default language then switches to something like "en". Wouldn't it be better to have Drupal automatically work with the current language?

Retrieving field values

The fieldgetitems() API call does this for you. If you don't specify a language, it will default to the current language if one isn't specified. So if you really do want to target a specific language, you can.

For example,
$value = $node->field_subtitle[LANGUAGE_NONE][0]['value'];

...should generally be replaced with...

$field_items = field_get_items('node', $node, 'field_subtitle');
$value = $field_items[0]['value'];

Setting field values

Unfortunately, there's no field_set_items() function in Drupal 7. We can, however, still specify the current language when setting field data.

Instead of
$node->body[LANGUAGE_NONE][0]['format'] = 'full_html';'ll probably want to use one of the global variables $language (for the interface language) or $language_content (for the content language) as in ...

$langcode_current = $GLOBALS['language']->language;
$node->body[$langcode_current][0]['format'] = 'full_html';

It's best to always using the above techniques even if not setting up language translation initially. Requirements change; your code will be ready to go whenever new languages are added.


Assuming the current language, the Entity API module actually provides both setter and getter methods through its Entity metadata wrappers. However, it's another dependency and extra overhead that you may not want if you're not using it already. It also makes things trickier to debug. See What's best practice when working with the language[und]? for a discussion on this.

Translatable title fields are actually different fields

By default, field translation through the Entity Translation module doesn't allow title fields to be translatable. This is because title fields in Drupal 7 aren't implemented formally as fields using the Field API. To get around this limitation, it's necessary to replace titles with translatable fields using the Title module.

To enable this for specific fields, it's necessary to click on the "replace" button for a title field in the Manage Fields tab for the content type / bundle. This will switch basic use cases over to use the new "field_title" field instead of the default "title" field.

Be aware that you'll have to update any views and custom code to use the new field. If not done, titles will always be presented in the original language, and you'll wonder why translated titles aren't showing up.

If you don't really need translated titles, it's best to leave the original titles as-is. Otherwise, it gets complicated with multiple title fields.

Categories: Drupal

Mediacurrent: Meet Erin Bush

25 March 2014 - 8:46am

1.  So Erin, what's your role at Mediacurrent, both internally and client-related?

My title is Business Development.  This includes working with prospective clients to see if Mediacurrent can solve their Drupal and Digital Strategy needs.  I also work with our Partners and Alliances to better serve our clients and provide a complete solution.  Internally, I work a lot with our Marketing and Project Management teams.  As someone goes from visiting our website to a Discovery engagement to a site maintenance plan, I try to keep everything moving in the right direction.

2.  We’re so glad to have you!  Give us an idea of what professional path brought you here.

Categories: Drupal

Drupalize.Me: The Block System is Finally Useful in Drupal 8

25 March 2014 - 6:13am

In Drupal 8, the entire block system got an overhaul, and there are lots of goodies in there. I took a tour of the new system with a short video. Some of the biggest changes to see are that you can now use blocks more than once on your site, and there is a new Custom block library that lets you create block types, which are very much like content types for blocks. They let you add fields to blocks, and give you more fine-grained control over how those fields are displayed depending on the location. Check out the video to see some of this in action.

Categories: Drupal

Blair Wadman: My top 10 Drush commands

25 March 2014 - 1:07am

Drush is awesome. Having Drush commands at my finger tips saves me a lot of clicking in the Drupal admin interface and ultimately makes me more productive. If you are new to Drush, you might find the large number of commands available overwhelming and not know which ones to start with. If you are interested, keep reading to find out more about the 10 Drush commands that I use most often - the ones I use every single day when developing Drupal sites.

Tags: DrushPlanet Drupal
Categories: Drupal

Angie Byron: Drupal core committer takes Acquia Certification exam. You won't believe what happens next!

24 March 2014 - 1:43pm
AttachmentSize AcquiaCertificationStudyGuide.pdf121.27 KB logo.png5.99 KB

TL;DR I passed. :P Here's a run-down of what the experience was like.

Up-front disclaimer: I work for Acquia. However, I was not involved in the creation of Acquia Certification and had no insight to the test beforehand apart from a single sample question. I'm also writing this on my personal blog, rather than, because these are *my* thoughts/impressions, and haven't been vetted by anyone else. :) Carry on!

Some background

I'm originally from the United States (Duck, Duck, Gray Duck represent!) and moved to Canada in my early 20s to be with my now wife of 15 years. :) I had no family in Canada and very little work experience, so my only option was to come into Canada as a student. As a foreign student in Canada, you are only allowed to earn money through a job at the school you're attending. So, since I was already a huge nerd who'd been building all of my family's computers since I was a teenager, I knuckled down and got my A+ Certification and then taught computer hardware and A+ prep courses in the evenings.

So while I empathize with detractors of certification, and I'm sure lots of people would criticize A+ Certification in particular—and they'd pretty much be right on all counts—I do think certifications have their place. For me, it was an important enabler at a time when I was young and unestablished in my career, which allowed me to combine what I already knew from hands-on experience with a bit of book-cramming to get a piece of paper that allowed me to get a quite decent job. Many of the people I taught were older adults doing late-life career changes, or younger people like me trying to augment skills and knowledge they'd acquired as hobbyists into something that could be meaningful to a prospective employer (or at least their HR department).

My interest in teaching is also what got me into Drupal in the first place. During Google Summer of Code in 2005, Drupal stood out among the list of mentoring organizations, not just because I'd seen it used on the old Spread Firefox website (which originally put Drupal on my radar), but also because one of the GSoC project ideas was the Quiz module, which could help educators like me deliver web-based learning built on open source software. Cool! So I applied to write Quiz module for Drupal, and lo-and-behold that decision seems to have worked out pretty well. ;)

However, although I've been very active in the Drupal community for almost 10 years(!), the last time I actually built a Drupal site of any level of seriousness was back in the Drupal 6 era, circa 2009. In late 2008, I was becoming more of a "project manager" at work while at the same time I was appointed Drupal 7 core co-maintainer (which basically made me a "project manager" in the community as well), so although I read lots and lots of code, my knowledge of day-to-day troubleshooting of "real world" problems on Drupal sites is on much shakier ground these days. OTOH, I could tell you the reason behind almost every weird inconsistency in core, and also the names of all the main core developers' pets, so you know, there's that. ;)

So, basically, I have a background in both taking and delivering training around certification, so I was of course intrigued to see what Acquia's take on Drupal certification was all about, and how it compared. I was also very curious how I would do on this exam, given I have several years of hard-fought "real world" experience on Drupal 4.6 => Drupal 6, but then much more academic (although deeply academic, since I read most of the core patches at one point or another) knowledge of Drupal 7, though a lot of it lost to the fog of Drupal 8, where we're actively removing most of that stuff. ;)


Start by taking a look at the Acquia Certified Developer Exam Blueprint which nicely outlines the "domains" (subject matter) that the test covers:

Domain 1.0: Fundamental Web Development Concepts

1.1. Demonstrate knowledge of HTML and CSS
1.2. Identify PHP programing concepts
1.3. Identify JavaScript and jQuery programing concepts
1.4. Demonstrate the use of Git for version control

Domain 2.0: Site Building

2.1 Demonstrate ability to create and configure Content Types with appropriate fields and field settings for building basic data structures
2.2. Demonstrate ability to configure field display and view modes for content types
2.3 Demonstrate ability to create and use Taxonomy vocabularies and terms for classification and organization of content
2.4 Demonstrate ability to configure Blocks for building layouts from information widgets
2.5 Demonstrate ability to build main and alternative navigation systems by using Menus
2.6 Demonstrate ability to create and configure Views for building content list pages, blocks and feeds

Domain 3.0: Front end development (theming)

3.1 Given a scenario, demonstrate ability to create a custom theme or sub theme
3.2 Demonstrate knowledge of theming concepts
3.3 Demonstrate ability to build or override PHP templates for defining layout content
3.4 Demonstrate ability to use theme () functions for overriding custom output
3.5 Demonstrate ability to write template pre-process functions for overriding custom output

Domain 4.0: Back end development (coding)

4.1 Demonstrate ability to develop Custom Modules using Drupal API for extending Drupal functionality
4.2 Demonstrate ability to work with Drupal's Database Abstraction Layer for managing tables and CRUD operations on data
4.3 Demonstrate ability to debug code and troubleshoot site problems
4.4 Demonstrate ability to write code using Drupal Coding Standards
4.5 Demonstrate ability to analyze and resolve site performance issues arising from site configuration and custom code
4.6 Demonstrate ability to analyze and resolve security issues arising from site configuration and custom code

My impression of this curriculum-wise is that it's a pretty complete list. If someone actually has knowledge of all of these concepts, as well as a couple of years experience learning what to do / what not to do in practical terms, they'd be a really decent, well-rounded Drupal developer.

One thing I'd love to see in future revisions of the exam is a "Community" domain that demonstrates knowledge of how to engage and participate in the Drupal community. I terms of overall Drupal success, community interaction is just as fundamental a skill as knowing how to properly debug code or troubleshoot site problems, in my experience.

I've attached a "study guide" to the bottom of this post, which I prepared by going around and gathering links to free resources under each of these headings in case it's helpful to other folks rounding out their skills. (In particular, I needed to study up on performance and JavaScript, for example.) Since I prepared this before taking the exam, I don't think it will give anyone any particular advantage, but it'll at least save you a good half hour of Googling. :)

Exam pre-requisites

A couple of things you need to know ahead of time:

1) There are two ways you can take the exam: either in "real life" through one of Kryterion's worldwide test centers, or online "proctored" exam via Web Assessor.

(Note: "Proctored" sounds like something horrible that might happen to you at a doctor's office, but it means "supervised" — they are going to record your face and your computer movements while you take the test and this will be reviewed by a human to make sure you're not cheating.)

2) Whether you take it in real life or online, you *must* schedule a time for the exam, at least 24 hours in advance. You do that at Acquia Certification Program site:

  • Register for an account
  • Pick the exam style you want ("onsite" vs "online" — be careful to click on the right one, the distinction is very subtle ;))
  • Pay for it ($250, which puts it more on the low end... A+ is about $200 vs. Cisco/Microsoft which can be upwards of $1500). Unless of course you work for Acquia, since employees can get vouchers to take the exam for free. (Did I mention we're hiring? ;))
  • Pick a date/time.

3) If you're doing the online method, you also need to download and install a software called "Sentinel Secure" to record your webcam/microphone/screen during the test (and this needs to be installed on your actual machine, not in e.g a virtual machine, since you could very easily cheat on the host machine if that were the case), as well as provide a "biometric profile." This involves typing your name like 12 times on the keyboard, and then taking a picture of your face via your web cam (you're required to have a web cam to take the test).

If all of that sounds overly creepy to you, you should register for a real-life exam instead. ;)

Taking the exam

I went the online route, and here's what that experience was like.

First, remember that you need to be at the computer the entire time until you finish the 60 question exam, which means up to 90 minutes. And while that sounds like plenty of time, the questions often require reading and re-reading to make sure you have all the details before picking an answer. So make sure you are properly hydrated, caffeinated, and have urinated ;) before your test time.

Also, make sure you are in a quiet place and don't have any "real life" distractions happening during that 90 minutes. Web Assessor doesn't mess around. For example, a co-worker had to re-take the exam because he took the test in an office setting where people were seen walking behind his desk (because they could've been looking at his screen and whispering answers to him, presumably). For my part, I started mumbling along as I was reading a question and it gave me a warning to not read the test questions aloud. :P I'm sure if I'd kept that up, I would've had to do a force-retake as well.

Then, close out of everything except for Firefox, IE, or Safari (for whatever bizarre reason you can't use Chrome). Log back into the Acquia Certification Program site and you should see a link to your exam that becomes active within a few minutes of your test time.

(Note: If you're like me and you do a dumb thing and accidentally pick the wrong date for your exam, you will find Kryterion's support actually helpful. I was able to call an 866 number and get a person on the phone within 30 seconds, and they had me up and rescdeduled in about 2 minutes. w00t!)

Once in, it'll repeat your bio profile, you'll have to agree to a terms of use which basically says you're not allowed to talk about what's on the exam (so I'll be very vague about it here), and then you're off to the races.

All questions are multiple choice. Most are single-answer, but a few are multiple answer. On any question you're allowed to check a box and "flag" it for later review, so if you're not sure of something you can always come back to it. You can review all of your answers at any time, the ones you've flagged will be starred so they stand out.

Then at the end, you'll get your mark, as well as a breakdown of how you did per-domain, and you get this e-mailed to you as well (since obviously you can't take screenshots or copy/paste out of the Secure Sentinel app :P). A few minutes later you'll also get a fancy certificate to print out and badge for your website e-mailed to you as well.

Blah, blah, blah. How'd you do already?

I got.... 85%! Which I was actually pretty happy with, especially since I've been told the highest exam mark atm is under 90%. :) (I did the worst on the "Basic Web Concepts" part. Damn you, CSS/JS.) Overall I'd say about 30% of the questions were easy for me, another 50% made me go "Hmmm" and about 20% I needed to flag, a handful of which required resorting to Wild Ass Guesses. ;)

The reason I was able to score relatively high despite my lack of extensive hands-on D7 experience is that most of the questions on the exam are "scenarios" that are highly focused around common issues you hit in the "real world" while building Drupal sites, and most of these are pretty timeless (especially the site builder-related topics). This also makes the exam much harder to "book-cram" for, because unless you've smacked your head into the desk a few times with Drupal, you could have a hard time because all of the answers at least sound plausible.

I found this format very refreshing and very unlike the A+ certification, which was to a large extent (at least back when I took it) a bunch of mindless memorization of useless facts. For example, I will forever have the number of pins in an IDE vs. floppy cable etched into my memory, even though that is completely useless knowledge because you know what? One fits, and the other one doesn't. :P~ So don't expect your ability to recite all of the hook_menu() bitmask flags from memory to help you much on this exam. (Darn, I had worked so hard on developing that party trick, too.)

I also did spot a few typos and some places where question wording could be more clear, and I'll try and work with the certification team to clean those up (it'd be nice if there was a "report a problem with this question" link for things like that). But overall, this seems like a pretty solid entry point into certification for Drupal, and I'm looking forward to see what the team comes up with for the more focused and "hardcore" exams.

Do you need to take this exam? If you've worked on Alexa top 1000 sites and/or have a great track record of public contributions on, obviously no: your resume speaks for itself. But if you've been prevented by either personal or professional circumstances from having built up a robust D.o profile or client base over the years, this certification seems like a pretty solid way to get your foot in the door at a Drupal company.

Tags: drupalacquia
Categories: Drupal

Drupal Association News: Working Group Write-Up: January & February 2014

24 March 2014 - 1:39pm

The working groups have been busy as usual! Here are the latest updates on what the Software, Infrastructure, and Content working groups were doing during the past two months.

Categories: Drupal

Drupal @ Penn State: Understanding ELMSLN and taking a Vagrant spin

24 March 2014 - 12:29pm

After many weeks of clean up, I've finally managed to produce generic installation scripts for ELMSLN that work with Vagrant (and any *nix server for that matter).  This drastically simplifies the process of getting ELMSLN up and running for testing.  ELMSLN is a networked Drupal application that relies on other systems in the network to fully appreciate what is going on.

In the playlist to follow, you will see:

Categories: Drupal

Acquia: Ready for certification

24 March 2014 - 12:01pm

Right after we launched our first certification last week, two questions stood out. First, why is Acquia doing the certification? And why did it take them so long? I saw these as two sides of the same coin. I wanted to reflect a bit on the history of this project.

Click here for full details of Acquia’s Drupal certification.

Categories: Drupal

about seo