SlideShare una empresa de Scribd logo
1 de 24
Contributing within OCA projects
Alexandre Fayolle
2014-06-04
2/24www.camptocamp.com / 2014-06-04
Introductions
■ Alexandre Fayolle aka @gurneyalex (twitter, GitHub)
aka agurney (irc, Bitbucket)
■ OCA : OpenERP / Odoo Community Association
○ http://odoo-community-association.org/
2014-06-04
3/24www.camptocamp.com / 2014-06-04
OCA goals
■ Help and promote the collaborative software development of Odoo;
■ Encourage the development of Odoo and its features while
coordinating and organizing the collaborative work on the software;
■ Assist the community while defending its interests and the
sustainability of its developments;
■ Promote the use of the Odoo solution;
■ Facilitate synergies, collaborations and fund raising efforts;
■ Actively collaborate on the definition of the road maps of new
versions of the tool and their implementation.
2014-06-04
4/24www.camptocamp.com / 2014-06-04
OCA Projects : addons and teams
■ Projects are organized around special interest teams
■ Currently 48 teams on launchpad
○ Reduction / simplification under discussion as part of
GitHub migration
■ Likely migration plan: use GitHub for v8 and later,
keep launchpad for v7 and earlier
○ Maybe a readonly mirror of v7 branches on GitHub
2014-06-04
5/24www.camptocamp.com / 2014-06-04
OCA Topics (1/2)
■ Addons families:
○ Accounting, Banking, Human Resource, E-commerce,
Finance, Manufacturing, CRM & Sales, Logistics, Purchases,
Product, Projects & Services...
■ Verticalization teams:
○ Hotel, Medical, ISP, Construction...
■ Integration teams:
○ Sage, LIMS...
2014-06-04
6/24www.camptocamp.com / 2014-06-04
OCA Topics (2/2)
■ Server side tools
○ Reporting tools, environment-based configurations...
■ Web client extensions
○ Widgets, default sorting...
■ Community Backports (OCB)
2014-06-04
7/24www.camptocamp.com / 2014-06-04
OCB: Odoo Community Backports
■ Specific version of Odoo where bug fixes pending
merge by the editor tend to get merged faster
■ On Launchpad, 3 projects
○ ocb-server, ocb-addons, ocb-web
○ Support for 6.1 and 7.0
■ On GitHub: not there yet (nothing to backport!)
2014-06-04
8/24www.camptocamp.com / 2014-06-04
Contributing
■ Bug reports
■ Bug fixes
■ New features
■ Reviews of MP (and PR)
○ Code reviews
○ Manual testing
○ Functional reviews
2014-06-04
9/24www.camptocamp.com / 2014-06-04
Launchpad and bzr tips (1/3)
Use bzr init-repo <projectname>
○ Repositories share information between the branches which are
created inside
○ Fast branching
○ Lower disk consumption
○ With a symlink, you can have a poor man's in place branch
switch
○ You can have branches from different (remote) projects in the
same local repository → useful when working on OCB
2014-06-04
10/24www.camptocamp.com / 2014-06-04
Launchpad and bzr tips (2/3)
Never use bound branches
Never use bzr checkout
○ These will push your changes to the source as soon as
you commit
2014-06-04
11/24www.camptocamp.com / 2014-06-04
Launchpad and bzr tips (3/3)
Use bzr commit --fixes lp:bugnumber
○ Automatic linking of branch to bug report when code is
pushed to launchpad
2014-06-04
12/24www.camptocamp.com / 2014-06-04
Workflow: setup environment to work on an
OCA project
export project=account-invoicing
bzr init-repo ${project}
cd ${project}
bzr branch lp:${project}/7.0
2014-06-04
13/24www.camptocamp.com / 2014-06-04
Workflow: proposing a bugfix
Assuming my launchpad account is “afe” and the bug is #123456
export project=account-invoicing
cd ${project}
bzr branch 7.0 7.0-123456-afe
# fix the bug, run tests
bzr commit --fixes lp:123456 
-m “[FIX] explain the fix”
bzr push lp:~afe/${project}/7.0-123456-afe
# open branch in web browser
bzr lp-open lp:~afe/${project}/7.0-123456-afe
# submit MP using the web interface
# describe what the change does please
2014-06-04
14/24www.camptocamp.com / 2014-06-04
2014-06-04
15/24www.camptocamp.com / 2014-06-04
2014-06-04
16/24www.camptocamp.com / 2014-06-04
2014-06-04
17/24www.camptocamp.com / 2014-06-04
Workflow: proposing a fix to OCB
■ OCB MP follow almost the same workflow as OCA Addons
○ Bug report is mandatory
○ Fix must be proposed on both official and OCB branch
○ Technical limitation forces to make 2 separate branches, and 2 separate MP
■ My way:
○ I create 3 repositories: server, addons and web
○ Inside each I branch the official stable branch and the ocb branch
○ I get from lp (or I create) the bugfix branch
○ I create an ocb branch for the fix and cherry pick the fix from the official
branch using bzr merge
2014-06-04
18/24www.camptocamp.com / 2014-06-04
Workflow: OCB work environment setup
bzr init-repo server
cd server
bzr branch lp:openobject-server/7.0
bzr branch lp:ocb-server/7.0 ocb-7.0
# repeat for addons and web
2014-06-04
19/24www.camptocamp.com / 2014-06-04
Workflow: Proposing a fix to OCB
cd server
bzr branch 7.0 7.0-fix_123456-afe
cd 7.0-fix_123456-afe
# fix, commit, TEST, push, propose for merge as before
cd ..
# port the fix to OCB branch
bzr branch ocb-7.0 ocb-7.0-fix_123456-afe
cd ocb-7.0-fix_123456-afe
# cherry pick fix from official branch
bzr merge -r rev1..rev2 ../7.0-fix_123456-afe
bzr commit --author orig_author --fixes lp:123456
# TEST, push, propose for merge as before.
# you should point to official MP in the OCB MP
2014-06-04
20/24www.camptocamp.com / 2014-06-04
Git migration
■ Very new, not everything is decided
○ Stay tuned on the mailing list, read the archives
○ No established ways of working for now with GitHub (reviews,
PR handling...)
○ We will reuse an existing widely used process
■ Be sure to read
○ https://github.com/odoo/odoo/blob/master/doc/git.rst
○ http://ndpsoftware.com/git-cheatsheet.html
2014-06-04
21/24www.camptocamp.com / 2014-06-04
Communication channels
■ Mailing list
○ currently https://launchpad.net/~openerp-community
■ IRC
○ Friday is “MP Day” on #openobject (freenode.net)
■ Twitter
○ @OdooCommunity
2014-06-04
22/24www.camptocamp.com / 2014-06-04
Other OCA related events during community
days
■ The Future of Odoo Community Association
○ June 4, 2014 at 17h
■ General Assembly
○ June 5, 2014 at 17h50
2014-06-04
23/24www.camptocamp.com / 2014-06-04
Time for Q&A!
Contributing within Odoo Community Association Projects

Más contenido relacionado

Similar a Contributing within Odoo Community Association Projects

Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftAmazon Web Services
 
CHIP: "The World's First $9 Computer"
CHIP: "The World's First $9 Computer"CHIP: "The World's First $9 Computer"
CHIP: "The World's First $9 Computer"Drew Fustini
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
OpenNebula in a Multiuser Environment
OpenNebula in a Multiuser EnvironmentOpenNebula in a Multiuser Environment
OpenNebula in a Multiuser EnvironmentNETWAYS
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine ProjectDaniel Lima
 
Project libre1.5 - Lesson 2 - Installation requirements
Project libre1.5 - Lesson 2 - Installation requirementsProject libre1.5 - Lesson 2 - Installation requirements
Project libre1.5 - Lesson 2 - Installation requirementsHezequias Vasconcelos
 
Neural Network File Format for Inference Framework
Neural Network File Format for Inference FrameworkNeural Network File Format for Inference Framework
Neural Network File Format for Inference FrameworkKobe Yu
 
What is new in visual studio "14"
What is new in visual studio "14"What is new in visual studio "14"
What is new in visual studio "14"Praveen Nair
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesDrew Hansen
 
S1: Side Labs & Alfresco Webinar
S1: Side Labs & Alfresco WebinarS1: Side Labs & Alfresco Webinar
S1: Side Labs & Alfresco WebinarJCK
 
LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLinaro
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPagesTeamstudio
 
Munich MulesSoft Meetup - Germany 08 Feb 2023
Munich MulesSoft Meetup - Germany 08 Feb 2023Munich MulesSoft Meetup - Germany 08 Feb 2023
Munich MulesSoft Meetup - Germany 08 Feb 2023MulesoftMunichMeetup
 
ODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectGanesh Raju
 
BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopLinaro
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processChristopher Cundill
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...Krishna-Kumar
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts Knut Relbe-Moe [MVP, MCT]
 

Similar a Contributing within Odoo Community Association Projects (20)

Hands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShiftHands-on Lab: Red Hat Container Development & OpenShift
Hands-on Lab: Red Hat Container Development & OpenShift
 
CHIP: "The World's First $9 Computer"
CHIP: "The World's First $9 Computer"CHIP: "The World's First $9 Computer"
CHIP: "The World's First $9 Computer"
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
OpenNebula in a Multiuser Environment
OpenNebula in a Multiuser EnvironmentOpenNebula in a Multiuser Environment
OpenNebula in a Multiuser Environment
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
 
Project libre1.5 - Lesson 2 - Installation requirements
Project libre1.5 - Lesson 2 - Installation requirementsProject libre1.5 - Lesson 2 - Installation requirements
Project libre1.5 - Lesson 2 - Installation requirements
 
Neural Network File Format for Inference Framework
Neural Network File Format for Inference FrameworkNeural Network File Format for Inference Framework
Neural Network File Format for Inference Framework
 
What is new in visual studio "14"
What is new in visual studio "14"What is new in visual studio "14"
What is new in visual studio "14"
 
Snowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD PipelinesSnowflake Automated Deployments / CI/CD Pipelines
Snowflake Automated Deployments / CI/CD Pipelines
 
S1: Side Labs & Alfresco Webinar
S1: Side Labs & Alfresco WebinarS1: Side Labs & Alfresco Webinar
S1: Side Labs & Alfresco Webinar
 
Hot deploy
Hot deployHot deploy
Hot deploy
 
LCU14 303- Toolchain Collaboration
LCU14 303- Toolchain CollaborationLCU14 303- Toolchain Collaboration
LCU14 303- Toolchain Collaboration
 
Bootstrap4XPages
Bootstrap4XPagesBootstrap4XPages
Bootstrap4XPages
 
Munich MulesSoft Meetup - Germany 08 Feb 2023
Munich MulesSoft Meetup - Germany 08 Feb 2023Munich MulesSoft Meetup - Germany 08 Feb 2023
Munich MulesSoft Meetup - Germany 08 Feb 2023
 
Armbian linux
Armbian linuxArmbian linux
Armbian linux
 
ODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro ConnectODPi (Open Data Platform Initiative) - Linaro Connect
ODPi (Open Data Platform Initiative) - Linaro Connect
 
BKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing HadoopBKK16-400B ODPI - Standardizing Hadoop
BKK16-400B ODPI - Standardizing Hadoop
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
 

Último

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 

Último (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Contributing within Odoo Community Association Projects

  • 1. Contributing within OCA projects Alexandre Fayolle
  • 2. 2014-06-04 2/24www.camptocamp.com / 2014-06-04 Introductions ■ Alexandre Fayolle aka @gurneyalex (twitter, GitHub) aka agurney (irc, Bitbucket) ■ OCA : OpenERP / Odoo Community Association ○ http://odoo-community-association.org/
  • 3. 2014-06-04 3/24www.camptocamp.com / 2014-06-04 OCA goals ■ Help and promote the collaborative software development of Odoo; ■ Encourage the development of Odoo and its features while coordinating and organizing the collaborative work on the software; ■ Assist the community while defending its interests and the sustainability of its developments; ■ Promote the use of the Odoo solution; ■ Facilitate synergies, collaborations and fund raising efforts; ■ Actively collaborate on the definition of the road maps of new versions of the tool and their implementation.
  • 4. 2014-06-04 4/24www.camptocamp.com / 2014-06-04 OCA Projects : addons and teams ■ Projects are organized around special interest teams ■ Currently 48 teams on launchpad ○ Reduction / simplification under discussion as part of GitHub migration ■ Likely migration plan: use GitHub for v8 and later, keep launchpad for v7 and earlier ○ Maybe a readonly mirror of v7 branches on GitHub
  • 5. 2014-06-04 5/24www.camptocamp.com / 2014-06-04 OCA Topics (1/2) ■ Addons families: ○ Accounting, Banking, Human Resource, E-commerce, Finance, Manufacturing, CRM & Sales, Logistics, Purchases, Product, Projects & Services... ■ Verticalization teams: ○ Hotel, Medical, ISP, Construction... ■ Integration teams: ○ Sage, LIMS...
  • 6. 2014-06-04 6/24www.camptocamp.com / 2014-06-04 OCA Topics (2/2) ■ Server side tools ○ Reporting tools, environment-based configurations... ■ Web client extensions ○ Widgets, default sorting... ■ Community Backports (OCB)
  • 7. 2014-06-04 7/24www.camptocamp.com / 2014-06-04 OCB: Odoo Community Backports ■ Specific version of Odoo where bug fixes pending merge by the editor tend to get merged faster ■ On Launchpad, 3 projects ○ ocb-server, ocb-addons, ocb-web ○ Support for 6.1 and 7.0 ■ On GitHub: not there yet (nothing to backport!)
  • 8. 2014-06-04 8/24www.camptocamp.com / 2014-06-04 Contributing ■ Bug reports ■ Bug fixes ■ New features ■ Reviews of MP (and PR) ○ Code reviews ○ Manual testing ○ Functional reviews
  • 9. 2014-06-04 9/24www.camptocamp.com / 2014-06-04 Launchpad and bzr tips (1/3) Use bzr init-repo <projectname> ○ Repositories share information between the branches which are created inside ○ Fast branching ○ Lower disk consumption ○ With a symlink, you can have a poor man's in place branch switch ○ You can have branches from different (remote) projects in the same local repository → useful when working on OCB
  • 10. 2014-06-04 10/24www.camptocamp.com / 2014-06-04 Launchpad and bzr tips (2/3) Never use bound branches Never use bzr checkout ○ These will push your changes to the source as soon as you commit
  • 11. 2014-06-04 11/24www.camptocamp.com / 2014-06-04 Launchpad and bzr tips (3/3) Use bzr commit --fixes lp:bugnumber ○ Automatic linking of branch to bug report when code is pushed to launchpad
  • 12. 2014-06-04 12/24www.camptocamp.com / 2014-06-04 Workflow: setup environment to work on an OCA project export project=account-invoicing bzr init-repo ${project} cd ${project} bzr branch lp:${project}/7.0
  • 13. 2014-06-04 13/24www.camptocamp.com / 2014-06-04 Workflow: proposing a bugfix Assuming my launchpad account is “afe” and the bug is #123456 export project=account-invoicing cd ${project} bzr branch 7.0 7.0-123456-afe # fix the bug, run tests bzr commit --fixes lp:123456 -m “[FIX] explain the fix” bzr push lp:~afe/${project}/7.0-123456-afe # open branch in web browser bzr lp-open lp:~afe/${project}/7.0-123456-afe # submit MP using the web interface # describe what the change does please
  • 17. 2014-06-04 17/24www.camptocamp.com / 2014-06-04 Workflow: proposing a fix to OCB ■ OCB MP follow almost the same workflow as OCA Addons ○ Bug report is mandatory ○ Fix must be proposed on both official and OCB branch ○ Technical limitation forces to make 2 separate branches, and 2 separate MP ■ My way: ○ I create 3 repositories: server, addons and web ○ Inside each I branch the official stable branch and the ocb branch ○ I get from lp (or I create) the bugfix branch ○ I create an ocb branch for the fix and cherry pick the fix from the official branch using bzr merge
  • 18. 2014-06-04 18/24www.camptocamp.com / 2014-06-04 Workflow: OCB work environment setup bzr init-repo server cd server bzr branch lp:openobject-server/7.0 bzr branch lp:ocb-server/7.0 ocb-7.0 # repeat for addons and web
  • 19. 2014-06-04 19/24www.camptocamp.com / 2014-06-04 Workflow: Proposing a fix to OCB cd server bzr branch 7.0 7.0-fix_123456-afe cd 7.0-fix_123456-afe # fix, commit, TEST, push, propose for merge as before cd .. # port the fix to OCB branch bzr branch ocb-7.0 ocb-7.0-fix_123456-afe cd ocb-7.0-fix_123456-afe # cherry pick fix from official branch bzr merge -r rev1..rev2 ../7.0-fix_123456-afe bzr commit --author orig_author --fixes lp:123456 # TEST, push, propose for merge as before. # you should point to official MP in the OCB MP
  • 20. 2014-06-04 20/24www.camptocamp.com / 2014-06-04 Git migration ■ Very new, not everything is decided ○ Stay tuned on the mailing list, read the archives ○ No established ways of working for now with GitHub (reviews, PR handling...) ○ We will reuse an existing widely used process ■ Be sure to read ○ https://github.com/odoo/odoo/blob/master/doc/git.rst ○ http://ndpsoftware.com/git-cheatsheet.html
  • 21. 2014-06-04 21/24www.camptocamp.com / 2014-06-04 Communication channels ■ Mailing list ○ currently https://launchpad.net/~openerp-community ■ IRC ○ Friday is “MP Day” on #openobject (freenode.net) ■ Twitter ○ @OdooCommunity
  • 22. 2014-06-04 22/24www.camptocamp.com / 2014-06-04 Other OCA related events during community days ■ The Future of Odoo Community Association ○ June 4, 2014 at 17h ■ General Assembly ○ June 5, 2014 at 17h50