Skip to Content


Promet Source: My Experience with Acquia Certification

Planet Drupal - 7 April 2015 - 2:03pm
My Advice


Preparing for the exam:

- Review this great guide: Five Steps to Get Ready for the Acquia Certified Developer Exam (pdf)

- As the guide says, review topics (in the pdf appendix) and identify your weaknesses, read up on your weaknesses.

Categories: Drupal

Drupal Easy: Drupal Goes to College

Planet Drupal - 7 April 2015 - 1:04pm

DrupalEasy is so excited to announce that we are teaming up with Stetson University to present the first comprehensive, university-based Drupal career professional development program in Florida! The Drupal Career Certificate Program (DCCP), which is built on DrupalEasy’s Drupal Career Starter Program curriculum, marks an official entrance to the Drupal talent pipeline through the US higher education system. The DCCP, now part of the university’s Boundless Learning programs, will be officially announced at Florida DrupalCamp 2015!  The first course will kick off this Fall at the Stetson Celebration Center located right in the middle of Florida's High Tech corridor on the outskirts of Orlando.


read more

Categories: Drupal

Potx exportables

New Drupal Modules - 7 April 2015 - 12:54pm

This module aims to ease the deployment of translation .PO files that the great Potx module generates. No longer will you have to manually upload these files to keep your site translations up to date. You can manually batch import all PO files defined in custom modules or alternatively, you can use the always useful Drush command to make things easier for you.

Categories: Drupal

Drupalpress, Drupal in the Health Sciences Library at UVA: equipment booking system — simplify(ing) comments

Planet Drupal - 7 April 2015 - 11:52am

We don’t have a lot of feedback about how our patrons are using the current equipment booking system. There may be information that users could share with one another (and the library) if given a mechanism to do so. So as part of the new booking system implementation in Drupal, we set a task of including a commenting feature. Each reservable piece of equipment stands alone as a node so all we have to do is turn on commenting, right?


But there are a couple of things that are worth noting about that.

If you’re enabling comments on a content type, it’s probably a good idea to consider who can view (and post comments to) that content. That’s all in the permissions table.

In our scenario, we didn’t want unauthenticated comments and we didn’t want to restrict the individual equipment pages (e.g. the page for iPad copy 2) to any kind of login. The request to reserve equipment from that page would trigger the login.

The snippet from the permissions table below shows how we adjusted the comment access. Note that these will be permissions that will apply anywhere else on we’re using comments on our site … we’re not currently, but if we do in the future we’re fine with this access level.

Once authenticated, the comment form defaults to give users a text format selection option. There are advantages to users selecting a WYSIWYG format This too can be handled in the text format configurations or even the permissions table. An easier way is with the Simplify module.

Simplify gives you an interface to hide a bunch of stuff that may be noisy to users adding content — publishing options, path settings, etc.

And for comments it lets you hide text formats.

The finished product:

Categories: Drupal

Red Crackle: Why We Chose Drupal Organic Groups: A Comparative Study

Planet Drupal - 7 April 2015 - 10:30am
This article explains why we went ahead with Organic Groups for one of our Drupal projects. As part of our research, we did a detailed analysis of the following platforms: Organic Groups, Open Atrium, Drupal Commons, Open Scholar and Domain Access. We have listed the positive and negatives in the article. You will understand why we finally decided to go with Organic Groups. Follow this article to make informed decisions while choosing a platform for your business needs.
Categories: Drupal

Cache Bypass Path

New Drupal Modules - 7 April 2015 - 9:41am

Cache Bypass Path is a lightweight module which simply provides a non cached path accessible only by a hash. This is intended for Drupal installations that have a Varnish Caching Layer. Without the correct hash the path is simply a 404. With the hash, a request can be made directly to Drupal, bypassing the VCL. This is useful for site health checks where varnish caching is on.

Categories: Drupal

Mediacurrent: Mediacurrent Dropcast: Episode 3

Planet Drupal - 7 April 2015 - 9:40am

This week on the show we will be discussing the new Configuration Management system in Drupal 8 based on an article by Victor Kane, and once again dive into RESTFUL Drupal, or Headless as the cool kids say, based on a blog post from Joris Snoek. We’ll go over some Drupal 8 news and once again Ryan will bring it home the Closing Bell.

Categories: Drupal


New Drupal Modules - 7 April 2015 - 7:09am

Use to discuss, collaborate, organize your research, or take personal notes.

This module embeds into your site.

Categories: Drupal

Drupal Easy: DrupalEasy Podcast 149: Magnetic Pants (Erik Baldwin and Mike Herchel, Florida DrupalCamp 2015)

Planet Drupal - 7 April 2015 - 6:19am
Download Podcast 149

Erik Baldwin (BLadwin) and Mike Herchel (mherchel), two of the featured speakers for Florida DrupalCamp join Ted Bowman and Mike Anello to talk about their sessions, the other featured speakers, and the wide-range of other activities going on around this weekend's camp. We also pay our respects to Aaron Winborn, discuss content types and other entities, D8 Accelerate, and a host of other Drupal-related topics from the past few weeks.

read more

Categories: Drupal

Drupalize.Me: Backbone.js and Underscore.js in Drupal 8

Planet Drupal - 7 April 2015 - 6:05am

The Drupal 8 development cycle has definitely been a long one. There are several exciting features on the way, but the improvements to the authoring experience in Drupal 8 have definitely drawn a lot of attention. (I know Amber is clamoring for in-place editing for this blog.) The Spark project is the home to much of this work. Several new core modules that contribute to these improvements (Contextual, Quickedit, Toolbar, CKEditor and to a lesser extent, Tour) leverage a pair of popular javascript libraries Backbone.js and Underscore.js.

Both Backbone.js, and its dependency Underscore.js were committed to Drupal 8 two years ago! Let's take a quick look at both Backbone.js and Underscore.js, how they're used in core, and how you might be able to use them to simplify some javascript for your site.

Categories: Drupal

Zivtech: Accessibility in Drupal Themes

Planet Drupal - 7 April 2015 - 4:00am

We at Zivtech care about accessible websites and strive to make our projects usable by the widest range of people possible. We aim to produce websites that adhere to Section 508 standards and WAI-ARIA guidelines.

Sometimes a client has specific needs for compliance, like a government or university website. In general though, accessibility should be a goal for any website, so that users of any ability can meaningfully interact with the Internet.

With that in mind, you may find yourself focussing on ensuring old browser support, like IE (Internet Explorer) 10 or earlier. You want the widest audience using your website. Yet worldwide browser statistics show IE 8 at around 3-4% usage over the last year. Since IE 9 and 10 auto update to IE 11, their usage is nearly non-existent at this point. (note: Some clients need old browser compliance, but that is less often the case.) At the same time, it's possible that more of your website visitors have low vision. Thus it's arguable you'll get a higher return on your development dollars if you prioritize accessibility rather than IE 8 support.

To provide accessible websites, Zivtech produces a contributed starter theme for Drupal called Bear Skin. It was recently updated to include more accessible markup, and is free for use.

Accessibility in the Bear Skin theme

We made our Drupal theme more accessible by focussing on three major sets of updates: semantic markup, 508 compliance, and ARIA. The first two sets, markup and 508 compliance, are really the "low hanging fruits." They provide great enhancements, but require the least effort. Letting Drupal render accessible markup with ARIA is more time intensive, but ultimately provides the best experience for screen readers.

Semantic Markup

Semantic markup comprises the intent and purposes of HTML5 standards. These standards introduced several new HTML elements and deprecated some others. Ensuring your theme markup uses semantic HTML is the easiest way to provide a minimal amount of accessibility for people with screen readers or other assistive technology.

My favorite resource for keeping up with HTML5 standards is the HTML5 Doctor website. They provide contextual documentation for standards, including sample markup. It's easy to compare your Drupal theme markup with compliant HTML5 markup, and suss out where you need improvements.

While it may seem like a big task, we found it pretty straightforward to update Bear Skin's markup. For example, the main content area of the page uses the main HTML element. Also, the previous Bear Skin revision used the hgroup element to group titles and subtitles on pages. Yet that element has been removed from the HTML5 spec, and was plucked out of Bear Skin as well.

508 Compliance

Many of the requirements for 508 compliance are thought of as best practices for HTML, so it's likely your Drupal theme is nearly compliant already! For example, Section 508 stipulates that images need meaningful alt tags and each form element needs a meaningful label. These two examples are things you hopefully have in your theme already.

While updating Bear Skin, we also went over this 508 compliance checklist provided by WebAIM. Some additional features added to make Drupal 508 compliant were skip links to direct a user straight to the main page content, and ensuring the page is still usable without CSS.

WAI-ARIA Integration

The Web Accessibility Initiative section of W3C created ARIA standards as a way to provide screen readers the ability to meaningfully interact with a web page. ARIA standards are very in depth and wide-reaching, and can be somewhat confusing at first glance.

If you're going to review your own Drupal theme for ARIA compatibility, take a look at this spec produced by the W3C, Using WAI-ARIA in HTML. It includes all the basics of ARIA, as well as a short table of commonly used elements.

Landmark roles and aria-* properties are sprinkled throughout Bear Skin, and can provide your own website with a great base-level of support for screen readers.

Testing Tools

Before beginning your adventure in making your website more accessible, or after you've made updates for 508 & ARIA compliance, there are some tools available to help validate your work.

While it's not yet perfect, the regular XHTML validator is good about spotting errors in ARIA. Since a lot of Section 508 is also considered best practice for HTML, the validator is even better about spotting a lot of 508 compliance pitfalls.

WebAIM produces a tool for accessibility checking called WAVE. It can review your site for many things, like 508 compliance and ARIA. It also checks more general things like ensuring high enough contrast between text color and its background color.

If your website is in development or behind a firewall, you might not be able to provide a public link for the WAVE website. If that's the case, you can use a toolbar for Firefox or a plugin for Chrome.

Accessible Development and Design at Zivtech

Zivtech is experienced with adhering to government standards for accessibility, and it's important to us that people of all abilities can use your website. If you need help making your current website more accessible, or if you want to start a fresh site with a focus on accessibility, contact us for help.

Terms: DrupalDrupal PlanetaccessibilitySection 508 Compliancethemingbear skin
Categories: Drupal

Web Wash: Create a Frequently Asked Questions Page Using FAQ Field in Drupal 7

Planet Drupal - 7 April 2015 - 3:45am

Frequently asked questions, or FAQ for short, are fairly common on websites these days. A good FAQ page can help in reducing the number of support requests for basic questions. Whenever I need help on a website, the first thing I look for is the FAQ page before I contact them.

In Drupal, a FAQ page can be created in a few ways. First, you could write the HTML and anchor tags by hand or you could use a module like FAQ Field.

The FAQ Field module comes with a custom field called "FAQ Field" which you can add to any type of entity. It also has a few handy formatters to display the FAQ.

I should also mention that you can use the FAQ module to create these pages. The biggest difference is that the FAQ module has its own content type, whereas, the FAQ Field is based around a field. This is useful for creating FAQs on a Product content type.

In this tutorial, you'll learn how to setup and use the FAQ Field module. We'll add the field to the "Basic page" content type that comes with the standard installation of Drupal.

Categories: Drupal

Wim Leers: renderviz: tool visualizing Drupal 8's render tree

Planet Drupal - 7 April 2015 - 1:37am

I’m working on making Drupal 8 faster as part of my job at Acquia. The focus has been on render caching12, which implies that cacheability metadata is of vital importance in Drupal 8.

To be able to render cache all things that can possibly be render cached, Drupal 8 code must:

  • set the right cache max-age — to ensure only the cacheable parts of the page are cached
  • set the right cache contexts — to ensure content is varied as expected (per language, per role, per timezone, per user …)
  • set the right cache tags — to ensure rendered content is invalidated when the data it depends on is modified

Before Drupal 8, approximately zero attention was given to cacheability of the rendered content: everything seen on a Drupal 7 page is rendered dynamically, with only the occasional exception.

By flipping that around, we make developers more conscious about the output they’re generating, and how much time it takes to generate that output. This in turn allows Drupal 8 to automatically apply powerful performance optimizations, such as:

  1. enabling Drupal’s internal page cache (for anonymous users) by default: d.o/node/606840, which requires cache tags to be correct
  2. smartly caching partial pages for all users (including authenticated users): d.o/node/2429617, which requires cache contexts to be correct
  3. sending the dynamic, uncacheable parts of the page via a BigPipe-like mechanism: d.o/node/2429287

(The first of those three will likely happen this week. We’re working hard to make the last two a reality.)


Caching means better performance, but it also means that without the correct cacheability metadata, the wrong content may be served to end users: without the right cache contexts, the wrong variation may be sent to a user; without the right cache tags, stale content may be sent to a user. Therefore we should make it as easy as possible to analyze the cacheability of a rendered block, entity (node/user/taxonomy term/…), view, region, menu, and so on.

It should work not only for cacheability metadata, but for all bubbleable metadata3: it’d be very valuable to be able to see which part of the page caused an expensive cache context or tag 4, but it’d be at least equally valuable to see which part of the page attached a certain asset5.

Since bubbling happens across a tree, it’s important to visualize the hierarchy. The best hierarchy visualization I know in the web developer world is the Firefox Developer Tools 3D view.

I think a tool for visualizing, analyzing and understanding the bubbleable metadata (cache contexts, cache tags, cache max-age, assets) should work in a similar way. The developer should be able to:

  • look at the document in 3D in different layers and/or queries (assets, cacheability as a whole, but also only cache contexts, only cache tags, or only max-age)
  • zoom in a specific element, and look at all of its bubbleable metadata
  • reposition the 3D view, to look from different angles — humans are very proficient at processing visual data

So, over the past weekend, I worked on a prototype. I read the CSS Transforms spec6 and read a CSS 3D transforms introduction. As somebody with little CSS knowledge and not having touched CSS nor 3D programming in years, it was fun to play with this ) The result:

And finally, a short screencast demonstrating it in action:

Give it a try yourself by applying the attached patch to Drupal 8 at commit daf9e2c509149441d4d9a4d1964895179a84a12c and installing the renderviz module.

Want to help?

There are many rough edges — actually there are only rough edges. Everything needs work: CSS, JavaScript, UI (there isn’t any yet!), even the name!

But it’s a lot of fun to work on, and it’s very different from what most of us tend to work on every day. If you’d like to be able to build sites in Drupal 8 with a developer tool like this, please contact me, or leave a comment :)

  1. Avoiding to render exactly the same chunks of HTML endlessly on every request. See d.o/developing/api/8/render/arrays/cacheability

  2. For more about that, see the Render caching in Drupal 7 and 8 talk I did with Fabian Franz & Marco Molinari at DrupalCon Amsterdam. 

  3. Drupal is all about reusable content and reusable components. That’s why starting in Drupal 8, we don’t attach assets at the page-level (i.e. global), but we attach them to the places where we actually need them (e.g. when rendering a taxonomy term, we attach the assets to style the taxonomy term to the taxonomy term’s render array). They then “bubble” the render tree, just like JavaScript events bubble the DOM tree. The assets bubble all the way to the response level, i.e. to a HTML response’s <head> element. Similarly, cache tags and contexts bubble to a response’s X-Drupal-Cache-Contexts and X-Drupal-Cache-Tags headers. 

  4. A cache tag is expensive if it’s invalidated relatively frequently (which causes all render cache items that have that tag to be invalidated). A cache context is expensive if it causes many variations (for example: per-user caching requires a variation of the render array to be created for every single authenticated user). 

  5. In Drupal 8, all assets are defined in asset libraries, which can contain any number of CSS or JS assets, and which can depend on other asset libraries. See d.o/theme-guide/8/assets

  6. Firefox’ 3D view is built using WebGL, not CSS Transforms. We might eventually need that too, but not just yet. Oh, and for the origins of Firefox’ 3D view, see

  • CSS
  • DX
  • Drupal
  • WPO
  • performance
Categories: Drupal

Design Test: Improving Rock, Paper, Scissors - by Dan Felder Blogs - 6 April 2015 - 10:07pm
Can you make a bad game good?
Categories: Game Theory & Design

Factoring Game Mechanics and Player Skill into Level Design - by Josh Bycer Blogs - 6 April 2015 - 10:07pm
Today's post looks at how the skill set of your player can be taken into consideration when building the levels of your game based on two different design philosophies.
Categories: Game Theory & Design

Hurts so Good: Pain as Interactive Storytelling Technique - by Taylor Bair Blogs - 6 April 2015 - 10:07pm
In design school they'll tell you, "Never punish the player," but are design schools doing us a disservice? What if making players miserable is the key to telling compelling stories? It's a brave new world of interactive storytelling, and we explore it.
Categories: Game Theory & Design

The Poor Man's Character Controller - by Evan Todd Blogs - 6 April 2015 - 10:07pm
How to make your very own character controller using only blood and tears.
Categories: Game Theory & Design

Using MDA to grow a MOBA - by Brian Rockwell Blogs - 6 April 2015 - 10:07pm
Responding to the call for blogs on MOBA, we will use the MDA framework to design a new MOBA.
Categories: Game Theory & Design

How Steam Greenlight is horrible (Part 1 - Submission) - by Pierre Chevalier Blogs - 6 April 2015 - 10:04pm
Steam Greenlight may looks nice on the paper but it's in fact horrible. In this series of post, I will try to explain why, and how to find a solution about.
Categories: Game Theory & Design

What to do when traditional marketing fails you - by Adam Andresen Blogs - 6 April 2015 - 10:04pm
According to researchers, display ads don’t work. In fact, only 0.1% of them are ever clicked on. So why do we keep using them? Why did ComScore’s Digital Future in Focus report for 2013 find that 5.3 trillion display ads were created in the U.
Categories: Game Theory & Design
Syndicate content

about seo