Posted by Chris Charlton on August 15, 2009 at 10:22pm
Last updated by greggles on Wed, 2010-03-31 16:06
Last updated by greggles on Wed, 2010-03-31 16:06
THIS WIKI PAGE IS A WORK IN PROGRESS
In helping with LA Drupal's D7 Code+Test Sprint event, I noticed there's some easy points that help newbies feel progressive. There are many ways to help at a Code+Test sprint, and here are the ways that helped us in Los Angeles.
- Make sure you have a Drupal.org account, with "Contributor links" turned on in your profile. This will expose a sidebar block linking to areas of interest for contributors. For example: "Patches to review (D7)" is what most people click on to find patches needing review.
- Appoint or clarify who will be leading the issues to be worked on. We used IRC chat to post links up, but we also used a whiteboard to catalog the important issue (nodes) and who is working on them. Having numbers on the board with names prevents loosing order when a laptop crashes and kills the IRC conversation.
- Separate those who need to get setup from the crowd ready to code. Helping get a group of people started at the same time is a better use of time than helping people one-by-one during setup.
- Outline a proper test strategy. Instead of waiting for someone to ask what they should work on, have a proper outline set for beginners. Make it a simple list, and review the list in a group.
- Make sure PHP has enough memory for Drupal development. Software like WAMP and MAMP have low PHP memory settings (8-16MB), and when developing for Drupal more memory will be required. Changing this setting is done by editing your "php.ini" configuration file and restarting Apache once php.ini is updated (MAMP Pro does it differently than the MAMP free edition). Recommendations: 64MB minimum; 128MB for developers; go higher if you are a crazy person.
- Drupal 7 should be checked out via CVS, not downloaded manually (via FTP or a download link). Why? The CVS meta info is needed to properly track any changes made. You want this.
- Drupal SimpleTests automatically enable modules needed for testing. You do not need to enable modules manually, unless you are testing an interface/interaction change that absolutely requires a human to click on things.
- Patch files can be downloaded anywhere on your machine, to your Desktop or inside the root folder for Drupal. It won't matter because you will be deleting the patch file after testing it out.
- Beginners should dig into issues that are marked critical, favorite-of-dries, testParty08 (old bugs we really need to squash), and of course only issues listed for Drupal-7.x. Also, it is recommended to review patches that do not have a lot of comments... why? well, do you want to sit and read 114 comments to only be more confused? No. When an issue has a low number of comments, it will be easier to digest the issue and there is a less likely chance there would be more than one patch to review on the same issue. Make progress, not delays.
- Test a patch needing review - no coding required, but you will need to checkout Drupal via CVS (through GUI software or Terminal command-line), and get used to: (1) downloading a patch (by hand or through Terminal), (2) applying the patch (through software or Terminal), and then (3) test the patch (via SimpleTest interface in Drupal 7). If the tests pass or fail (after patch is applied to Drupal core), then you post your findings online in the issue node you grabbed the patch from. Let people know if it worked fine, worked a little, or didn't work at all. Some GUI software allows applying of patches easily (and free; like Eclipse). TortoiseCVS does not offer an "apply patch option" as of this writing. Commercial software like TextMate & SimpleCVS can apply patches, but these require a purchased license of course.
- Create new patches - coding required (PHP), Drupal checkout via CVS required, and review the issues marked "needs work" as those are the ones that need a new patch or just a fix to a patch. Adding new SimpleTests is always welcomed for Drupal core.
- Be a test-buddy - if you are still getting comfortable with helping enhance Drupal core, then partner up with someone in the same boat or better. There is nothing better than learning with someone, versus alone.