Skip to Content


Month names

New Drupal Modules - 4 December 2014 - 7:33am

The module provides month name handling.
It contains:
CTools relationship plugin which converts month number (12) into month name (December) with translation and grammar case selection.

Categories: Drupal

Tealium Tag Manager

New Drupal Modules - 4 December 2014 - 7:22am

Capgemini's Tealium Tag manager tool.

Module is under active development in

New versions will sync in as soon as possible, but refer to github page for latest versions and updates.

Categories: Drupal

Marek Sotak: Making Drupal Commons look like facebook - part 1

Planet Drupal - 4 December 2014 - 6:45am

Acquia Commons is a Drupal distribution that is for building communities within your organization. I have been able to play around with its competitor JIVE and must admit, it stands quite well next to it.

We were approached by Gary Conroy from Specsavers, who have introduced Commons within their organization and needed to do some additional tweaks to make it a bit similar to Facebook. This will be a series of two blog posts, in first we will show how we have made similar functionality to Facebook Like links and in the second how did we change the status form widget.

Categories: Drupal

Drupal Commerce: How to switch your payment settings based on environment variables using

Planet Drupal - 4 December 2014 - 5:00am

When working on a Commerce project which uses a payment gateway, you need to always make sure that your Staging and Development environments are properly targeting the sandbox or test mode of your payment gateway, and that your Production site is targeting the live account.

This is actually true for any third-party service integration which provides a sandbox where you can test. The objective is to make sure you never send test data on a live account, no matter the service you're testing on.

For this tutorial, I will focus on payment method settings, but the principle remains the same for any other third-party integration.

I will start from an empty Drupal site hosted on and go through the following steps:

  • Enable and configure Paypal WPS payment method
  • Export its configuration to a settings.local.php file
  • Override its Sandbox configuration on the Staging environment
  • Write custom code to read the configuration from the settings.local.php

As you see, the goal (as always with Drupal) is to read the configuration from your code so that you can easily switch from a sandbox mode to a live mode.

Categories: Drupal Book - D8 Module Porting 101 - Porting Simple FB Connect Module to D8

Planet Drupal - 4 December 2014 - 3:43am
Probably the first book on Drupal 8. But honestly this is not worthy of being called a book. Just a collection of notes that I took as I ported the simple_fb_connect module to D8. Felt it was too long for a blog post and hence the book below! Read More @

If you see nothing above probably your browser does not support PDF embed. Try from a desktop with the latest version of Chrome or Firefox.

Categories: Drupal

Commerce ETS Emoney

New Drupal Modules - 4 December 2014 - 3:11am

Commerce ETS is a payment module that integrates the Field Level implementation of the ETS Emoney payment system with Drupal Commerce.


- Support Void / Refund

Categories: Drupal


New Drupal Modules - 4 December 2014 - 2:56am

This module connect Drupal to Buffer services.
You will be able to publish Buffer updates!
Updates will be sent after publishin new nodes, using Rules and from code (with a custom fuction).

Bufferapp connection uses BufferPHP class.

Categories: Drupal

CMS Quick Start: Publishing Drupal 7 Content to Social Media: Part 2

Planet Drupal - 4 December 2014 - 1:02am
Today we're going to look at how to push your site content to social media services using contributed Drupal modules. If you want full control over how social media integrates with your site and allow extra features to be used on site, this is the way to go. The major tradeoff comes with increased time for configuration and testing, and possibly troubleshooting if something doesn't work correctly.

Let's get started.

read more

Categories: Drupal

Lyris Simple Forms

New Drupal Modules - 3 December 2014 - 11:01pm

This module provides simple subcribe and unsubscribe forms for a Lyris mailing list. In effect, it mimics the custom Lyris web forms you can create through your Lyris admin UI at /utilities/webforms.

Two blocks are provided that you can drop into any region or panel layout, one for subscribing and one for unsubscribing.

All the settings can be found at /admin/config/services/lyris-simple

Block specific settings can also be changed from within the block configuration.

Categories: Drupal

Propeople Blog: Prototypes: A Better Approach to Development

Planet Drupal - 3 December 2014 - 3:21pm

Traditional web design has always involved creating flat, two-dimensional designs in wireframes or high-definition design comps. While this process feels natural and intuitive for designers, it presents significant shortcomings when it comes to the increasing demand for modern, responsive websites.

Building a website in Drupal typically follows this process:

  1. create low-definition conceptual designs, wireframes, and sketches

  2. create high-definition design files in Photoshop

  3. configure the site and build out various functionalities

  4. create a base theme and apply it to complete functionalities



This process, tried-and-true as it may be, leads to a lot of challenges:

Synchronicity of frontend and backend development

Building functionality is tied to internal elements that sometimes are not exposed to UI at all. For example, integrations with external systems or implementing editorial workflows. This sort of work can represent hundreds of hours from a development perspective, but the theming required is marginal. On the other hand, some parts of web design work--like assembling pages with node listings or just the pages themselves--can involve 10 hours of development and 20 hours (or more!) of theming due to custom Javascript and layouts. In this situation it can be challenging for a busy frontend developer to know how to organize his/her time most effectively.

Clients can't test the site until most of the functionality is done

Theming only after a site’s functionality is ready leads to a problematic situation wherein a web design team can't actually show its client polished work until the end of the project. Theoretically, of course, we can show some functionality or provide elaborate descriptions, but the “bells and whistles” still tend to be missing until a project nears completion. This leads to a huge bottleneck effect as both clients and quality analysts turn their attention to testing a new website on multiple devices and platforms. At this stage, most of the bugs reported will be related to responsive behavior or small changes to theming. This can be a nightmare for frontend developers; they receive tons of work all at once, even as the project is about to finish.

Enabling frontend developers

Frontend developers are forced to learn a lot about preprocess functions and how Drupal works. This whittles down the time frontend Drupal developers have to introduce cool new technologies that exist elsewhere in the frontend world. Despite multiple attempts to make Drupal’s HTML output cleaner, Drupal still produces a lot of code that, most of the time, is superfluous. The truth is the frontend world develops at a faster pace than our PHP tools. New Javascript frameworks mature at lightning speed and we are not really all that good at adopting them. What we would really like to see is frontend developers progressing in their field, rather than getting bogged down by more Drupalisms. But how?

Prototypes to the rescue

Lately Propeople has been rewriting the web design process, building prototypes right after designs become available. In fact, the main deliverables of our design work are the prototypes themselves. Technically, the prototypes we build are sets of HTML pages. The idea here is for these prototypes to empower frontend developers to build a site how they see it, instead of how Drupal dictates. Prototypes free up frontend developers to use new technologies and to properly organize code. Another advantage is that prototypes can be built before Drupal functionality is finalized. In other words, clients can start test driving their website early on in the development process and have a clear idea of how the site is going to look and behave. By the time Drupal functionality is ready, all frontend bugs are resolved, specifically the ones related to responsive behavior. There are multiple PHP-based template engines to use, being one. Our developers use


Prototype-based theming

Let’s say you’ve got your prototypes just the way you want them. Now Drupal’s backend HTML should be made to match the prototypes as precisely as possible. The bad news: this is not easy as it may sound. The good news: we’ve compiled some best practices to lead the way.

  1. Panels, panels, panels. We use a stack of panels modules. It is pretty simple to build custom layouts out from the prototypes, replacing static blocks with implemented panes.

  2. Custom panes with custom templates. In order to control the HTML of custom panes, we create a template file for each one. This makes it easy to tweak the HTML of a single pane as needed. We even display custom panes in lieu of views panes, executing views under the hood. We skip rendering views in order to keep all the theming for one block in one template.

  3. Display entities as view modes. For most view modes (different kinds of teasers), we use separate custom templates.

Prototypes make building a website much more exciting and improves the web design process for everyone involved. Backend developers can actually watch the site’s theming implemented as they complete functionality. Frontend developers have more freedom and fewer Drupalisms to remember. Best of all, prototypes increase client satisfaction because prototypes allow clients to feel more involved in the implementation of their projects.

 Tags: PropeoplePrototypesDesignService category: TechnologyCheck this option to include this post in Planet Drupal aggregator: planetTopics: Tech & Development
Categories: Drupal

Drupal core announcements: Drupal core updates for December 3, 2014

Planet Drupal - 3 December 2014 - 2:29pm
What's new with Drupal 8? Where's Drupal 8 at in terms of release?

Since the last Drupal Core Updates, we fixed 18 critical issues and 12 major issues, and opened 9 criticals and 18 majors. That puts us overall at 110 release-blocking critical issues and 705 major issues.

Part of managing Drupal 8 toward its release is continuously reassessing what must block a release of 8.0.0. (Remember, hundreds of thousands of people will benefit from all the great new functionality in Drupal 8, so we need to be smart about what does or doesn't hold up that release!) The chart below illustrates not only those newly discovered and newly fixed critical issues each week, but also issues that are promoted to critical and demoted from critical based on our latest understanding. For more information on what is (and isn't) release-blocking, see the handbook page on issue priority.

Current focus

The current top priority in Drupal 8 is to resolve issues that block a beta-to-beta upgrade path (critical issues tagged 'D8 upgrade path'). We also need core contributors to continue evaluating issues for the beta phase based on the beta changes policy.

Finally, keep an eye out for critical issues that are blocking other work.

How to get involved

If you're new to contributing to core, check out Core contribution mentoring hours. Twice per week, you can log into IRC and helpful Drupal core mentors will get you set up with answers to any of your questions, plus provide some useful issues to work on.

If you are interested in really digging into a tough problem and helping resolve a stagnating release blocker, or if you are stuck on a critical currently, join the #drupal-contribute IRC channel during weekly critical issue office hours on Fridays at 12:00p PST. See chx's office hours reports for an idea of what we've done so far!

If you'd like to contribute to a particular Drupal 8 initiative or working group, see the regularly scheduled meetings on the Drupal 8 core calendar. Google calendar ID:

You can also help by sponsoring independent Drupal core development.

Notable Commits

The best of git log --since "1 week ago" --pretty=oneline (70 commits in total):

  • Issue 2359369 by mpdonadio, Berdir, bdurbin: Render cache is not cleared when module is uninstalled - cache invalidation is always hard :)
  • Issue 2377281 by hussainweb, dawehner: Upgrade to Symfony 2.6 stable - getting close to the 2.7 LTS release
  • Issue 2342593 by znerol, grendzy, David_Rothstein: Remove mixed SSL support from core - aligning Drupal with the wider web trends regarding https
  • Issue 2369781 by larowlan: Ensure twig_debug output has needed sanitization - another critical security fix down
  • Issue 2384581 by cilefen, Wim Leers: Security: Update CKEditor library to 4.4.6 - brings some security improvements
  • Issue 2384163 by yched: Entity render cache is needlessly cleared when an Entity*Fom*Display is modified - performance++
  • Issue 2368275 by martin107, dawehner, znerol, Crell, Wim Leers: EntityRouteEnhancer and ContentFormControllerSubscriber implicitly depend on too many services - ensuring our critical execution path is a lean as posisble
  • Issue 2348459 by larowlan, alexarpen: Fields of type 'Text (formatted)' do NOT save values - a critical that was causing data loss when editor module was enabled
  • Issue 2235901 by alexpott, mdrummond, iMiksu, sun, Wim Leers: Remove custom theme settings from *.info.yml - theme system using config objects like everything else
  • Issue 2212335 by jhodgdon: Separate out NodeSearch::execute() into finding vs. processing results
  • Issue 2377397 by Wim Leers, alexpott: Themes should use libraries, not individual stylesheets - moving us towards simplifying ajax page state, and smaller Javascript settings object - and hence increased performance

You can also always check the Change records for Drupal core for the full list of Drupal 8 API changes from Drupal 7.

Drupal 8 Around the Interwebs Drupal 8 in "Real Life" Whew! That's a wrap!

Do you follow Drupal Planet with devotion, or keep a close eye on the Drupal event calendar, or git pull origin 8.0.x every morning without fail before your coffee? We're looking for more contributors to help compile these posts. You could either take a few hours once every six weeks or so to put together a whole post, or help with one section more regularly. Read more about how you can volunteer to help with these posts!

Categories: Drupal

Appnovation Technologies: Uploading videos with Brightcove FTP Batch Provisioning

Planet Drupal - 3 December 2014 - 2:26pm

Brightcove is a leading platform for cloud-based online video hosting and publishing.

var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Categories: Drupal

Drupal Association News: 2015 Leadership Plan and Budget

Planet Drupal - 3 December 2014 - 2:12pm

During the last Drupal Association meeting, the board approved the 2015 Leadership Plan and Budget. We are very pleased to make the related documents available to you in their entirety:

However, these documents can be a lot to parse on their own, so let me provide some context and summary here in this post as well.

In short…

With a full engineering team and a bigger staff overall, 2015 presents more opportunities for the Association to directly impact the community. There are still far more projects and services that we could pursue than we can pursue, so we will use a couple of strategies in our work that will help us find the right approaches quickly and in collaboration with the community. Can we do everything that needs to get done? No. But we can and will do more in 2015.

2015 Imperatives

As mentioned above, there are plenty of things we can be doing in 2015 to serve the community. Because we can’t do them all, we’ve identified three areas that are imperatives - if we succeed in these areas, we’ve set ourselves up to grow and do more for the community in the future. Our three imperatives are:

  • We spent most of 2014 focused on paying off technical debt, making the site and services more portable while improving performance and stability. In 2015, we plan to make many more visible changes, aligned with the roadmap ( that was developed with community input and published last month. is the heart of our community and we have a heavy lift to make it the useful tool it could be and to help the tools on better reflect our comunity processes and values. If we do this well, we will see a more engaged and growing community of developers and contributors.
  • Drupal 8 Release: We know you want Drupal 8 to be released just as much as we do. Additionally, there is a lot of opportunity during a product release that we want to take advantage of with the community. We’ll be looking to capitalize on the release to gain positive attention for the project that will result in more market share for Drupal and a growing developer community.
  • Operationalizing Revenue Programs: We’re still in a situation where most of the revenue we use to fund support and development, Community Cultivation Grants, and our other programs comes from the DrupalCons. Having a single major source of revenue is risky for any organization, but it also means that we are limited in terms of what we can do to improve upon or change DrupalCon formats. We are working on diversifying our revenue streams, with several new products introduced in 2014. In 2015, we need to operationalize and grow these revenue streams.
What does this mean?

That’s the work we want to focus on in 2015, but how will we do it all? The Leadership Plan and Budget lay this out in pretty complex detail, so here is a summary of our thinking and what this all represents:

  • You may recall that our original 2014 budget predicted a $750,000 deficit spend so that we could focus on building out a technical team to support our primary imperative - As it turns out, we were unable to hire that team as quickly as we had hoped and we also did not utilize as much money for contractors on as anticipated (because it’s tough to manage contractors when you don’t have the staff). The result is that we will have a much smaller deficit in 2014.
  • It also means that we still have a lot of work to do on and 2015 is the year that we will actual feel the financial impact of all those engineering hires. Additionally, we need to invest in our revenue team to build out our funding streams so we can sustain the team long-term.
  • Another investment we need to make is in Drupal 8. Not only do we want to support the release, we want to help ensure that the release happens as quickly as possible. Working with the Drupal 8 branch maintainers we are developing a grants program modeled after the Community Cultivation Grants to help fund Drupal 8 development. As with the CGG program, the program is a true partnership with the community. Our role will be to provide the funds (up to $125,000) and logistical support. The branch maintainers will evaluate the proposals. We’ll have more details ready to be released next week, so stay tuned!
  • Continuing the shift we began in 2014, the investment in 2015 will be over $1 million - on par with the DrupalCons in terms of total expense. The bulk of this expense is in staffing, but we will make some small investments in hardware and services and a larger investment to develop a design system that will complement the user research and content strategy to fuel an iterative redesign.
  • When you put it all together, we are expecting another deficit spend, primarily to address the investments that were delayed in 2014. Though we did not have a third DrupalCon in 2014 and we did not make any new investments in revenue related staff until the fourth quarter of the year, we will still have managed to grow our gross revenue over 2013 by several hundred thousand dollars. This gives us great confidence that we can make up this deficit and support a revenue neutral or positive budget for 2016.
A word on strategy

In 2015 we’re going to tackle everything we took on in 2014 and then some. Defining our imperatives helps us understand what work to focus on, but defining our strategies allows us to understand how we will do our work and ensure that it aligns with our values.

We have two main strategies for 2015: work with and highlight community contribution and treat every project as an opportunity to run a small, fast experiment. Our best work is done in partnership with the community. A great example is testbots. In 2014, the Association took on the upkeep of the primary testbot infrastructure so that community volunteers can focus their time on a new, more modern implementation. In all of our work, we will find the right ways to leverage and celebrate these kinds of partnerships.

We also know that in a community this large and complex, giant, comprehensive projects rarely succeed. No one can anticipate every need or use case, and no individual or small group can engineer the “right” solution for every facet. Our teams will instead break big projects down into small components and test solutions, from new ideas for Cons to new UX components. We’ll implement, gather data, and iterate - repeatedly.

Join us for more conversation

The Association staff and board are very excited about the potential this budget represents for progress in areas that matter most to all of us in the Drupal community. We invite you to join us for a community webcast on 18 December at 8am Pacific (that's 11am Eastern and 4pm in London) to discuss the plan in more detail. We’ll also make a recording available for anyone who can’t join us live.

Join the Webcast

Categories: Drupal

PreviousNext: Updating Panelizer content programmatically

Planet Drupal - 3 December 2014 - 1:48pm

Panelizer is a great module for being able to modify the layout of a page on a per-node basis. However, its greatest strength can sometimes be its greatest weakness. We found this out the hard way when a client asked us to help them add a block on every single page of their site directly beneath the h1 page title. Read on for how we approached this issue.

Categories: Drupal

Swiss official timetables

New Drupal Modules - 3 December 2014 - 1:47pm

This module provides integration with a webservice that provides public
transportation timetables data in Switzerland.

Module provides basic API. Results can be optionally cached to improve end-user
performance. There are two configuration variables that allow users to modify
cache behaviour.

It also provides Views query plugin that can be used to build nice listings
based on the data provided by the webservice.

There is a pre-configured view that displays timetables in a table and exposes
a filter to search them.

Categories: Drupal

Pixelite: Using git pre-commit hooks to keep you Drupal codebase clean

Planet Drupal - 3 December 2014 - 12:57pm
Facebook Like Google Plus One Linkedin Share Button

All too often when peer reviewing code done by other Drupalers, I spot debug code left in the commit, waiting for the chance to be deployed to staging and break everything.

I started to read up on git hooks, paying particular attention to pre-commit:

This hook is invoked by git commit, and can be bypassed with --no-verify option. It takes no parameter, and is invoked before obtaining the proposed commit log message and making a commit. Exiting with non-zero status from this script causes the git commit to abort.

You can write you pre-commit hook in any language, bash seems the most sane due to the power of text analysis tools at your disposal.

Where is the code

Here is a link to the github repository with the pre-commit hook:

git clone Features
  • Executes PHP lint across the PHP files that were changed
  • Checks PHP for a blacklist of function names (e.g. dsm(), kpr())
  • Checks JavaScript/CoffeeScript for a blacklist of function names (e.g. console.log(), alert())
  • Ignores deleted files from git and will not check them
  • Tells you all of the fails at the end (and stores a log)
  • Only lets the commit go ahead when there are no fails
Installation cd /tmp git clone cd drupal-pre-commit cp scripts/ [PATH_TO_YOUR_DRUPAL_PROJECT]/scripts cd [PATH_TO_YOUR_DRUPAL_PROJECT] ln -s ../../scripts/ .git/hooks/pre-commit Feedback

I am keen to hear from anyone else on how they do this, and if you have any enhancements to the code then I am happy to accept pull requests on github. Happy coding.

Tags drupal drupalplanet git Source Git hooks Category Tutorial
Categories: Drupal

Acquia: Digital Government and Content on the Moon - Hugo Pickford-Wardle

Planet Drupal - 3 December 2014 - 11:31am
Language Undefined

Categories: Drupal

Drupal Commerce: Commerce 1.x enhances cart calculation and order management

Planet Drupal - 3 December 2014 - 8:39am

Have you heard about all the great new features being developed for Commerce 2.x?

Well, there's lots to talk about for Commerce 1.x as well. Over the last few months, we've released a number of features that are definitely useful for over 50,000!! existing Drupal Commerce stores and good to know about for future shop implementations:

Read More

Categories: Drupal

LevelTen Interactive: How to set up a Drupal site on DigitalOcean

Planet Drupal - 3 December 2014 - 8:29am

If you haven’t heard of DigitalOcean yet, I definitely recommend it as a web developer. DigitalOcean is a "simple and fast cloud hosting provider built for developers,” which basically means pure awesomeness. You can spin up a cloud server in 55 seconds starting at just $5 a month. 20 GB SSD, 512MB of RAM - five bucks, that’s it. They have a number of applications you can pre-install as well. Want to host your own Dropbox? Try out OwnCloud. Maybe you need a Ruby on Rails environment, they have you covered.... Read more

Categories: Drupal

Digett: 4 Challenges With a Webforms Project, Part IV

Planet Drupal - 3 December 2014 - 8:27am

Welcome to the fourth and final part of my in-depth look at customizing some default behavior in Webforms, and in this installment, Drupal’s Bootstrap theme. Today we’ll look specifically at repurposing bootstrap alerts and some more general minor DOM manipulation.

(Here’s Part I, Part II, and Part III for easy reference if you’re late to the party.)

Challenge #4: Thank you, come again!

So, at this point in the project, the form behaves as desired right up until a successful submission.

read more

Categories: Drupal
Syndicate content

about seo