Category:Add a Feature (Pathway)

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Prerequisites)
m
 
(9 intermediate revisions by 2 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:Create_a_Tracker_Issue_(Pathway)|Create a Tracker Issue]] pathway
+
* Complete the [[:Category:Update_a_Tracker_Issue_(Pathway)|Update a Tracker Issue]] pathway.
 
|-
 
|-
 
| Community
 
| Community
Line 32: 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 48: Line 51:
 
* [[:Category:Written Communication|Writ Comm]]
 
* [[:Category:Written Communication|Writ Comm]]
 
|
 
|
* [[Requirements_Analysis|Requirements analysis]]
+
* [[Requirements Analysis]]
* TBD: identify feature to be implemented
+
* [[Propose a New Feature]]
* [[Code_Base_Understanding|Code base understanding]]
+
* [[Code Base Understanding]]
 
|-
 
|-
 
| 2. Claim the ticket for the feature.
 
| 2. Claim the ticket for the feature.
Line 59: Line 62:
 
* [[:Category:Written Communication|Writ Comm]]
 
* [[:Category:Written Communication|Writ Comm]]
 
|
 
|
* [[Handle_an_OpenMRS_Ticket_(Activity)|Handle an OpenMRS ticket]]
+
* [[Handle_an_OpenMRS_Ticket_(Activity)|Handle an OpenMRS Ticket]]
 
|-
 
|-
 
| 3. Implement feature.
 
| 3. Implement feature.
Line 70: Line 73:
 
|
 
|
 
* [[Introduction_to_Test_Driven_Development| Intro to test driven development]]
 
* [[Introduction_to_Test_Driven_Development| Intro to test driven development]]
* [[Test_Driven_Development|Test driven development]]
+
* [[Test Driven Development]]
* [[Review_Coding_Conventions|Review coding conventions]]
+
* [[Review Coding Conventions]]
* [[Document_Code_with_Meaningful_Comments_(Activity)|Document code]]
+
* [[Document_Code_with_Meaningful_Comments_(Activity)|Document Code]]
* [[Unit_Test_With_GoogleTest_Activity|Unit testing with GoogleTest]]
+
* [[Unit_Test_With_GoogleTest_Activity|Unit Testing with GoogleTest]]
* [[Examine_Branch_Test_Coverage_(Activity)|Examine branch test coverage]]
+
* [[Examine_Branch_Test_Coverage_(Activity)|Examine Branch Test Coverage]]
 +
* [[UML a Project]]
 
|-
 
|-
 
| 4. Submit changes to community.
 
| 4. Submit changes to community.

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