Planet Drupal

Subscribe to flux Planet Drupal - aggregated feeds in category Planet Drupal
Mis à jour : il y a 44 min 25 sec

Drupal governance announcements: Have you heard about Drupal’s Community Working Group?

ven, 14/03/2014 - 07:26

In early 2013 our fearless and benevolent leader, Dries Buytaert, formalised a governance structure and started a number of working groups for the Drupal project as a whole, and for our home on the Web,

The Community Working Group's job is to "Guarantee a friendly and welcoming community for the Drupal project by upholding the Drupal Code of Conduct."

In 2012 Randy Fay, a longtime and significant contributor to the Drupal project, wrote a series of blog posts articulating some of the challenges of informal governance structures like ours. If you really want to know the full story behind the creation of the community working group, you should start with Randy’s blog, as well as this proposal that came out of a governance sprint held in July that year.

The aim of putting this governance structure in place is to help the Drupal community deal with the challenges of scale. Formalising roles and teams that already exist in the project supports the work of contributors "doing" in the do-ocracy, and provides more support to those people already actively engaged in community issues.

Dries asked Angela Byron, Roel de Meester, George DeMet and myself to form the first Community Working Group.

Angela is a long-time "cat herder" in the Drupal community who frequently gets drawn into a conflict resolver role and has helped the community through some "meaty" topics such as the CVS to Git migration, and five major Drupal core releases.

Once upon a time, Dries asked him to look after, The Belgium community website. Nowadays, he's interested in connecting people and ensuring that new members find their way in the community. He's known for his no-nonsense approach and collaborative nature.

George is a Drupal Association Advisory Board Member, chair of the Content Working Group, co-chair of DrupalCon Chicago, and one of the folks who helped develop the DrupalCon Code of Conduct.

and Me? I was one of the first people elected to the board of the rebooted Drupal Association and I'm really passionate about the non-code aspects of maintaining an open source community.

DrupalCon Prague was a milestone for the group. Lisa Welchman gave a keynote address on the importance of governance for communities like ours. Some people came away from her talk scratching their heads and asking questions.

Why is this relevant to a software project like ours?
In essence Lisa Welchman reminded us that there is no code without people. It is the people, and not the code that define the Drupal community. We have good processes for managing the development and quality of our code. We still don’t have great processes for how we support and acknowledge people and their contributions.

Lisa spoke about a giant fungus as a good analogy for web governance, but also for an open source community like ours. She asked "How do you grow something to be big, that maintains its integrity and maintains its identity?" Lisa suggests that standards and a stable environment are key.

For our code we have coding standards. For our community, we have a code of conduct. That code of conduct represents the foundation of our social standards.
[Photo: Amazee Labs]

In Prague we also held the first Drupal Community Summit. A group gathered to focus on how we might tackle building a conflict resolution policies and processes for the Drupal community. Could we create something flexible enough to apply to all the kinds of conflict we see in our community? How can we acknowledge that conflict itself can be a good thing? We explored questions like these and listed the sorts of conflicts we might need to handle.

The community summit was a great success, so we'll be doing it again at DrupalCon Austin.

I'll write a series of follow up articles about our ongoing efforts to define, refine and field-test policies and processes on how the community can deal with conflict and complaints.

We can't do this work alone. We need a team of people willing to help. Many people are already doing this kind of "work" in our community, if you are, please let us know! Or maybe you're doing it and don't realise you are.

If you are someone people look to to smooth things over when things get heated, or someone with experience in conflict resolution outside open source communities, then please get in touch with the Community Working Group. Tell us
What are you doing?
How can we support you?
How can we amplify your effort and successes?
How can we improve?

This is Drupal, so of course we have an issue queue!

We also have a discrete incident report form only seen by members of the community working group.

Please look through our issue backlog. We’re looking for people willing to help us mediate disputes, formulate and refine community policies, and look for ways to build a community culture we can all be proud of.

AttachmentSize roel.png17.4 KB
Catégories: Elsewhere

Acquia: Using the AWS Ruby SDK to Put a Drupal Site's Assets Behind a CDN

jeu, 13/03/2014 - 22:53

As a demo for my local Drupal meetup, I offered to show how to use an origin pull CDN to serve the static assets of a Drupal 7 site installed on Acquia Cloud. If you are not familiar with basic CDN concepts and terminology, start by reading this article on key properties of a CDN by Wim Leers.

Catégories: Elsewhere

Freelock : Successful projects, part 5: A custom web site is like a building

jeu, 13/03/2014 - 20:47

Previously we learned why a custom web site is not a car. But it is a lot like a building.

"Make me a building. How much is it going to cost?"

Can you imagine what the response to that might be? What kind of building do you want? What kind of budget do you have? What do you want to put in the building? Where are you building it? What construction materials do you want? Do you already have plans?

PlanningHealthcare.govDrupal PlanetProject ManagementConstruction
Catégories: Elsewhere

Hook 42: Fileconveyor on Rackspace with Drupal

jeu, 13/03/2014 - 18:53
Thursday, March 13, 2014

Thank you to our guest author, Brian Degnan, PhD. for contributing his experience after a battle with Rackspace, Fileconveyor, Drupal, Linux, and inodes. :)

Fileconveyor on Rackspace

I recently was tasked with debugging a deployment issue with the CDN on Rackspace. If you use Drupal, Magento, Wordpress, etc on Rackspace and want a CDN, they will suggest to you to use Fileconveyor. Fileconveyor either works great or it does not work based on how the application writes files to the directory.

If you write a single file, we had no issues at all with Fileconveyor; however, we found that we had issue when applications wrote to a file that was embedded in a new directory structure.

The issue: Fileconveyor uses inode-notify and the "link" call to the file system would not give the whole inode chain, or as least not in Python2.6 as of Linux Kernel:

2.6.32-358.23.2.el6.x86_64 #1 SMP Wed Oct 16 18:37:12 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

The symptom: files were not being written to the filesystem! Aack!

I still suggest that you try Fileconveyor as it works well with the Drupal CDN module; however, you must be mindful that certain modules might affect the behavior between the filesystem and Drupal.

Also, all servers leveraging fileconveyor must be set up the same for proper functionality.  In order to setup Fileconveyor the same way across all of the servers, we made a script:

This script made a standard layout for all of the servers with the Fileconveyor code in /var/fileconveyor. /var/fileconveyor is also where all of the database files for Fileconveyor are stored. The script also copies into /var/fileconveyor, where has its modes changed so that it runs as apache.

1. The subset of the script,, is explained below, that can be run as standalone commands.

mkdir -p /tmp/fileconveyor cd /tmp/fileconveyor pip install -e git+

If you do not have pip installed, this will fail. Install pip.

2. Next we make the infrastructure for the Fileconveyor application. I assume the user for the web server is "apache".

mkdir -p /var/run/fileconveyor chown apache /var/run/fileconveyor chmod 700 /var/run/fileconveyor

3. Next, you make the location for the application.

mkdir -p /var/fileconveyor chmod 700 /var/fileconveyor mv /tmp/fileconveyor/src/fileconveyor/fileconveyor /var/fileconveyor chown -R apache /var/fileconveyor

4. Finally, you copy into /var/fileconveyor, and set the modes that it runs as "apache".

chown apache:apache /var/fileconveyor/ chmod 4755 /var/fileconveyor/

Brian Degnan Attachments Topics: Services: Tags:
Catégories: Elsewhere

Hook 42: Deleting a Drupal Field Saved in Features

jeu, 13/03/2014 - 18:42
Thursday, March 13, 2014

There comes a time in every Drupal developer's day when they realize they really don't need a field on some content type or other entity. Maybe it was a field holding temporary data while you did a migration or maybe a feature was removed or maybe things have been rearchitected to use a non-field approach.

Deleting a field might not sound terribly difficult but it does require being very careful and meticulous... particularly if that field has made it into production. With the help of drush, things get easier but, if you are using field groups and/or Display Suite, you might have extra steps that aren't solved by drush (unless you happen to know how to do this via drush... if so, contact us... our comments theming isn't quite ready so no comments turned on yet ;).


I will assume:

  • you are deleting a field from a content type
  • the field is live on the production site
  • you have a local => dev => stage => live development process
  • you are using git
  • the field configuration is saved in a feature (via Features module)

Let's say the field is called field_marketing_blurb, the content type is called marketing_post, the feature module is called marketing and the git branch we're working is called deleteblurb.

Deleting the field locally
  1. Get your code/branch sync'ed up with master
  2. Use a recent copy of the live database
  3. Revert all your features to make sure you are in sync:

    drush fra --yes
  4. Make sure things really did revert successfully (you have no overrides)

    drush features-list
  5. Check your code to see where the field is being used:

    grep -r field_marketing_blurb .
  6. If you have custom code that refers to these fields, you'll need to update the code to pull these out
  7. If there are views, rules, context, etc. referring to the field, you'll need to update these to pull these out (you will know if they are used if you have been saving your config into features code ;)
  8. Check again to make sure you removed references beyond the content type (step #5) (the content type field info will refer to base and instance configuration)
  9. Now you can delete the field with drush:

    drush field-delete field_marketing_blurb
  10. Check the field was actually deleted:

    drush field-info fields | grep field_marketing_blurb
  11. To be really sure there is nothing left in database, you can do some queries:

    show tables like '%field_marketing_blurb%'
    select * from variable where name like '%field_marketing_blurb%';
  12. Once you are all clear, then you can recreate your feature that included the field:

    drush fu --yes marketing
  13. Now there should be nothing in the codebase referring to this field:

    grep -r field_marketing_blurb .
  14. But, if you are using field_group, you might have some references left for that so go to your managed fields page for the content type and click the save button and then repeat steps 12 and 13
  15. And, if you use Display Suite, you might have some references left for that so go to the manage display page for *EACH* view mode and click save and then repeat steps 12 and 13
  16. If you still have some references in your feature module, you'll need to look at the code to see what is referring to it and handle accordingly (for most cases, the steps above will work)
  17. VERY IMPORTANT: for each feature you have changed (and any custom code you change), make sure that the code changed makes sense:

    git diff marketing
  18. Once you are convinced that all is well and you aren't introducing changes you shouldn't, commit the code:

    git commit marketing
  19. Now, we'll double check that features is happy by reverting the feature and recreating:

    drush fr --yes marketing
    drush fu --yes marketing
    git diff marketing
  20. You shouldn't see any changes
Testing your changes
  1. Test locally and make sure things are work and/or run automated tests if you have them
  2. Push code to your branch:

    git push origin deleteblurb

  3. If you have peer review cycle, have someone sanity check your branch before merging:

    git checkout deleteblurb
    git diff origin/master
  4. If all good, merge code and push:

    git checkout master
    git merge deleteblurb
    git push origin master
  5. On dev site, revert all features and clear cache (this assumes dev site uses master branch code):

    drush @alias-to-dev-site fra --yes
    drush @alias-to-dev-site cc all
  6. On dev site, run drush field-delete:

    drush @alias-to-dev-site field-delete field_marketing_blurb
  7. Test on dev site
  8. If all good, merge code to test branch (or, depending on your workflow, tag and push to test)
  9. On test site, revert all features and clear cache:

    drush @alias-to-test-site fra --yes
    drush @alias-to-test-site cc all

  10. On test site, run drush field-delete:

    drush @alias-to-test-site field-delete field_marketing_blurb

  11. Test on test site
  12. Have client test on test site
Push changes to live
  1. Backup database
  2. Put site into maintenance mode
  3. Push code to live
  4. Revert all features and clear cache:

    drush @alias-to-live-site fra --yes
    drush @alias-to-live-site cc all
  5. Make sure features are reverted

    drush @alias-to-live-site features-list
  6. CAREFULLY delete field via drush (have command handy for easy copy/pasting to minimize error):

    drush @alias-to-live-site field-delete field_marketing_blurb
  7. Make sure field is deleted

    drush @alias-to-live-site field-info fields | grep field_marketing_blurb
  8. Test site
  9. Disable maintenance mode
 Have a <beverage of choice>!


Kristen Pol Topics: Services:
Catégories: Elsewhere

Acquia: Lukas Smith on how Drupal and Symfony mutually benefit from cooperating

jeu, 13/03/2014 - 18:29

Part 2 of 2 - I had the great pleasure of speaking with Lukas Smith at SymfonyCon Warsaw in December, 2013. Lukas is a major contributor to open source and is involved in a range of projects, including the Symfony framework, Drupal, and many more. He is one of the 50 most active contributors on GitHub. Thank you, Lukas!

Catégories: Elsewhere

Bluespark Labs: Bluespark at MidCamp Chicago 2014

jeu, 13/03/2014 - 15:50

Bluespark is pleased to announce our participation at this year's Drupal MidCamp conference at the University Center in Chicago, IL on March 28-30, 2014. There's a lot to learn that weekend, so we're happy to keep everyone alert and focused and to show our support for the Drupal community by sponsoring coffee service for the event. So, make plans to attend now and while you're there grab a cup 'o joe (or several) on us and enjoy the sessions.

Speaking of sessions, the Bluespark team is giving two sessions this year. The first, on Saturday at 10:30 am in the Loop Room, is "CXual Healing, Content Creators are People Too!" given by Technical Director Adrian Rollett. In this session, he will show site builders and coders quick-win techniques that we have used to make our sites easier to use for an important, but often overlooked role: site content managers, creators, and curators. The next session, given later Saturday at 3:00 pm in the Arts Room, is "How Changing our Estimation Process Took our Project Endgame from WTF? to FTW!​" presented by Project and Transition Manager Ashleigh Thevenet. Speaking to business people and project managers, Ashleigh will show you how we improve client expectation management through increased transparency via our estimation processes. Both sessions are going to be informative and instructive so be sure to add them to your schedule.

Looking forward to seeing you in Chicago!


Tags: AnnouncementsDrupalDrupal PlanetResources:  Changing Estimation Process Presentation Slides
Catégories: Elsewhere

Mediacurrent: Techniques for Successfully Co-Theming with Others (Theme Team, Go!)

jeu, 13/03/2014 - 15:49

On larger projects it is likely that you be working with at least one other person on front-end tasks. This can be a great learning experience and be helpful to your developers too.
There are several aspects that can make a collaborative project a success. I have broken them down into development tools, techniques, and review processes.

Catégories: Elsewhere

Midwestern Mac, LLC: Announcing DrupalCamp STL.2014 - April 26 in St. Louis, MO

jeu, 13/03/2014 - 14:49

St. Louis is getting ready for its first-ever DrupalCamp! On April 26, 2014, DrupalCamp St. Louis will open up with a keynote by Brad Nowak, a Business Development Manager at Palantir. The Camp will have sessions covering a variety of topics, like Drupal 8 and how your business can benefit from Drupal's flexibility. It will be held at Washington University's West Campus in Clayton, MO, just a few blocks from a MetroLink station and only a few minutes away from Downtown St. Louis!

Online registration is open already, and for the next couple of weeks, earlybird registration is only $15! For that tiny fee you get:

Catégories: Elsewhere

InternetDevels: Git flow - repository operations model

jeu, 13/03/2014 - 11:40

This article deals with a model of work with Git branches called git-flow. It was introduced by Vincent Driessen in his article “A successful Git branching model” and is used in different variations. The general scheme of the model is as follows:

Read more
Catégories: Elsewhere

Four Kitchens: FastClick Drupal module removes 300ms tap delay

jeu, 13/03/2014 - 04:30

Howdy perfers! This week is just a quick note to let you know about a new release for the FastClick Drupal module which provides integration for the FastClick JS library by FTLabs. Drop it on your sites and feel the difference on touch phones!

300ms tap delay makes for slower browsing

Have you ever noticed a delay between when you tap a link or other UI element and when it finally reacts? This is a solution to remove that delay! It is natively removed in newer versions of Chrome on Android, but for all browsers in iOS this library provides a very noticable improvement.

You can read about the history, watch a video that demonstrates the effect, and read the rationale for iOS’s continued use of 300ms delay in this HTML5 Rocks article.

Drupal module provides integration

The Drupal module is slim, but it makes for easy integration by downloading a copy of the library to sites/all/libraries/fastclick and adding the script into the footer area instead of up top in the <head>. The maintainer, Pere Orga, is very responsive to issues and open to discussion for improvements.

Code can be found at

Catégories: Elsewhere

DrupalCon Austin News: Plan your Austin sprint trip

jeu, 13/03/2014 - 01:39

DrupalCon Prague sprints photo courtesy YesCT

DrupalCon sprints are critically important to pushing the Drupal project forward, and are a great opportunity to give back alongside others. You will help bring the code to life.

Schedule your travel to take advantage of the many sprint opportunities going on around DrupalCon:

Catégories: Elsewhere

Darren Mothersele: Dennis Dropin - BDD and Drupal

jeu, 13/03/2014 - 01:00

Last night I attended the Dennis Dropin event on Behavior-Driven Development (BDD) and Drupal. This is a new event on the Drupal London scene hosted by Dennis Publishing.

I've been attending Drupal events in London since 2007, and there have been a wide variety of different types of events. There have been high points, such as Drupal Camp London 2013, and low points (we had quite a lot of Microsoft sponsored events, but one in particular springs to mind where every presentation was also either paid for by Microsoft or about Microsoft technology - I'm not complaining - I have no right to complain as I've eaten enough of their free pizza over the years!). From Drupal Camps, Drupalcon, code sprints, workshops, trainings, and just regular pub meetups, London has a really exciting and active Drupal-scene.

Do we need another event?

Well, if this first event in the series is anything to go by I'd say definitely, yes please! The event took place in the boardroom at Dennis Publishing, so it was limited in capacity, about 25 people in attendance and the room was nicely packed. Paul Lomax, the CTO, did say that they had plans for a bigger space so by July we could see this expand into a bigger event.

I can think of at least three reasons why this event was a success:

  • It really felt like this was Dennis Publishing wanting to give something back to the Drupal community. The two presentations were perfectly matched. The first to motivate reasons for adopting BDD, and the second to give practical examples. There was enough technical detail to be useful, without being overwhelming.
  • Dennis' approach to digital is exemplary, probably due to Paul's leadership. It comes across that the whole team have the right balance of formal process and pragmatism.
  • It seemed like a lot of the Dennis team were in attendance and the experience level of attendees was high. This meant there were some interesting discussions around the presentations too.

The event had a natural split in two parts, which I'd never really considered before, but perhaps others planning events could take into account. Pairing a presentation of motivating business cases with a more technical presentation of practical examples and inner workings.

It was interesting to hear in the discussion alongside the presentations real world cases of how BDD had caught bugs that would have cost them ad revenue or resulted in financial losses if they had made it into production.

I asked about Continuous Deployment and if introducing testing and increased the frequency of deployment. Paul confirmed they had been able to do more regular deployments, but gave a good reason (one I hadn't thought of) for why Continuous Deployment is not viable in a Drupal environment. His argument was that when you do a deployment you have to do a cache clear, and when you do a cache clear you clear the form cache. This kicks out any content editors that might be working on the site so deployments have to be limited and controlled. This lead to some discussion of a growl-like notification system with Node.js to push notifications to content editors logged in to the site.

Another really interesting idea was the integration of visual diff into the Behat tests. This allows them to do a pixel-by-pixel comparison between the staging environment and production to flag up any major changes. A great extra precaution to pick up any bugs that may cause blocks to disappear or display incorrectly.

The next event in the series, Responsive Web design: How Dennis are skinning this cat is scheduled for April 16th. Already 17 people signed up to the Meetup group so I hope I get in!

Catégories: Elsewhere

Drupal core announcements: This Week-ish in Drupal Core: March 12, 2014

mer, 12/03/2014 - 22:42
What's new with Drupal 8?

Two big news items this week for our intrepid testbots! First, RTBC core patches are now automatically retested every 24 hours to ensure they don't go stale and to avoid regressions and commit conflicts. Hooray!! Additionally, the 8.x testbots have been upgraded to PHP 5.4, which means Drupal 8 now officially requires PHP 5.4.2 or above to install. Woot! In addition to this allowing us to remove some legacy cruft regarding magic quotes and other things that are no longer relevant in PHP 5.4, there is also active discussion going on about how best to use 'traits', a new languge feature of PHP 5.4. Upgrade your dev environments accordingly!

Major headway was also made in removing the legacy router system, with the commit of Issue #2107533 by tim.plunkett, dawehner, pwolanin, Berdir: Remove {menu_router} -- a major milestone for the beta release, and anecdotally a big reduction in automated test times -- and Issue #2177041 by dawehner, Berdir, jibran: Remove all implementations of hook_menu. This thankfully resolves a rather confusing situation in alpha 9 where both hook_menu() and hook_menu_links_default() existed at the same time, duplicating each others' code.

Speaking of alphas, Drupal 8 alpha 10 is coming up on March 19! Here's the commit schedule around then:

Drupal 8's migration path is making great headway in the sandbox, and with a two new maintainers and an initial patch to update the migrate API with the latest changes (note: this patch is both huge and needs reviews!) the hope is that the bulk of the Drupal 6 => Drupal 8 migration path will land soon!

And in BREAKING news, just as this was being posted, Issue #2148255 by jhodgdon: Make better D8 api.d.o landing page and put it in Core was committed, which now makes the Drupal 8 API landing page look like this:

Hot damn! Headings and stuff! Of course, now we need to actually write the docs behind those links. ;) If that sounds like a fun way to learn Drupal 8 to you, check out the child issues here:

And finally, headed to DrupalCon Austin? Check out the Drupal 8 extended sprint schedule for DrupalCon Austin and book your travel plans accordingly!

Where's Drupal 8 at in terms of release?

Overall, beta blockers continue on a downward trend, with a big dip over the past two weeks, although beta targets are increasing as various issues get de-scoped from holding up beta1. Missing change records remain relatively flat-lined. It'd be great to have those cleaned up once and for all so we can stop tracking them. :D

In terms of the overall Drupal 8 release, here's what our trajectory on all critical issues across the board looks like:

Last week, we fixed 4 critical issues and 12 major issues, and opened 6 criticals and 4 majors. That puts us overall at 120 release-blocking critical issues and 483 major issues.

2 beta-blocking issues were fixed last week. There are still 36 of 121 beta blockers that must be resolved and 13 change records that must be written before we can release a Drupal 8 beta.

Where can I help? Top criticals to hit this week

Each week, we check with core maintainers and contributors for the "extra critical" criticals that are blocking other work. These issues are often tough problems with a long history. If you're familiar with the problem space of one of these issues and have the time to dig in, help drive it forward by reviewing, improving, and testing its patch, and by making sure the issue's summary is up to date and any API changes are documented with a draft change record.

  • [meta] CMI path to beta has several really thorny child issues that are the most likely to hold release of beta 1, so all hands are needed on deck to help move these issues forward. The most important issue at the moment is #2201437: [META] Config overrides and language. Help by reviewing the sub-issues and the overall proposed architecture.
Notable Commits

The best of git log --since "2014-02-21" --pretty=oneline (197 commits in total):

In addition to the commits mentioned at the opening paragraphs, here are other big things folks have been working on:

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

Blog posts about Drupal 8 and how much it's going to rock your face.

Drupal 8 in "Real Life"
  • March 24 - 30: Drupal Developer Days Szeged is coming up fast! In addition to many other sessions and sprints, you'll find Drupal 8 Module upgrade workshop as well as a sprint to get beta 1 out the door. Come join the festivities with some of the top Drupal 8 contributors!
  • Mar. 28 - 30: If you'd like to collaborate with DevDays Szeged sprinters, but are looking for something in the western hemisphere, check out MidCamp. MidCamp is March 28-30, and there may also be a pre-sprint March 26-27. Contact ZenDoodles for more information.
  • April 10 - 13: A bit further out, NYC Camp looks to also be a large Drupal event with a Drupal Core Summit and a variety of Drupal 8 sprints.
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.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. Contact xjm if you'd like to help communicate all the interesting happenings in Drupal 8!

AttachmentSize Screen Shot 2014-03-12 at 1.59.39 PM.png113.68 KB better_beta.png30.38 KB feb_outstanding.png25.21 KB
Catégories: Elsewhere frontpage posts: It was fun GCI, Welcome back GSoC

mer, 12/03/2014 - 20:07

Our awesome community recently became a bit more awesome. Drupal was accepted into Google's Summer of Code 2014! Student applications started March 10th and are open until March 21st. It's not too late to become a student, mentor, or submit a project idea. Not available to join the GSoC fun...maybe you can send an email to your alumni university mailing list?

Did you know Drupal recently participated in Google's Code-In contest for high school students aged 13-17 and they contributed over a hundred tasks? For example, did you see the Drupal 8 Theme Cheat Sheet @ (desktop background version @ or the Drupal 8 Hello World module video @ ? Maybe you recently utilized to find content updated for Drupal 8 by GCI students and watched the video on how to contribute back to the ladder @ ? Most importantly it is exciting to note that Drupal gained several Drupal 8 core contributors under the age of 18.

This is a special year as it is the 10th anniversary of Summer of Code and our community is excited to engage in the fun. In an initiative to spark participation, we contacted every single one of Drupal's alumni students along with the mentors of past GSoCs to contribute in the 2014 festivities. As a result Drupal organized almost fifty project ideas from mentors and companies around the world. We filtered the list into just under thirty compelling ideas and submitted a solid application. We're still welcoming project ideas, but we need dedicated mentors to help write applications with students and of course work with them all summer.

How to be a Drupal GSoC student in 10 Steps

  1. Register an account @
  2. Join Drupal's group for Summer of Code @
  3. Find a project on our ideas page @

    • Add your name as an interested student to project idea

  4. Contact mentors listed on project idea via contact page

    • If you don't hear back after 48 hours, try creating an issue in issue queue for project and contact org/mentor
      admins (Slurpee, Slashrsm, Varunity)
    • Office hours are listed below if you still can’t contact a mentor or admin

  5. Complete "Drupal Ladder for GSoC Students" @

    • Completing additional ladders will help your application!

  6. Utilize to find issues to work on with mentors willing to help
  7. Test and reroll patches in issue queue
  8. Write a patch that is contributed into Drupal 8 (making you a “core contributor”)
  9. Become a maintainer of the project you're planning to work on by contributing code/patches/tests/documentation
  10. Hangout in #drupal-google @Freenode helping other students

10 tips for writing student applications

  1. Treat this as a real job, would any software company actually pay you to work on this project all summer?
  2. Demonstrate your ability to contribute to Drupal and that you can immediately start producing code from day one of GSoC
  3. Create a complete project plan broken down by every week of GSoC
  4. Document and diagram the workflow of user experience
  5. Create wireframes/mockups of UI and UX (
  6. Research and contact initiatives looking to accomplish related tasks
  7. Plan out your “support contract”, do you plan to stay in the Drupal community after GSoC (example, how long will you support/update your code for the community after GSoC?)
  8. Explain your workflow for project, time, and task management (a tool such a Basecamp or Trello?)
  9. Describe your methods, tools, and frequency of communication with mentor for collaboration in a virtual environment (g+ hangout twice per week?)
  10. Request mentors and helpers in #drupal-google to review application via Google Drive with comments enabled

10 tips for mentors to help students write applications

  1. List a project on our ideas page @
  2. Review the “Drupal Ladder for GSoC Students” to learn student prerequisites
  3. Update any of the Drupal Ladders to help students learn faster
  4. Respond to interested students that contact you via contact page

    • Please respond within 48 hours

  5. Test and review patches from students
  6. Facilitate contact with discussion between student and module maintainer of projects of interested student
  7. Create a project plan and timeline that student agrees on with specific deliverables, understanding you may need to fail student at midterm or final
  8. Review Google/Melange’s guide on being a mentor (non-Drupal stuff) @
  9. Contact Drupal’s org admins (Slurpee, Slashrsm, Varunity) if you have any questions
  10. Hangout in #drupal-google answering student questions

Drupal’s GSoC Office Hours (help in real time!)

Mentors are available on IRC in #drupal-google @Freenode thrice each weekday for one hour from March 10th until March 21st. Join us in real time at scheduled times below to chat with mentors in real time to ask questions, request application reviews, or simply hangout.

  • Asia/Australia 04:00 - 05:00 UTC (IST 09:30-10:30)
  • Europe 13:00 - 14:00 UTC (CET 14:00-15:00)
  • Americas 18:00 - 19:00 UTC (PDT 11:00-12:00)

Contributing to Drupal

Did you know many successful students started with zero Drupal experience prior to GSoC? If new to Drupal and willing to contribute, come to participate in core contribution mentoring. It helps anyone without any experience to get started with Drupal contribution development. Google wants to see students contributing to organizations prior to the starting of their GSoC project and this is a chance to demonstrate your skills. Office hours provide a chance for students that have problems with their patches or can't find issues to work on to seek guidance. Create an account at before you participate in core mentoring. Drupal core contribution office hours are Tuesdays, 02:00 - 04:00 UTC AND Wednesdays, 16:00 - 18:00 UTC. If you need help outside of office hours, join #drupal-contribute to chat with the community members willing to assist 24/7.

Details about core mentoring office hours @ and More information about contributing to Drupal @ and

Final notes from Google to Students

We are pleased to announce that we are now accepting applications from students to participate in Google Summer of Code 2014. Please check out the FAQs [1], timeline [2], and student manual [3] if you are unfamiliar with the process. You can also read the Melange manual if you need help with Melange [4]. The deadline to apply is 21 March at 19:00 UTC [5]. Late proposals will not be accepted for any reason.

[1] -

[2] -

[3] -

[4] -

[5] -

AttachmentSize GoogleSummer_2014logo_avatar (1).png60.14 KB
Catégories: Elsewhere

Drupal Association News: Guest Post: Why Olympus Gives Back to Drupal

mer, 12/03/2014 - 16:43

Over the past few months, I've had conversations with Megan Sanicki and Joe Saylor at the Drupal Association. From them, I’ve learned that the Drupal Community is expansive, diverse, authentic, transparent, creative, ever-growing, and needs you.

Don't know who Megan and Joe are? Then keep reading, because this post is for you.

Catégories: Elsewhere

Appnovation Technologies: PACE Yourselves

mer, 12/03/2014 - 16:29
A quick and easy introduction to Drupal's PACE module. var switchTo5x = false;stLight.options({"publisher":"dr-75626d0b-d9b4-2fdb-6d29-1a20f61d683"});
Catégories: Elsewhere

Microserve: When to use $query->fetchAll() (hint: it's optional)

mer, 12/03/2014 - 14:40

Something that has come up on one of our projects recently is when to use fetchAll() or equivalents like fetchAllAssoc().

When writing a db_query() or db_select() query, you don't always need to use $query->fetchAll() or $query->fetchAllAssoc() to retrieve the result set; it's optional.

Database queries in Drupal 7 are iterator objects, so you can treat them like an array and loop over the results with foreach(). If you're going to do any processing on the results, it'll be quicker and use much less memory this way.

So for example, this will still work, note the lack of fetchAll():

// Build and run the query.
$results = db_select('node', 'n')
           ->fields('n', array('nid', 'title'))
           ->condition('status', 0, '!=')

$nodes = array()
// We can use a foreach loop on the $results object.
foreach ($results as $n) {
  // Each $n is an object.
  $nodes[$n->nid] = $n->title;

If you need the result as an array, you can use $results->fetchAssoc() to retrieve one item at a time:

// Build and run the query.
$results = db_select('node', 'n')
           ->fields('n', array('nid', 'title'))
           ->condition('status', 0, '!=')

$nodes = array()
// We can use a foreach loop on the $results object.
while ($n = $results->fetchAssoc()) {
  // Each $n is an object.
  $nodes[$n['nid']] = $n['title'];

One common use-case for using fetchAll() is so you can use count($results) to find out how many items were returned by the query. To get around this, you can use a count query instead. So:

// Create the query, but don't execute it yet.
$query = db_select('node', 'n')
         ->fields('n', array('nid', 'title'))
         ->condition('status', 0, '!=');

// This runs a COUNT(*) query to count the number of results.
$count = $query->countQuery()->execute()->fetchField();
// Now run the original query and return the result set.
$results = $query->execute();

More details can be found in the DatabaseStatementInterface API documentation, or in the PHP PDO manual.

Catégories: Elsewhere

Pronovix: My first iOS training at Drupalcamp London

mer, 12/03/2014 - 09:58

I have been a developer at Pronovix for over 2 two years now. During this time I was either developing a .NET based web service or iOS applications, but what they all had in common was that they were communicating with a Drupal site. I was always on the dark side of Drupal until last week, when I attended my first international Drupal conference ever: Drupalcamp London

Catégories: Elsewhere

Deeson Online: DrupalCamp London session: Concurrency in Drupal

mer, 12/03/2014 - 08:22

On March 1, I attended DrupalCamp London as a speaker. It was my first time running a session, but my training topic, Concurrency in Drupal, turned out to be a popular choice!

What is Concurrency in Drupal?

Concurrency in Drupal is the description and demonstration of making migrate faster. You can learn more about it in a previous blog of mine.

The session

During my half-hour session, I covered the basics of:

  • Why concurrency makes programs faster and;
  • How to wrapper drush and migrate to make it execute in parallel.
The presentation

The wisdom of the crowd

The great thing about DrupalCamps are the discussions that take place - and there was an interesting debate after my session where the conference delegates described other approaches to solving the problem.

For example, a number of participants liked the ‘brave’ live demo which showed a migration first taking two minutes with one process, and dropping to around 20 seconds with eight processes.

Would I do it again?

Actually, yes. I would.

All in all, it was a good first 'Drupal session' experience - so if you have discovered something of interest to share with the community, I'd recommend you give it a go!


Read moreDrupalCamp London session: Concurrency in DrupalBy John Ennew | 12th March 2014
Catégories: Elsewhere