the new development process: how child workspaces will ... · contributions to the ooo project the...
TRANSCRIPT
![Page 1: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/1.jpg)
The new development process / How to contribute - Slide 1
OOoCon 2004 - Berlin
The new development process:
How child workspaces will
improve the developer
experience and the quality (aka
How to Contribute)
![Page 2: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/2.jpg)
The new development process / How to contribute - Slide 2
Agenda
Speaker IntroductionContributions to the OOo projectThe JCA and other stuffA new/different development processChild workspaces in praticeQ & A
![Page 3: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/3.jpg)
The new development process / How to contribute - Slide 3
Who I am
StarWriter 2.0 (1994)Program Manager OOo within SunProject Lead ToolsProject Lead PortingProject Lead External Member of Community Council
![Page 4: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/4.jpg)
The new development process / How to contribute - Slide 4
Contributions to OOo
Use the productDownload, install and use OOo
http://download.openoffice.orgGive feedback via Survey
http://www.openoffice.org/welcome/regitsratrion-site.html
Donate money
http://www.openoffice.org/contributing/donate.html
Join a projectReview work, give feedback via mail, IssueZillaRequest for enhancements, input for specs.
ParticipateSubscribe to mailing listsAsk questions and give answers
![Page 5: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/5.jpg)
The new development process / How to contribute - Slide 5
Contributions to OOo
Become a QA expertUse the bleeding edge (biweekly snapshots)Review and write issuestestplans
Core DevelopmentAdd new functionalityPorting
DevelopUse the APIComponentsCompile and review the code
LocalizeNew localizations
![Page 6: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/6.jpg)
The new development process / How to contribute - Slide 6
The JCA and other stuff
Code contributionsSign the JCA for changes or additions to the code basis or localization
External componentsCode: LGPL, BSD style
Get documented within external projectOther artifacts
Licenses compliance
![Page 7: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/7.jpg)
The new development process / How to contribute - Slide 7
External Components
![Page 8: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/8.jpg)
The new development process / How to contribute - Slide 8
Software Development
PreparationWriting a SpecificationPlanning a change
VerificationQA with a testplanDoes the beast compile
ImplementationCoding Hacking
![Page 9: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/9.jpg)
The new development process / How to contribute - Slide 9
OOo complexity
The PlatformsUnix (Linux, Solaris, MacOSX and other)
Different baselinesWindows
LocalizationUI-FreezeLayout
The Code sizeThe beast need hours to build (interface changes)It's a moving target (several hundred code changes per day)Architectural dependencies (layered arch.)
![Page 10: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/10.jpg)
The new development process / How to contribute - Slide 10
The traditional model
Continous integration and buildDeveloper has to stay until their changes has been build and smoke tested (tinderbox builds)The build has to be fixed immediatly
Stableizing a ReleaseUntil it is ready/bug free
Release early and oftenEarly and often releases ensures quick bug findings
![Page 11: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/11.jpg)
The new development process / How to contribute - Slide 11
The problems with it
Continous integration and buildToo many changes within a build cycle The problem of not having atomic commits
Stableizing a ReleaseCan be an unpredictable process
Release early and oftenA developer wants user to test codeA user wants already tested code and not extra burden writing bugs
![Page 12: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/12.jpg)
The new development process / How to contribute - Slide 12
The OOo 2.0 numbers
>100 developers committed to the repository
Fixing > 4000 issuesReported by > 500 people
Committed > 100,000 times450 files per day
![Page 13: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/13.jpg)
The new development process / How to contribute - Slide 13
The new process
Continious commitsQA after integration Having known problems in the master buildNot finished items in the tree
Scheduled commitsQA before integration into the codelineHave less problem on the master build A new feature only get integrated when it is readyPossibility to reschedule target milestone
![Page 14: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/14.jpg)
The new development process / How to contribute - Slide 14
Child workspace
A child workspace is implemented as a CVS branch
![Page 15: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/15.jpg)
The new development process / How to contribute - Slide 15
Cws resync
A cvs branch can be merged backed without conflicts only if now conflicted changes has been done in the meantime“Long” living cws will need a resync first before joined back
![Page 16: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/16.jpg)
The new development process / How to contribute - Slide 16
Tools for cws
Create a new child workspace – cwscreateAdd a new module – cwsaddUpdate a child workspace – cwsresyncAnalyze a child workspace - cwsanlyzeRegister a new task – cwsaddtaskEnvironment Information System (EIS)
http://tools.openoffice.org/dev_docs/ooo-cws-tools-doc.sxwhttp://eis.services.openoffice.org
![Page 17: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/17.jpg)
The new development process / How to contribute - Slide 17
EIS – cws data
![Page 18: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/18.jpg)
The new development process / How to contribute - Slide 18
Child workspace creation
Create a new child workspaceRegister in database in EISWhat's the purpose ?
Provide a description
What level of QA is needed
UI relevant
Help relevant
-> Specification needed ?!
Timeframe
What are the impactsRegarding the user experience ?
To other developers ?
![Page 19: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/19.jpg)
The new development process / How to contribute - Slide 19
cwscreate
![Page 20: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/20.jpg)
The new development process / How to contribute - Slide 20
Cws lifetime
The quick thing (less than one day, some days)There's no impact, it just fix the damn thing
Trivial bug fixes
Build problems
The big thing (months or years)New functionality
Leads to new UI, translation is needed
Needs documented in Help, Documentation
Specification is needed
New architecture Other developer need to know about these changes
![Page 21: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/21.jpg)
The new development process / How to contribute - Slide 21
Environment Information System
![Page 22: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/22.jpg)
The new development process / How to contribute - Slide 22
EIS - releases
![Page 23: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/23.jpg)
The new development process / How to contribute - Slide 23
EIS - integrated
![Page 24: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/24.jpg)
The new development process / How to contribute - Slide 24
Cws stats
![Page 25: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/25.jpg)
The new development process / How to contribute - Slide 25
A better solution
Continious integration and buildSimulate atomic commits of file setsGroup issues to logical entities
Stableizing a ReleaseMinimize the time needed for stableizing the productBe able to release a stable code base at any time
Release early and oftenRelease often already tested codeIt does not matter if a features gets in weeks earlier or later
![Page 26: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/26.jpg)
The new development process / How to contribute - Slide 26
ToDo's and the vision
Get quick cws round trips for “need to have” thingsSpeed up the patch process
Patch Gatekeeper wanted
Get automated tinderbox builds for cwsQA wanted to test before integration
Enhance smoketest and automated test and integrate them into the build system
![Page 27: The new development process: How child workspaces will ... · Contributions to the OOo project The JCA and other stuff A new/different development process Child workspaces in pratice](https://reader034.vdocuments.net/reader034/viewer/2022051811/602803781536f507ce7dbc9e/html5/thumbnails/27.jpg)
The new development process / How to contribute - Slide 27
Summary
Be everytime in a state to releaseQA before releaseGrant liberal commit access to the cvs repositoryThink twice before nomination for integration !Get assistance !