Last updated January 14, 2017.
Claiming a task
You can claim a GCI task, for Drupal at Drupal's Google Code-In page. You'll get the most out of the program if you choose tasks that interest you the most.
Once you claim a task, please create a drupal.org account if you do not have one. If you are working on a task, assign the corresponding issue on drupal.org to yourself (if any). This lets us know that you're working on it. Please post all your work on Google Code-In website.
Contacting your friendly mentors
We're here to help you! You can find your mentor on the issue queue, on IRC, and/or by using their drupal.org contact form. You can also ask questions on IRC or the issue queue that aren't directed at your specific mentor - other people are eager to help you as well. The most relevant IRC channels are #drupal-google (the main GCI channel for Drupal), #drupal-contribute and #drupal. For more information about IRC, please see the "Using IRC" section below.
Using the issue queue
The issue queue is central to the work process on drupal.org. Every bug, task, feature, or patch has its own unique issue. Most of the tasks on Google Code-In website, we provide links to the corresponding drupal.org issue(s). That issue is dedicated to the completion of that task, and you can post any thoughts or work there for feedback or review. Please see http://drupal.org/node/317 for full documentation on how to use the issue queue.
IRC is an online chat protocol that we use to communicate with each other. You can either install an IRC client, or you can access IRC from the web at http://webchat.freenode.net/. We will be using the #drupal-google channel for GCI related discussions, and mentors will be around in that channel to answer any questions you may have. Our other main channels are #drupal and #drupal-contribute, which you can also try if no one is answering in #drupal-google. For full information about IRC, please see http://drupal.org/irc.
Adding Google Code-in as your organization
Once you created your Drupal account, go to Edit --> Work and add "Google Code-In" as your Organization and "Student" as your Job Title. This will allow you to attribute your contributions to Google Code-In. To do so, you will need to add Google Code-in as your organization in your comments on drupal.org. Remember that you must do this anytime you contribute to the community as part of GCI program.
- YouTube Channel: Drupal's Google Code-In Videos
- Drupal coding standards - all tasks that involve writing code should comply with these standards.
- Drupal UI standards - all tasks related to the user interface should keep these standards in mind.
- How to apply patches - useful if you need to apply a patch.
- How to create patches - useful if you need to create a patch.
- Drupal online documentation - people have spent a great deal of effort creating and polishing a comprehensive online handbook - chances are, if you're stuck you can find something in here to help you!
Getting Started Guide
Refer Google Code-In handbook for general instructions regarding the program. This guide contains instructions and suggestions for new students to get started with Drupal. The Drupal Cookbook is a beginner’s guide which explains the common Drupal setup and also what Drupal is. To find out more about Drupal, you can refer to the About Drupal page.
Before you start contributing to Drupal, it’ll be helpful to know certain guidelines.
- If you want to start contributing code, here are few things you must know: Community Development Guide
- Did you knew that you can contribute to Drupal even without having to write a single line of code. Follow this link to get started: Community Documentation Guide.
- Use Community Theming Guide to understand how to modify the look and feel of Drupal.
- When you start contributing code, your patches must adhere to the Coding Standards. If you follow these standards in your code, it’ll save a lot of time for you as well as the mentors. Also, keep in mind to follow the Best Coding Practices.
- Writing secure code is one of the major concerns when contributing to a project like Drupal. Following are some resources to help you write secure code:
- If you want to dive into the Drupal APIs, you can check out API Reference.
The first thing that probably you’ll want to do in order to start contributing to Drupal is to setup a development environment. There are lots of guide available on the internet on how to setup a development environment but for all tasks related to GCI, Installing Drupal yourself is the best option. In order to do that, download Drupal, put it in your server directory, open the Drupal directory in browser and follow the instructions to install the site.
The first step in getting involved is to register on Drupal.org. After you registered, you may want to become a 'confirmed' user to get rid of some limitations. You can also join relevant Drupal groups, for example join Google Code-In for updates regarding this program. Also check out the ways you can help.
To get started, you are encouraged to go through the Getting Involved Guide. Most easy way to get help is to join an IRC channel. You can join `#drupal-google` channel which our dedicated channel for GCI. You can also ask your queries `#drupal` or `#drupal-contribute` channel where more people can answer those. For further instructions and details about all the channels, you can refer to the IRC handbook.
New Contributor Tasks
Before you start diving into the issue queue to solve complex problems, its a good idea to complete New Contributor Tasks. These tasks are designed in a way that they are interesting and take very less time to complete.
- New contributor tasks: Anyone
- New contributor tasks: Non-English language speakers
- New contributor tasks: Programmers
- New contributor tasks: Writers
- Reference information for New contributor tasks
If you want a mentor (not necessarily GCI mentors) to help you solve an issue, join
Once you’ve completed the new contributor tasks and/or attended core mentoring sessions, and feel that you are comfortable with basic Drupal development, its time to solve some real issues. Read Novice contribution guide to get started or select an issue from the list of Novice issues.
If you’re facing some issues with git and/or patches, following links might help you:
- IRC to communicate with the community.
- Drupal uses Git for version control. Refer to Git documentation to know how to download, install, and configure Git, and how to contribute your own code to Drupal.
- Text editors and IDEs:
- Drush is a command line shell and Unix scripting interface for Drupal. It provides lots of useful commands for interacting with code like modules/themes/profiles, updating database, clearing cache, running cron etc.
- Dreditor is browser script that provides multiple applications/helpers for Drupal.org. The script makes reviewing patches very easy and intuitive, among other things. Its available for Google Chrome, Firefox and Safari.
- Coder is a fantastic tool that checks your Drupal code against coding standards and other best practices.