| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
| "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <title>Eclipse Web Tools Platform Project Development</title> |
| <link rel="stylesheet" href="../../default_style.css" type="text/css"> |
| </head> |
| <body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000"> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="LEFT" width="60%"><font class="indextop">eclipse web tools platform project</font><br> |
| <font class="indexsub">contributing to the wtp project</font></td> |
| <td width="40%"><img src="../../images/Idea.jpg" hspace="50" height="86" width="120" align="middle" alt=""></td> |
| </tr> |
| </table> |
| <table border="0" cellspacing="5" cellpadding="2" width="100%"> |
| <tr> |
| <td align="LEFT" valign="TOP"><i>This document was inspired by the <a class="external" |
| href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-home/developer/Commitment.html?cvsroot=Tools_Project" |
| target="_top">Contributing to the CDT document</a><!-- This image doesn't exist. <img class="outlink" src="../jst/images/out.png" alt="" width="6" height="6" />--></i> |
| </td> |
| </tr> |
| <tr> |
| <td align="LEFT" valign="TOP" bgcolor="#0080C0"><b> <font face="Arial,Helvetica" color="#FFFFFF">Introduction</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top"> |
| <p>People often ask, "What does it take to get involved with the development of the WTP?" There |
| are many ways to get involved. On the lightweight end of scale, there is involvement by using the WTP and |
| providing feedback and sharing your experiences on the Eclipse and WTP <a href="/forums/eclipse.webtools">newsgroups</a>. Beyond that, you can <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?classification=WebTools">report problems</a> |
| that you discover, so that they may be addressed in future releases. A deeper level of involvement |
| would be to actually solve some of the problems that you or others have uncovered by modifying/writing the |
| necessary code and creating patches that can applied by the project Committers. The final, and most beneficial |
| way to get involved is to take responsibility for a significant piece of development work, whether it's |
| enhancing a particular area of the tool or creating new functionality.</p> |
| <p>The purpose of this document is to help people and organizations understand what it means to |
| "commit" to WTP Development at this highest level. Basically, it involves a commitment to describe, |
| develop, test and document your contributions.</p> |
| </td> |
| </tr> |
| <tr> |
| <td align="LEFT" valign="TOP" bgcolor="#0080C0"><b> <font face="Arial,Helvetica" color="#FFFFFF">Commitment |
| to Development</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top"> |
| <h4>Communicating Your Desires/Intentions</h4> |
| <p>The first step involves letting the WTP user community and other WTP development team members what you |
| propose. The mechanism for this is to create Bugzilla entries to describe the enhancements or new capabilities |
| you propose to do. The mailing lists and/or newgroups could also be used for discussing or proposing, in a more |
| informal way, enhancements or new capabilities. Bugzilla is seen here as a central repository of |
| reference for enhancement demands as well as bug reports. All known bug reports should be in Bugzilla. A |
| bug that goes unreported will likely never be fixed.</p> |
| <p>Bugzilla is the open source change management system used by Eclipse projects. To set these Bugzilla |
| entries apart from other problem reports, Committers should use the word "plan" in the keywords field, and |
| the severity of the entry should be set to "enhancement". Following these guidelines will ensure that |
| all of these proposals get picked up by the appropriate query and recorded in the plan for the upcoming release. |
| </p> |
| <p>Feature specifications (what your code will do) and design specifications (how it will do it) are an |
| important aspect of the development effort. These specifications will allow the WTP community and the rest of |
| the WTP development team to understand what you are doing and to provide feedback. The format of these documents |
| is not important, the content is.</p> |
| <p></p> |
| <h4>Contributing Your Code (or other changes)</h4> |
| <p>Every high quality contribution is welcomed, be it from a a Committer or a developer just fixing the one bug |
| they're interested in. A Committer is a developer who has write access to the source code repository for the associated subproject (or |
| component) and has voting rights allowing them to affect the future of the subproject (or component); other |
| developers define patches and submit them, indirectly, through Committers. A developer gains such Committer |
| rights through frequent and consistently valuable contributions to a subproject, or component of a subproject (in the case of |
| large subprojects). For more information in what it means to be or to become an Eclipse project or subproject |
| Committer, see the <a class="wikipage" href="../project-charter.html">WTP Project Charter</a>. We should point |
| out that creating and submitting quality patches is the best way to obtain Committer privileges for future work. |
| </p> |
| <p></p> |
| <p></p> |
| <h4>Delivering the Code</h4> |
| <p>Once the feature and design documents have been floated to the rest of the WTP community and feedback has |
| been harvested, its time to start pushing the code changes into the development stream. For those that have |
| Committer privileges, these changes can be committed directly into the repository. Those without Committer privileges |
| create patches that get reviewed and applied by Committers. Patch requests are communicated via attachments to |
| Bugzilla bugs. Being a Committer entails certain responsibilities on its own which won't be discussed here.</p> |
| <p>Patches from non-Committers are generally expected to have been made against the HEAD branch, generated from |
| Eclipse with the Workspace option enabled and in the Unified format. <a href="http://www.eclipse.org/webtools/community/tutorials/DevelopingWTP/DevelopingWTP.html">See here</a> |
| for a more complete walkthrough.</p> |
| <p></p> |
| <h4>Commitment To Testing</h4> |
| <p>Everyone that contributes content to Eclipse projects is expected to test their contributions. When |
| contributing a significant enhancement or feature, that commitment means more than just assuring the community |
| that the code has been tested. It means documenting a test plan and committing to execute that testing on |
| release candidate builds. The Eclipse way of generating releases is to generate a series of release candidate |
| builds after all of the development has been completed. Each release candidate goes through a test-fix cycle |
| where everyone tests their contributions and communicates their findings. A collective decision is made as to |
| which problems will get fixed for the next release candidate, and the process is repeated. Fewer and fewer fixes |
| will be "blessed" as we progress through the release candidates.</p> |
| <p>So, committing to contribute significant code to the WTP also means committing to participate in the |
| test-fix cycles by executing your test plans against the release candidates build leading up to the final |
| release build.</p> |
| <p></p> |
| <h4>Commitment to Documentation</h4> |
| <p>An important part of any enhancement or addition to the WTP is making sure that the on-line help of the |
| tool stays current with the changes. The responsibility for updating/modifying/writing the on-line help content |
| that is associated with some part of the tool lies with the contributors of the code. Unless the contributors |
| have commit privileges, the on-line documentation content would get submitted as a patch, much the same as code. |
| And, like code, producing and submitting quality documentation patches is the way to obtain documentation |
| Committer privileges.</p> |
| <p><i>Until a Documentation Style Guide is available for the WTP project, you may refer to the <a |
| class="external" |
| href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/cdt-home/user/docs.html?cvsroot=Tools_Project" |
| target="_top">CDT Documentation Style Guide</a> to help maintain a constant look and feel for documentation |
| originating from different contributors. There also a couple of links that take you to additional information on |
| how to contribute help content for Eclipse projects.</i></p> |
| <p>So, finally, committing to contribute code to the WTP also means committing to contributing the |
| associated on-line documentation content for the part of the tool that is being enhanced or created.</p> |
| </td> |
| </tr> |
| </table> |
| </body> |
| </html> |