Category:Add a Feature (Pathway)

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
m
 
Line 51: Line 51:
 
* [[:Category:Written Communication|Writ Comm]]
 
* [[:Category:Written Communication|Writ Comm]]
 
|
 
|
* [[Requirements_Analysis|Requirements analysis]]
+
* [[Requirements Analysis]]
* [[Propose_a_New_Feature|Propose a new feature ]]
+
* [[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 62: 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 73: 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|UML a project]]
+
* [[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