... This document explains the process for how to make software submissions to CONNECT. There are two sections. The first explains how to contribute source code (either for the core gateway/adapter or for a plug-in). The second explains how to contribute binaries for a plug-in.
h3. Source Code Submission
*communicate planned changes* If there is not already an item in the [issue tracking system|http://issues.connectopensource.org], create one. This can be of type feature ("I want to be able to select the color of the window"), bug ("The application throws an error when I do this", or general improvement ("The build would be faster if I just pulled this lever").
Post to the [developer forum|http://n2.nabble.com/CONNECT---Developers-f3294228ef3294226.html] about the planned change. There may be some overlap with other planned changes that may affect your choice of implementation. If it is a significant change, you may find it helpful to create a [design document|Design] to communicate the plan.
Assign the tracking item to yourself, and change state to in-progress (this can be done by clicking "Start Progress" while viewing the tracking item).
*develop contribution* Pull down the current code from [source control|Source Code Repository] and write some code. The closer you stick with [development conventions|Coding Guidelines], the easier it will be to accept your contribution. If the change takes considerable time, communicate changes as you go. You may get feedback that results in an easier acceptance of the submission.
*bundle contribution* Create a SVN patch file that represents your modification. Navigate to the "current" directory (i.e. on a default installation it would be "C:\Projects\nhinc\Current", may differ on your installation, thanks Jeff) This can be done by running the following command: {code}svn diff product > ###.patch{code} where "###" is the tracking item (from Jira, i.e. GATEWAY-123).
*submit contribution* Submit the patch, along with a "commit message" (message to include when steward submits to source control) via a post on the developer forums.
*work with steward/community to refine contribution* Other community members can comment on the patch.
At a minimum, a steward will need to perform a code review on the patch and ensure that it meets guidelines.
Depending on how tightly the submission follows the coding guidelines, there may need to be some modifications to the code before it can be integrated. These modifications can either be made by the steward or by the original developer.
h3. Steward Responsibilities
When a patch is received, please be very respectful of the fact that they took the time to submit this patch. \- Acknowledge that the patch has been received \- Accept the patch as is, or work with the submitter to tweak the patch \- If the patch is not accepted, explain why it is not (explanation in the jira ticket)?
Follow standard [check-in process].
h3. Binary Plug-in Submission TBD |