GSoC 2011 Student Proposal Template

Events happening in the community are now at Drupal community events on www.drupal.org.

Who: who are you and how can we contact you? Please provide a name, an email address and some IM access. As Drupal uses the Freenode IRC network, if you have a nickname there please let us know.

Have you contributed to a open source project before? if yes, please provide the details.

Why do you want to do a project involving Drupal?

Overview: This is a template for what proposals should look like. This brief overview should give a basic idea of what the project is about. 2-3 sentences should be fine.

Description: Here, we can put a longer description of what this project is. We can discuss possible implementations, things to build upon, things to look into, things to research. Examples are excellent; for example, an example use case. Try to explain why this is an interesting, fascinating, awesome project sure to grab a student's attention. Make sure and list the ways in which Drupal does not address this topic, show that you have done your research in terms of where other existing projects may overlap. The more detailed the better.

Schedule: what is your schedule during this time period? And what’s the schedule of the project? Weekly milestones are great.

Mentors: if you already know who is / are your mentor(s) please list them here.

Puzzle: Summer of Code is a bit short to learn PHP during it. To prove you know the language somewhat, please give one solution (there is more than one) to this question: If we know that isset($a) === empty($a) then what $a could be?

Links: we ask you to create a discussion in the group http://groups.drupal.org/google-summer-code-2011 with a copy of the project description so the community can chime in. Also to see you have some basic knowledge of the tools you will use, please create a sandbox project on Drupal.org and add a .info file to it. Detailed steps:

Sandbox project instructions

  • Get a git account create a sandbox
  1. Anyone with a Drupal.org user account can turn on Git access for his or her account.
  2. Navigate to your user profile and click the Edit tab > Git access sub-tab.
  3. Specify your Git username in the Desired Git username field.
  4. Once selected, this value can never change, so choose wisely! It will form the basis of URLs for your sandbox projects.
  5. Read carefully the terms of use for Git access (inlcuding the linked resources), select I agree, and click Save. If prompted to confirm your Git username, click the Confirm button to continue or click Cancel to go back and change it.
  6. Upon completing this form, Git user configuration information appears on the page. For more information about how to use the commands displayed, see identifying yourself to Git.
  7. You should now be able to access the Create project form and create your project.
  8. Once you create your project, all the instructions tailored to your repository, including your sandbox url, are given on the git-instructions tab. Some explanation is given below.
  • Commit a test project:
  • Create your repository on Drupal.org

    1. Create a directory on your computer and change into it:

      mkdir [project_name]
      cd [project_name]

    2. Next, initialize the repository. This adds the .git directory, subdirectories and files that store your repository data.

      git init

    3. Then, add files to your repository. Use the sample command (or an editor) to create a project_name.info file.

      echo "name = [Human Readable Project Name]" >project_name.info

    4. Let's make the repository on Drupal.org the default remote repository we pull from and push to. The command to do this is called "git remote add" and it takes two arguments, the first is the name we will use in our push and pull commands for this repository and the second is the actual repository URL. It's practical to make the first argument "origin" because push and pull both defaults to that name. The second argument looks like 'ssh://[username]@git.drupal.org:sandbox/[username]/[123456789].git'.

      ssh://[username]@git.drupal.org:sandbox/[username]/[123456789].git

      Again, you can find all the instructions tailored to your repository on the git-instructions tab of your project.

    5. Finally, put your code on Drupal.org. Git commits are a little bit like the Ready, Set, Go of running a race. You get ready by staging your files with 'git add', get set by committing the files in your local repository with 'git commit', and go when you push your changes to the remote server with 'git push'.

      git add project_name.info
      git commit -m "Initial commit."
      git push origin master

  • Submit your proposal and add a link to the sandbox of your project, and include your solution to the puzzle above.
  • Google Summer of Code 2011

    Group notifications

    This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: