how to contribute drupalcon
TRANSCRIPT
How to Contribute to Drupal
A guide for everyone from newbie to ninja
Something to keep in mind...
Open source users
Spoiler: You want to be part of that 2%.
And well bend over backwards to help you get there.
Whats your sign?
Newbie
I feel like I spend more time reading documentation and asking for help than I do making progress.I find many aspects of the system daunting and confusing.
Your mission:
Help other newbies not bash their heads against the same stuff you had to.
User
I generally know how to do things; for example, creating content, turning modules on and off.Can setup modules, blocks, content, menus, used a snippet or two.There are still lots of areas of Drupal I havent explored yet, but Im starting to get the gist of how it works.
Your mission:
Guide and mentor the newbies to get them out of the frustrated place.
Site Builder
Ive built at least one Drupal site.Im comfortable experimenting around with contributed modules.I know enough PHP to customize snippets, and can sometimes even get the gist of how the code works if I stare at it long enough.
Your mission:
Provide from the trenches information to developers.
Developer
I know PHP.Ive written a module or two.Ive moved beyond snippets.Core scares the heck out of me.
Your mission:
Make Drupal more awesome!
NinjaIve contributed modules and patches, and helped test and review other peoples patches.Im not scared to poke around in core code to figure stuff out.Ive written code that has gone into Drupal core.Ive found myself saying, Thats not the Drupal way to do that.
Your mission:
Turn developers into fellow ninjas.
How can you help?
Ways that anyone can contribute...
Advocacy
Like Drupal? Tell other people!
Translations
If you know a foreign language, this is a great way to contribute.I dont actually know how, but there are lots of people here that do. ;)
Graphics
Know how to draw? We could use your expertise!- Promotional materials- GPLed artwork- T-shirt designswhatever.
$$$
Money helps pay for infrastructureand putting on awesome events like this!
Ways that newbies can contribute...
Report problems with documentation.
Post a documentation bug, or at least a comment on the page.
Provide usability feedback.
If something is totally confusing to you, chances are it *is* totally confusing and were just used to it.If possible, annotated screenshots.
Example
Module list in 4.7.x
Module list in 5.x
Ways that users can contribute...
Remember: if youve ever *installed* Drupal, you already know more than someone else.
Help out with user support.
Support forums, #drupal-support, support mailing listYou both solidify your own knowledge and help others.Get a never-ending supply of clients. ;)
Improve documentation
Who here thinks that Drupals documentation could be improved?Ok folks, lets head to Drupal.org and post a documentation issue!
How to help with documentation
Join the Documentation Team
Create new pages
Improve/fix text
Roll-in comments
Hands-on: Lets join the docs team! :)
Issue queue house-cleaning.
Mark duplicate issues duplicate, see if bugs are still bugs.Helps get you familiar with the module/coreMaintainers *really* appreciate this... you want them on your side.
Ways that site builders can contribute...
File feature requests.
Make a mock-up
File bug reports.
Know difference between this doesnt work and I dont know how to do thisThis can save you both time and money.
Bad bug reports
Its broke.
OMG!1! READ THIS!1!
You suck.
Good bug reports
Search first.
What did you do?
What did you expect to happen?
What happened instead?
What did you do == Steps to reproduce
Testing and reviewing patches.
Patch bingo
What is a patch?
Index: modules/book/book.info===================================================================RCS file: /cvs/drupal/drupal/modules/book/book.info,vretrieving revision 1.4diff -u -p -r1.4 book.info--- modules/book/book.info8 Jun 2007 05:50:53 -00001.4+++ modules/book/book.info22 Jul 2007 16:54:33 -0000@@ -1,6 +1,6 @@ ; $Id: book.info,v 1.4 2007/06/08 05:50:53 dries Exp $ name = Book-description = Allows users to collaboratively author a book.+description = Allows users to structure site pages in a hierarchy or outline. package = Core - optional version = VERSION core = 6.x
Bad patch reviews
+1
I havent read the issue, but...
I havent tested the patch, but...
Good patch reviews
Describe what you did.
Describe your results.
Give your opinion about what this means, based on experience, background, etc.
Be as nit-picky as possible (within reason ;)).
Tools of the trade
cvs checkout drupal
http://drupal.org/node/320 & 321
patch -p0 < patch.patch
http://drupal.org/patch
Demo: Lets test a patch!
Ways that developers can contribute
Mission: Make Drupal more awesome!
Help with developer documentation.
api.drupal.orgLike the newbie, you are in a great position to spot places where developer docs are confusing.
Contribute modules and themes.
Steps to becoming a code contributor
Search first.
Apply for a CVS account.
Check-in your code.
Create a project.
Maintain your issue queue. ;)
Make sure your contribution is unique.Always better to work with maintainers -- only fork when absolutely necessary
Create patches.
Tools of the Trade
Coding standards
http://drupal.org/node/318
cvs checkout drupal
cvs diff -up > patch.patch
drupal-actions-usability-cleanup-172773-81.patch
Thick skin ;)
Remember: criticism is about the code, not about the coder.
Demo: Lets create a patch!
Ways that ninjas can contribute
Mission: Create more ninjas.
Mentor new developers.
Drupal DojoSummer of Be patient
Organize development efforts.
Lend your experience/expertise.
Help maintain drupal.org.
Wow, this sounds like an awful lot of work.
Why should I bother?
I just want to make a website here.Why should I care about this mess of stuff?
Open source is a meritocracy.
Karma is the official currency.
Your opinions are taken more seriously when you have contributions to back them up.People with lots of karma tend to get their questions answered.
Saves time and money.
Support questions get answered faster.Someone comes up with a patch for you.Someone fixes bugs before you have the chance yched/CCK
Gets you more business and attracts better people.
Smart customers want to invest in the platform.Developers who are invested in the platform want to go with a company where they know their work will be used by others.
It means easier maintenance for your sites.
no need to fork Working directly with community to get the changes you want.
Makes you a better programmer.
Many eyes on code
Gives you direct control over the direction of project.
Open source != vendorUse that to your advantage.
Questions?