Planet Drupal

Subscribe to Planet Drupal feed - aggregated feeds in category Planet Drupal
Updated: 19 min 27 sec ago

Mark Ahrens: Backdrop Does a Disservice to Developers

Wed, 04/03/2015 - 05:00
I have been thinking awhile about why the Backdrop fork bothers me so much. At first I thought it would just be the fact that it will be splitting the community some or taking resources away from the Drupal project. But lots of projects I have worked with have been forked in the past, and it … Continue reading Backdrop Does a Disservice to Developers
Categories: Elsewhere

Drupal @ Penn State: Memory profiling in hooks

Tue, 03/03/2015 - 22:19
To start..

This tutorial involves hacking core. If you aren't comfortable with doing that, you're probably in the wrong place :).  I created a drop called Memory profiling in hooks which has all the code details in case you want to dig in yourself.  You'll need to modify includes/ and also have devel module enabled for this to work.

Categories: Elsewhere

Mediacurrent: Premature Optimization is (still) Bad

Tue, 03/03/2015 - 22:13
Knuth is a pretty smart person

A long time ago, in a galaxy right here, Donald Knuth wrote “premature optimization is the root of all evil”. This was in his 1974 paper “Structured Programming With Go To Statements”, yet this issue is still with us in various forms.

Categories: Elsewhere

Urban Insight: What to visit while at the Los Angeles DrupalCon

Tue, 03/03/2015 - 22:07

So you are planning to visit LA for DrupalCon? Want to site see or enjoy local flavors but not sure where to focus your efforts? I polled the team at Urban Insight, and we collected ected a few of our own favorites that will, hopefully, become some of your favorites as well.

#10 LA Metro

Categories: Elsewhere

Red Crackle: Using Views Exposed Filter In Drupal 8

Tue, 03/03/2015 - 20:05
This article takes you through the steps required to use Views Exposed Filter in Drupal 8. Exposed filters provide users with the freedom to sort content on their own. This feature is beneficial, in particular, for online stores where customers seek to filter products of their choice. The filter could be based on price, brand or size. In this article, a new view is created, a path provided and the display format altered to showcase content titles. The Filter Criteria is then configured. The screenshots accompanying this article will provide you with clear instructions in setting up exposed filters in your application.
Categories: Elsewhere

Open Source Training: How Do I Get a Job in Drupal?

Tue, 03/03/2015 - 18:59

Are you looking for a job? Have you considered working in the Drupal world?

Several OSTraining members have. They wondered about the skills they would need and the income level they could expect.

To give you an overview of what it takes to make a living in the Drupal world, we spoke with Mike Anello. Mike is a long-time Drupal contributor, based near us in Orlando, Florida. If you've ever seen a Dries keynote address at a Drupal, Mike is often the person asking Dries questions at the end.

One of my key takeaways from talking with Mike -  the Drupal jobs are out there, but companies are now expecting applicants to bring more than just Drupal knowledge.

Categories: Elsewhere

Drupal Association News: Thank you for a great Global Training Day

Tue, 03/03/2015 - 18:31

As many of you know, Global Training Day was this weekend, and it was a great one. We had 29 trainings in 20 countries around the world, showing once again that our community is second to none in passion and enthusiasm.

It's so exciting and humbling to help make GTD a reality. Watching the tweets pour in from around the world is truly awe-inspiring. Here's a selection of a few of our favorites from this year.

For those of you who didn't participate this time around but want to join in next quarter, check our Global Training Day page and sign up to host a training in your community. Again, thank you to everyone who helped make this GTD a reality.

150 new Drupalistas in the last #Drupal Global Trainind Day in Barcelona . Thanks @DrupalAssoc @lsheydrupal !

— Atenea tech (@ateneatech) March 2, 2015


After 8 hours of #Drupal_Global_Training Days at #EPI Sousse #Tunisia #Drupal #DrupalGTD @lsheydrupal

— Ward Marzouki (@digitives4ward) February 28, 2015



Drupal Global Training Day concludes at @drupakpakistan #Peshawar #Pakistan #DrupalGTD @lsheydrupal

— Drupak (@drupakpakistan) February 28, 2015


Categories: Elsewhere

Another Drop in the Drupal Sea: Drupal + Udemy = Drudemy. Come join in the fun!

Tue, 03/03/2015 - 17:35

I have settled on using Udemy as my exclusive platform for delivering Drupal education. I'm so excited to start taking advantage of all the great tools the platform offers and I am laying the groundwork for engaging extensively with my students. I've got four challenges I'll be issuing to my students during the month of March, with a prize for each one as well as a Grand Prize at the end. It would be great to have you play along!

Join for free!

Categories: Elsewhere

Promet Source: Developing the Promet Way: Part III

Tue, 03/03/2015 - 17:30


Part I highlighted the challenges of deployments, defined good deployments, and introduced the tools for developing the Promet way. If you haven’t already, you should probably read Part I now.

Categories: Elsewhere Featured Case Studies: The Roman Baths

Tue, 03/03/2015 - 17:01
Completed Drupal site or project URL:

The Roman Baths is the primary attraction of the six Bath & North East Somerset Council Heritage Services; the Roman Baths, the Fashion Museum, the Victoria Art Gallery, Bath Venues, the Bath Record Office and the World Heritage Site.

The Heritage Services team wished to migrate all six of the websites from Immediacy to Drupal, and included a full re-design as part of the project. The contract was won in open tender by Microserve and Torchbox against stiff competition nationwide.

Torchbox carried out the Design and UX Phase before passing responsibilities to Microserve for the Development Phase. By working to each organization's individual strengths, Microserve and Torchbox were able to provide an efficient and cost effective partnership whilst still keeping a collaborative and concise communication channel between all three parties throughout the project.

Key modules/theme/distribution used: FeedsSassonAdminimal - Responsive Administration ThemeCKEditor - WYSIWYG HTML editorDraggableViewsGatherContentHoneypotStyle GuideFeaturesEntity Construction Kit (ECK)Flex SliderOrganizations involved: MicroserveTorchbox
Categories: Elsewhere

Cheppers blog: Rebuilding the Cheppers website with Drupal 8: The Age of Innocence

Tue, 03/03/2015 - 16:50

After a lively meeting, the Cheppers team decided to make our new website with Drupal 8. You can read about how and why we made this decision in the previous post. The following series of posts will document our progress, share the important lessons we learn, and highlight any mistakes we make in order to help others as they set out to use Drupal 8. This post will focus on our initial work for this project.

Categories: Elsewhere

Modules Unraveled: Free Command Line Basics Series is Complete!

Tue, 03/03/2015 - 15:59

Command Line 00 - IntroductionWhen you're just getting started with a new operating system you have to learn how to get around and perform basic actions like navigating the file structure reading and writing files and creating and deleting files and directories. The command line (once you're familiar with its commands) can be used to navigate a computer's file structure much faster than through the GUI (Graphical User Interface). It is also very helpful when working with a remote machine, like a web server. One stumbling block for many first time command line users is the fact that when you first startup your command line, you're just given a blank screen with a prompt where you can type in your command. Since there isn't anything to indicate what you should do next you have to already know the commands before you get started. This series will lay out some of the most basic command line commands. These are the ones you'll likely use every time you start up the command line. We'll take a look at the pwd, ls and cd commands to see where you are in your file structure what files and folders are in your current directory and moving to other directories. We'll create and edit text files with the VI application and learn the basics of utilizing VI. We'll learn how to move, rename, copy and delete files and folders with the mv, cp and rm commands. There are plenty of other commands you might want to know but this is an introductory class and a quick Google search will give you all of the information you need.

TL;DR: Watch the full series here for FREE!

If you're serious about building your Drupal site right, you'll find yourself looking into command line tools like Git and Drush.

If you don't work in the command line on a regular basis, that might be intimidating. Well, not any more!

This series is designed to be a primer on the command line basics, to get you comfortable enough with the command line that you can utilize command line tools without hesitation.

Once you've watched the series, you can move on to the Drush series to improve your Drupal-fu, and will be ready for the upcoming Git series (which will be awesome, by the way!)

When you're ready, you can watch the entire series, for free.

When you do, let me know if you have any questions or comments!

Tags: Command LineBasicsplanet-drupal
Categories: Elsewhere Drupal Blog: Inside HubDub Part 1

Tue, 03/03/2015 - 15:07

As we announced previously, 4Site has just released HubDub, a Drupal module that leverages the jPlayer framework and Popcorn JS to overlay web content—such as social media, maps, or web forms—directly onto a video as it plays. So... how does it work?

Storing the Data

The Drupal end of HubDub is relatively straightforward. All of the information about a video is stored in a fieldable custom entity, called HubDub Video. Apart from the usual metadata like title, description, author and a unique identifier, what do we need to keep track of? First, we need the location of the video itself. HubDub needs direct access to an M4V video file (or a live RTMP stream), so we store its location in the URL field. A planned enhancement will let this URL be the actual Vimeo (and eventually YouTube) sharing URL, which is a lot easier for end users to find. The module would then parse out the actual video file location.

For each overlay, we need to track the start time, end time, and the content of the overlay. We could have used Drupal’s built-in field types inside a field group for this, but that can get messy for unlimited fields, so we decided to create a custom HubDub Overlay field type. As a former TV engineer, my first instinct was to use something like SMPTE timecode for the time fields. But jPlayer can’t place overlays with anything approaching frame accuracy, so we went with two simple integer fields, representing the elapsed time in seconds since the start of the video. To make it easier to deal with overlays in longer videos, especially now that HubDub supports live RTMP streaming, we’ll probably use a field formatter (such as the HMS Field module) to display these fields in hours:minutes:seconds.

The overlay field is a textarea, using Drupal core’s Filter module to format the text for display. Allowing custom CSS, Javascript, and jQuery inside overlays opens up some awesome possibilities… and also some not-insignificant security issues. So by default we allow only the Filtered HTML text format, but the administrator can change this for trusted users.

Finally, to declutter the edit form, we provide an administrative title for each overlay, and collapse the field by default.

Displaying a Video

Okay, we’ve now got all of the information about a video stored in Drupal’s database. Now how do we display a video? Well, first of all, where do we display it? By using Drupal’s Entity API we get a page display for each video (almost) for free, but we wanted to give site owners the flexibility to place videos wherever they wanted, so automatically creating a block for each video was a no-brainer.

I’ve created lots of blocks in code before, but I’d never done so dynamically for all instances of an entity type before. It was a lot easier than I expected, as I learned from looking through the Views module. In the hook_block_info() implementation I load all the HubDub Video entities, then iterate through them with a foreach and add each video to the array. Then, in the hook_block_view() implementation, it’s just a matter of calling the callback with the right delta. There are still a few to-dos here, namely dealing with entity titles longer than 32 characters, and adding some caching for performance.

The page callback and block callback are almost identical. Pages need a title, so the page callback sets it, then it and the block callback each call the same display function, hubdub_view_video(). That function loads the HubDub Video entity, then dumps all of the metadata fields for that entity into Drupal's Javascript Settings array. Next, it iterates through all the values of the Overlay field and adds each overlay to the Settings array. Then everything gets passed to a theme function, which loads the tpl.php file that contains the div structure that jPlayer needs, and creates a series of hidden divs with the contents of each overlay. Finally, we attach some CSS, and the Javascript, which is where all the real magic happens. Look for a follow-up post in the coming days on the Javascript side of HubDub.

What’s Next?

The initial release of HubDub is our “minimum viable product.” It works, but there’s so much more we have planned. A few of the things on our roadmap:

  • More granular access control for CRUD operations. Right now, all HubDub actions are controlled through one global “administer hubdub” permission. We’ll soon be adding the Drupal standard edit/delete own/any permissions.
  • Support for additional video providers, including YouTube, and non-m4v file formats.
  • Greater cross-browser HTML5 support.
  • Additional jPlayer options, configurable through the admin UI.
  • Media module support.
  • More user-friendly support for skipping to another point in the same video, or branching to another video, from within an overlay.
  • Better support for overlays on live streams. Right now, overlays are timed from the start of playback, but this doesn’t make sense for live streams. We’re considering just using the server time in hours:minutes:seconds, but we’d love to hear potential use cases and their requirements.
  • Eventually, a more user-friendly way of adding overlays. We’re considering a video player on the edit form, with a button in the player controls to add an overlay at the current playback point.

We're eager to hear your feedback! Please post bug reports, feature requests, and support questions in the HubDub issue queue.

We have even more details to share on how HubDub works under the hood, so stay tuned over the coming days. If you'll be attending the Nonprofit Technology Conference next week in Austin, stop by our booth (#214)! We'd love to chat and give you a demo. If you’re interested in a custom HubDub solution, integration with your CRM or AMS, or video production or editing services, please contact us.

Categories: Elsewhere

DrupalDare: Google Pagespeed Module and Drupal

Tue, 03/03/2015 - 11:27
Google is trying to make the web faster! Every site owner should be aware off the Google Pagespeed tool (and YSlow) to make sure that the website they are running is as fast as it can be. The optimization tools they offer are great for anyone working with Drupal. But Google have taken it one step further by introducing Google Pagespeed module for you webserver that does a lot of optimization on the fly. The question is - does it make sense for Drupal?
Categories: Elsewhere

InternetDevels: Drupal modules for social networks integration

Tue, 03/03/2015 - 09:55
1. Service links module

Service links module simplifies attaching additional social links or javascript buttons into the content. It grants advantages to the developers who can add more buttons and rearrange them. It is created on Drupal and for Drupal so that doesn’t include any commercials or spyware.

Read more
Categories: Elsewhere

Paul Rowell: Drupal Camp London 2015: Improving the CMS user experience

Tue, 03/03/2015 - 02:40

I gave a talk at Drupal Camp London this year, focusing on the UX of CMS users a.k.a the forgottten Drupal user. Below are the slides and a few notes to accompany them.

Categories: Elsewhere

Aten Design Group: OpenAid 2.0 - A Free, Open Source Website Starter Kit for Nonprofits

Mon, 02/03/2015 - 23:26

For cause-driven organizations, a website is a place to highlight impact, share resources, and build support. While a blog or brochure site can achieve some of these goals, it rarely does it all. Unfortunately, we all too often find organizations confined by the free and low-cost online platforms accessible to them. With that in mind, we’ve built OpenAid. It’s a free and open-source website starter kit developed for nonprofits and grassroots organizations. Its feature set is robust, its architecture flexible, and it can be installed in minutes.

We worked with activists, community organizers, and aid workers to build a platform that serves their organizations’ needs. Here are some of the features we’ve built to allow groups to inspire and connect with others on a scale that truly reflects their impact in the world.

  • Project mapping. Each project or program you add to the site is displayed on dynamic maps, allowing users to see the full scope of your work. Because OpenAid is flexible, you can easily adjust a project to instead be a city or chapter and still take advantage of all of the mapping features.
  • Blog and news. There are subtle but important differences between a News section and a blog, so we decided to build both for ultimate flexibility. Associate authors with your posts to create dynamic profile pages and allow users to track their favorite writer’s work. Reference a project with a post and it will display on a project’s page, creating almost a mini website for that project.
  • Resource library. Share the resources you’ve created with the rest of the world in an easy-to-find way. We’ve added metadata fields such as Resource Type and Topics and provided a filter set and search interface to allow users to quickly discover the tools and materials relevant to them, even if your library has grown to hundreds of documents.
  • Image galleries. Pictures are key to telling your stories and connecting with your supporters. Associate a gallery with one or more projects to highlight events, volunteers, and initiatives specific to that project’s work.
  • Beautiful, responsive design. Design is important and we want your website to look great regardless of device. A color picker allows you to easily adapt OpenAid to reflect your organization’s identity. We’ve also developed it with flexibility in mind so if you add new pages to the site or add fields to a content type, your site will retain that same great look and feel.

You can dig further into OpenAid’s feature set by spinning up a free sandbox site on Pantheon. Or download the distribution at to install on any server. If you have further questions or would like assistance getting set up with OpenAid, feel free to reach out to me at

Categories: Elsewhere

Shomeya: When Success Starts to Feel like Failure

Mon, 02/03/2015 - 22:55

Last week was awesome, sort of. I hit all the numbers on my guide launch I was hoping for, and then promptly got the stomach flu. After two years (lots of running in circles) of working through this process of launching I did it!

Now it could have just been being sick, but I ended the launch wanting something more. And the reality is this isn't the first time I've been down after a success.

Does that ever happen to you? You get so excited about something and launch it? Then the next day you wonder if you could have done better, or you aren't sure where to go next. It's happened with our clients, we work so hard, we push the code, we launch on time, and then the question of "Now what?" lingers.

Read more
Categories: Elsewhere

DrupalCon News: Higher Ed Joins the Summit Lineup

Mon, 02/03/2015 - 22:27

This year in Los Angeles, the Higher Ed Summit will be part of the official DrupalCon program for the first time. Along with the Business and Community Summits, the Higher Ed Summit will meet on Monday, May 11.

Categories: Elsewhere

Drupal Association News: Get Ready to Vote: Elections Run 9 March - 20 March

Mon, 02/03/2015 - 19:51
Huh? What are we Electing?

In case you missed it, the Drupal community electing one candidate to serve a two-year term on the Drupal Association Board of Directors. There are two At-Large (community elected) seats on the Board. The other seat is currently held by Matthew Saunders. We've got a really global slate of candidates to consider, and we encourage you to get to know them by listening to the Meet the Candidates sessions and asking them questions on their candidate profile pages. 

Who can vote?

Voting is open to all individuals who have a account by the time nominations opened and who have logged in at least once in the past year. These individuals' accounts will be added to the voters list on and they will have access to the voting.

To vote, you will rank candidates in order of your preference (1st, 2nd, 3rd, etc.). The results will be calculated using an "instant runoff" method. For an accessible explanation of how instant runoff vote tabulation works, see videos linked in this discussion.

Elections process

Voting will be held from 9 March, 2015 through 20 March, 2015. During this period, you can review and comment on candidate profiles on and engage all candidates through posting to the Drupal Association group. We'll also be scheduling and announcing three phone-in all candidates meetings, where community members and candidates can ask questions and get to know each other.

Have questions? Please contact Drupal Association Executive Director Holly Ross. Many thanks to nedjo for pioneering this process and documenting it so well in the past!

Flickr photo: Kodak Views

Categories: Elsewhere