Category:Add a Feature (Pathway)
From Foss2Serve
(Difference between revisions)
m |
|||
(33 intermediate revisions by 3 users not shown) | |||
Line 12: | Line 12: | ||
* Correctly use a command-line interface. | * Correctly use a command-line interface. | ||
* Correctly use the basics of version control including branching and merging. | * Correctly use the basics of version control including branching and merging. | ||
− | * Create a correct patch. | + | * Create a correct patch or pull request. |
+ | * '''Complete a yet-to-be-determined pathway''' that does not yet exist. | ||
|- | |- | ||
| Software Configuration | | Software Configuration | ||
Line 18: | Line 19: | ||
* Download and install the development environment. | * Download and install the development environment. | ||
* Run the program. | * Run the program. | ||
+ | * Complete the [[:Category:Test_User_Installation_Instructions_(Pathway)|Test User Installation Instructions]] pathway. | ||
|- | |- | ||
| Issue Tracker | | Issue Tracker | ||
Line 24: | Line 26: | ||
* Access the issue tracker with appropriate permissions. | * Access the issue tracker with appropriate permissions. | ||
* Read, create, and update issues in a tracker. | * Read, create, and update issues in a tracker. | ||
+ | * Complete the [[:Category:Update_a_Tracker_Issue_(Pathway)|Update a Tracker Issue]] pathway. | ||
|- | |- | ||
| Community | | Community | ||
| | | | ||
* Contact community members for help and identify the person responsible for committing changes. | * Contact community members for help and identify the person responsible for committing changes. | ||
− | * Describe community policy on testing and submitting patches, understand issue solving/triaging process. | + | * Describe community policy on testing and submitting patches/code, understand issue solving/triaging process. |
* Participate in a community which is open to code contributions. | * Participate in a community which is open to code contributions. | ||
* Time a contribution within the project's release cycle. | * Time a contribution within the project's release cycle. | ||
+ | * '''Complete a yet-to-be-determined pathway''' that does not yet exist. | ||
|} | |} | ||
− | |||
=== Pathway Steps, Outcomes, & Learning Activities === | === Pathway Steps, Outcomes, & Learning Activities === | ||
Line 39: | Line 42: | ||
{| {{Pathway Step Table}} | {| {{Pathway Step Table}} | ||
− | | 1 | + | | 1. Identify feature to be coded. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
: - explore tickets in feature tracker | : - explore tickets in feature tracker | ||
: - discuss with community | : - discuss with community | ||
Line 55: | Line 51: | ||
* [[:Category:Written Communication|Writ Comm]] | * [[:Category:Written Communication|Writ Comm]] | ||
| | | | ||
+ | * [[Requirements Analysis]] | ||
+ | * [[Propose a New Feature]] | ||
+ | * [[Code Base Understanding]] | ||
|- | |- | ||
− | | | + | | 2. Claim the ticket for the feature. |
: - create ticket if necessary. | : - create ticket if necessary. | ||
| Ticket for feature is claimed. | | Ticket for feature is claimed. | ||
Line 63: | Line 62: | ||
* [[:Category:Written Communication|Writ Comm]] | * [[:Category:Written Communication|Writ Comm]] | ||
| | | | ||
+ | * [[Handle_an_OpenMRS_Ticket_(Activity)|Handle an OpenMRS Ticket]] | ||
|- | |- | ||
− | | | + | | 3. Implement feature. |
| Code to implement feature is complete. | | Code to implement feature is complete. | ||
: - Possibly: Test cases for feature are complete. | : - Possibly: Test cases for feature are complete. | ||
Line 72: | Line 72: | ||
* [[:Category:Management|Mgmt]] | * [[:Category:Management|Mgmt]] | ||
| | | | ||
+ | * [[Introduction_to_Test_Driven_Development| Intro to test driven development]] | ||
+ | * [[Test Driven Development]] | ||
+ | * [[Review Coding Conventions]] | ||
+ | * [[Document_Code_with_Meaningful_Comments_(Activity)|Document Code]] | ||
+ | * [[Unit_Test_With_GoogleTest_Activity|Unit Testing with GoogleTest]] | ||
+ | * [[Examine_Branch_Test_Coverage_(Activity)|Examine Branch Test Coverage]] | ||
+ | * [[UML a Project]] | ||
|- | |- | ||
− | | | + | | 4. Submit changes to community. |
− | | Code to implement the feature is accepted into the project’s codebase, or the feature is abandoned. | + | | Code to implement the feature is accepted into the project’s codebase, or the feature is abandoned. Note: There may need to be several iterations of this process until resolution one way or another is reached. |
| | | | ||
* [[:Category:Information Processing|Info Proc]] | * [[:Category:Information Processing|Info Proc]] | ||
* [[:Category:Written Communication|Writ Comm]] | * [[:Category:Written Communication|Writ Comm]] | ||
| | | | ||
+ | * [[Git:_GitHub_Workflow_Activity|GitHub workflows]] | ||
+ | * [[Git:_GitHub_Issues_and_Pull_Requests|GitHub issues and PRs]] | ||
|- | |- | ||
− | | | + | | 5. Complete process to close ticket. |
− | | Ticket for feature is closed. | + | | Ticket for feature is closed either by the participant or by a maintainer. |
| | | | ||
* [[:Category:Written Communication|Writ Comm]] | * [[:Category:Written Communication|Writ Comm]] | ||
| | | | ||
+ | * [[Handle_an_OpenMRS_Ticket_(Activity)|Handle an OpenMRS ticket]] | ||
|} | |} | ||
Latest revision as of 11:21, 6 August 2020
The contributor will: contribute code to implement a requested feature.
The contribution is: code accepted into the project's codebase to implement a requested feature.
Prerequisites
Area | The contributor must be able to: |
---|---|
Tools |
|
Software Configuration |
|
Issue Tracker |
|
Community |
|
Pathway Steps, Outcomes, & Learning Activities
Follow the project’s policies and practices to complete the steps below.
Pathway Step | Step Outcome | Process Skills Focus | Related Learning Activities |
---|---|---|---|
1. Identify feature to be coded.
|
Feature identified. | ||
2. Claim the ticket for the feature.
|
Ticket for feature is claimed. | ||
3. Implement feature. | Code to implement feature is complete.
|
||
4. Submit changes to community. | Code to implement the feature is accepted into the project’s codebase, or the feature is abandoned. Note: There may need to be several iterations of this process until resolution one way or another is reached. | ||
5. Complete process to close ticket. | Ticket for feature is closed either by the participant or by a maintainer. |
Notes for Learning Activities Related to this Pathway
When creating activities:
- Identify reasonable features to be implemented. This can reduce student time searching for issues, and reduce the chances of choosing a feature that is too difficult or too easy.
This category currently contains no pages or media.