Category:Add a Feature (Pathway)

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Pathway Steps, Outcomes, & Learning Activities)
m
 
(20 intermediate revisions by 3 users not shown)
Line 13: Line 13:
 
* 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 or pull request.
 
* 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
Line 31: Line 34:
 
* 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.
 
|}
 
|}
  
Line 47: Line 51:
 
* [[:Category:Written Communication|Writ Comm]]
 
* [[:Category:Written Communication|Writ Comm]]
 
|
 
|
* [[Requirements_Analysis|Requirements analysis]]
+
* [[Requirements Analysis]]
 +
* [[Propose a New Feature]]
 +
* [[Code Base Understanding]]
 
|-
 
|-
 
| 2. Claim the ticket for the feature.
 
| 2. Claim the ticket for the feature.
Line 56: Line 62:
 
* [[:Category:Written Communication|Writ Comm]]
 
* [[:Category:Written Communication|Writ Comm]]
 
|
 
|
 +
* [[Handle_an_OpenMRS_Ticket_(Activity)|Handle an OpenMRS Ticket]]
 
|-
 
|-
 
| 3. Implement feature.
 
| 3. Implement feature.
Line 65: Line 72:
 
* [[:Category:Management|Mgmt]]
 
* [[:Category:Management|Mgmt]]
 
|
 
|
* [[Test_Driven_Development|Test driven development]]
+
* [[Introduction_to_Test_Driven_Development| Intro to test driven development]]
* [[Review_Coding_Conventions|Review coding conventions]]
+
* [[Test Driven Development]]
* [[Document_Code_with_Meaningful_Comments_(Activity)|Document code]]
+
* [[Review Coding Conventions]]
* [[Unit_Test_With_GoogleTest_Activity|Unit test]]
+
* [[Document_Code_with_Meaningful_Comments_(Activity)|Document Code]]
* [[Examine_Branch_Test_Coverage_(Activity)|Examine branch test coverage]]
+
* [[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.
 
| 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]]
Line 81: Line 90:
 
|-
 
|-
 
| 5. Complete process to close ticket.
 
| 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
  • Code reasonably well in the languages required for the task.
  • Correctly use a command-line interface.
  • Correctly use the basics of version control including branching and merging.
  • Create a correct patch or pull request.
  • Complete a yet-to-be-determined pathway that does not yet exist.
Software Configuration
Issue Tracker
  • Describe issue trackers and how they are used.
  • Access the issue tracker with appropriate permissions.
  • Read, create, and update issues in a tracker.
  • Complete the Update a Tracker Issue pathway.
Community
  • Contact community members for help and identify the person responsible for committing changes.
  • Describe community policy on testing and submitting patches/code, understand issue solving/triaging process.
  • Participate in a community which is open to code contributions.
  • 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

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.
- explore tickets in feature tracker
- discuss with community
Feature identified.
2. Claim the ticket for the feature.
- create ticket if necessary.
Ticket for feature is claimed.
3. Implement feature. Code to implement feature is complete.
- Possibly: Test cases for feature are 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:

  1. 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.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox