Difference between revisions of "ChildWorkSpace"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (What is a ChildWorkSpace?)
(The Process Flow)
Line 15: Line 15:
 
== The Process Flow ==
 
== The Process Flow ==
  
The relationship between an issue, a CWS and a release can be described as this idealized process flow:
+
The relationship between an issue, a CWS and a release is described in this simplified process flow:
 
# someone finds a problem or has an enhancement idea
 
# someone finds a problem or has an enhancement idea
# he checks that the problem or the idea are new
+
# the problem or the idea shouldn't be known in issuezilla yet
# he files an issue
+
# a new issue is submitted
 
# the issue is confirmed/tested by testers and/or developers
 
# the issue is confirmed/tested by testers and/or developers
 
# the issue is marked as "confirmed"
 
# the issue is marked as "confirmed"
Line 24: Line 24:
 
# development creates a ChildWorkSpace
 
# development creates a ChildWorkSpace
 
# development assigns some issues to the CWS's task list
 
# development assigns some issues to the CWS's task list
# the corresponding code changes are applied into the CWS's code base
+
# development solves the issue and tests the solution
 +
# development commits the code changes into the CWS's code base
 
# development marks the issue as "fixed"
 
# development marks the issue as "fixed"
# development checks that the changed CWS works as expected
+
# development checks that the whole CWS works as expected
 
# development changes the CWS status to "Ready for QA"
 
# development changes the CWS status to "Ready for QA"
 +
# development reassigns the issues to testing
 
# testing checks for regressions and that the issues are solved
 
# testing checks for regressions and that the issues are solved
 
# tested issues are marked as "verified"
 
# tested issues are marked as "verified"
 
# testing changes the ChildWorkSpace status to "Approved by QA"
 
# testing changes the ChildWorkSpace status to "Approved by QA"
# "program management" changes the ChildWorkSpace status to "Nominated"
+
# "[[Program_Management|program management]]" changes the CWS status to "Nominated"
# "release engineering" integrates the code changes into a milestone release
+
# "[[Release_Engineering|release engineering]]" integrates the code changes into a milestone release
# the ChildWorkSpace status is changed to "Integrated"
+
# the CWS status is changed to "Integrated"
# the milestone is released
+
# the milestone containing some CWSes is released
 
# testing checks the issues again on the released version
 
# testing checks the issues again on the released version
 
# testing marks the issues as "closed"
 
# testing marks the issues as "closed"

Revision as of 09:28, 16 August 2008

What is a ChildWorkSpace?

A concept called ChildWorkSpaces (CWS) is used to organize changes to OpenOffice.org into smaller and independent units.

This page is intended as a first overview for end users. The wiki page "CWS" provides many more details for advanced contributors.

How does it relate to Issues?

OpenOffice.org's code base may be changed as a result of Issues, which can be classified as defect reports, enhancement requests or feature requests. Issues are managed in a tool called issuezilla.

Related issues get grouped together and are assigned to a CWS. The resulting code change consists of bug fixes, enhancements and feature implementations that correspond to the list of issues registered for that CWS.

ChildWorkSpaces are managed in a tool called Environment Information System (EIS): It has all the details about each CWS, e.g. the list of tasks assigned to a CWS, its release target, the first milestone release where the CWS has been integrated, various testing results and the list of code changes.

The Process Flow

The relationship between an issue, a CWS and a release is described in this simplified process flow:

  1. someone finds a problem or has an enhancement idea
  2. the problem or the idea shouldn't be known in issuezilla yet
  3. a new issue is submitted
  4. the issue is confirmed/tested by testers and/or developers
  5. the issue is marked as "confirmed"
  6. development accepts an issue by marking it as "new"
  7. development creates a ChildWorkSpace
  8. development assigns some issues to the CWS's task list
  9. development solves the issue and tests the solution
  10. development commits the code changes into the CWS's code base
  11. development marks the issue as "fixed"
  12. development checks that the whole CWS works as expected
  13. development changes the CWS status to "Ready for QA"
  14. development reassigns the issues to testing
  15. testing checks for regressions and that the issues are solved
  16. tested issues are marked as "verified"
  17. testing changes the ChildWorkSpace status to "Approved by QA"
  18. "program management" changes the CWS status to "Nominated"
  19. "release engineering" integrates the code changes into a milestone release
  20. the CWS status is changed to "Integrated"
  21. the milestone containing some CWSes is released
  22. testing checks the issues again on the released version
  23. testing marks the issues as "closed"

Frequently Asked Questions

Q: why is there a delay between the developer marking an issue as "fixed" and the availability of a milestone release, which has the fix integrated?

 A: there are a few steps inbetween, which all take their time: the fix has to be verified, integrated and then released

Q: which milestone release has the issue fixed?

 A1: the EIS entry of a CWS provides this important detail (also all other details)
 A2: the closing comment of a fixed issue is supposed to mention the milestone
 A3: the milestone's release notes contains an extensive list of resolved issues
Personal tools