Important: General requirements (for all SoC Projects!)
For each and every Drupal SoC project, there are certain requirements that must be met. If you think your project is an exception, speak to your mentor(s) about it—otherwise, assume that everything here applies to you.
|
Requirement |
Overview |
Further reading |
|---|---|---|
| Sharing code: CVS | If accepted to SoC, you'll be given a CVS account, and it's expected that all of your work takes place in your project's directory. This will be used for tracking SoC activity, so it's imperative that you keep your work up to date. As part of being open source, the source needs to be, well, open. CVS is the Drupal way of managing vast amounts of code. All work must be licensed as GPL. | Note: Don't apply for a CVS account just yet. If you are accepted, you will be given one. CVS introduction |
| Drupal 6 (or greater) | Development should take place against Drupal 6 (or possibly HEAD if it's something for core). You may need to update some code to Drupal 6 if your project involves integration with existing modules. Coder module is a handy tool for this, and does a great job of identifying code that needs updating. | Converting modules to 6.x documentation |
| Coding standards | Coding standards are an important part of Drupal. If you comply with coding standards, your code will be much more readable to others; also people will be more inclined to help you if your code "sings". :) Although there are a lot of details, you can usually get by for starters on the philosophy of a two space indent. See also the Coder module, which can automatically test your code for coding standards compliance. | Coding standards documentation |
| Automated tests | Automated testing is crucial to ensure the quality of any software product. Drupal's policy is growing more and more towards automated testing using the SimpleTest framework and corresponding drupal module. Each SoC task should include SimpleTests; it saves everyone a lot of time testing to make sure things work properly, and more often than not catches a few bugs in the process. | SimpleTest documentation |
