Contributing to the Odoo Community Association (OCA)
1. Contributing to the Odoo Community Association (OCA) © Gary Larson
2. 2 / www.camptocamp.com / Come and talk with us at the OCA Booth © Gary Larson
11. 11 / www.camptocamp.com / Our Continuous Integration tools © Gary Larson
13. 13 / www.camptocamp.com / Code Reviews © Gary Larson
18. 18 / www.camptocamp.com / Becoming a member © Gary Larson
4. 4 / www.camptocamp.com / How can you get involved? ■ Follow us ■ Test and review and use our modules ■ Submit code and documentation ■ Become a member
8. 8 / www.camptocamp.com / The CLA ■ Gives some rights to the association over your contributions ■ The OCA is committed to open source by its by - laws ○ The association is allowed to relicense your contributions, but only to an OSI approved license ■ We have some CLA forms on the OCA booth
14. 14 / www.camptocamp.com / Reviewing a PR (1/3) ■ Check travis status ○ If red, figure out why (failure unrelated to the PR, flake8 issue, broken test...) ■ Read the information available to understand what the PR does ○ Commit message, README file... ○ If not clear ask the submitter for more information
6. 6 / www.camptocamp.com / Participate ■ Test the modules ○ You can use http://runbot.odoo - community.org/ ■ Create a github account, and use it to report issues ■ Test and review pull requests ○ The runbot makes this easy
16. 16 / www.camptocamp.com / Reviewing a PR (3/3) ■ Check the OCA coding conventions ■ Watch for issues for which we have no checks for now ○ Programming errors, bad API usage ○ Obscure code ○ Missing translations ○ ... ■ When happy, say :+1:
3. 3 / www.camptocamp.com / What is the OCA ? ■ A not for profit organization ■ http://odoo - community.org/ ■ Serves as umbrella for 105 github projects ○ https://github.com/OCA/ ○ Each hosting several Odoo addons ○ Development shared across 67 teams
7. 7 / www.camptocamp.com / Propose documentation and code ■ You'll need to sign the Contributor License Agreement (CLA) ■ Make Pull Requests on the projects ○ Watch for the output of the CI tools ○ Wait for reviews, and discuss with the reviewers, improve your code ■ Try to keep a good submitted PR / reviewed PR ratio ○ Just submitting code and never doing reviews is abusing the ecosystem
15. 15 / www.camptocamp.com / Reviewing a PR (2/3) ■ Connect on runbot and try to use the module ○ Comment on usability issues on the PR ○ Include screen shots (easy to do on github) ○ Check for corner cases you can think of ■ If you are able to do this, check the code ○ Watch for untested places in the code ○ Think of other modules you know, and how this one will interact with them
9. 9 / www.camptocamp.com / Coding conventions ■ Our coding conventions are documented in OCA/maintainer - tools ○ In the CONTRIBUTING.md file ○ There's a direct link from the OCA web site ■ Built on Odoo's official recommendations ○ With some added requirements ○ With some relaxed requirements
19. 19 / www.camptocamp.com / Becoming a member ■ It is not required to be a member of the association to be a contributor ■ Still, it is nice to support the association ○ Membership is for individuals only (no for - profit companies) ○ Your membership fees help cover for the runbot server costs, code sprint organisation costs... ○ https://odoo - community.org/shop
5. 5 / www.camptocamp.com / Follow us ■ The web site ■ The blog https://odoo - community.org/blog/news - 1 ■ Twitter @OdooCommunity ■ The contributors mailing list ■ https://odoo - community.org/groups/15
12. 12 / www.camptocamp.com / Our Continuous Integration tools ■ Each PR is processed by TravisCI ○ Syntactatic / formatting checks with flake8 and pylint ○ Install the addons ○ Run tests using the odoo server facilities ■ For most repositories, PRs are also processed by the OCA runbot ○ This can be used to test the addons interactively ■ Demo: https://github.com/OCA/partner - contact/pull/126
17. 17 / www.camptocamp.com / Proposing a new project ■ You feel something is missing in the OCA landscape ○ Did you really check everywhere? ○ Ask on the contributors mailing list ○ Ask on Odoo community mailing list too ○ Gather people wanting to work on the topic ○ https://odoo - community.org/page/suggest - a - project
10. 10 / www.camptocamp.com / Github cheat sheet: making a PR $ git clone firstname.lastname@example.org/OCA/hr $ cd hr $ git remote add work email@example.com/ account /hr $ git checkout - b 8.0 - fix - stuff origin/8.0 # write code and tests, run tests until green $ git add - p $ git commit $ git push work Then browse to https://github.com/OCA/hr and click on the submit PR button
- 7002 Total Views
- 302 Website Views
- 6700 Embedded Views
- Social Shares
- 0 Likes
- 0 Dislikes
- 0 Comments
- 0 Facebook
- 0 Twitter
- 0 Google+
- 14097 odoo-community.org
- 4 www.odoo.com
- 14 www.odoo-community.org
- 18 translate.googleusercontent.com
- 6 test.odoo-community.org
- 1 ip.city
- 2 oca.therp.nl
- 2 onlinesync.odoo.com
- 3 odoo10.odoo-community.org
- 2 webcache.googleusercontent.com
- 1 cn.pling.com
- 1 www.osehra.org
- 1 mysql.com
- 1 www.iana.org
- 4 oca11.tecnativa.net
Keynote: Odoo 9 New Features42053 Views .
Odoo Mobile Development Framework & App build with it17577 Views .
Import and export data - Tips & Tricks13757 Views .
How A/B testing can help you optimize your website12379 Views .
Open Source Licenses12255 Views .
Odoo 9 New Design- The rationales behind it11838 Views .
Performance Tips & Tricks8811 Views .
Shipper integration - UPS, DHL, FedEx8498 Views .
Introduction to Odoo Warehouse Management7541 Views .
UX best practices to create your module6723 Views .
Keynote: Odoo Strategy 20156703 Views .
How to use Odoo in a Restaurant6288 Views .
VOIP: One-click Button to Automate Calls5954 Views .
How to develop new views in Odoo 105887 Views .
Odoo 9: New Business Model5886 Views .
Odoo cms Performance Comparison and Optimisation5862 Views .
State of the Odoo JS framework5683 Views .
How to use Odoo in a service company5306 Views .
First steps in Odoo dev5071 Views .