General Info
Topic: Integration of RESTWS
Type of Project (Spike, Sprint, Epic): ?
Lead (Product Owner): Roger
Developer Lead: Rafal
Known Developers Assigned (amount of effort in hrs dedicated to this work if possible):
Sprint Dashboard:
Source code at: https://github.com/openmrs/openmrs-module-webservices.rest/tree/sprint-201302 (the sprint-201302 branch)
CI: https://ci.openmrs.org/browse/BUNDLED-RESTWS0
Date:
How to Participate
This first sprint for the Appointment module will not be advertised to the whole community however those interested in working with us on future sprints should contact us!
Add your name to the list on this wiki page (with any comments about your availability). If you want to join after the sprint has started just join the IRC channel mentioned above and say hello.
The general process:
- New to OpenMRS sprints? Want help getting started? Join [the IRC channel|IRC:] and say " ???": I'd like to participate in the sprint!"
- Pick a ticket from the available tickets in the top-left of the sprint dashboard page. (listed below)
- Make sure it does not depend on a ticket that is incomplete.
- If you have any questions about the ticket, ask on the group chat
- Do the ticket. See our [HOWTO|docs:Using Git] for git. Sprint specific git HOWTO for devs with push rights: whatever works for you :-) If you don't like pull requests, don't send them. Commit and push directly to the main repo. If you do like pull requests, fork the main repo and send pull requests, but merge them right after. My favorite way is to work on the main repo, but create local branches (without pushing them to the main repo). Merge branches locally to the master and push to the main repo.
# [ Join the daily scrum to share your updates|https://wiki.openmrs.org/display/RES/Daily+Scrum+Meeting]
TasksToBeCompletedPriorToDesign"> Tasks To Be Completed Prior To Design
cloak.toggle.type=wiki
Goals
Need to know more about Goals ? Click here
Goals: Must Have, Should Have, Could Have and Won’t Have
Must Have means we must have this as part of the solution. It is a requirement or we should rethink doing this work. This is what we will deliver before the end of the work period this also doubles as our DOD “Definition Of Done”
Should have means we would be embarrassed not to have it. We could technically produce the solution without it but people would be surprised.
Could have means anything else we could do. But this does not always mean low priority. But our selection of which could haves to include or exclude (or deliver later). Also is considered low hanging fruit (if we are in this code already for x reason wecan deliver y with little or no extra effort) or can be items or ideas for this module that can be packaged for a later spike or sprint.
Won’t Have means this will not happen. It might be technically impossible, a taboo for our organization or out of scope. It does not mean “might happen or would be nice”.
Must Have:
- Just one module for "core OpenMRS REST Web Services" (i.e. get rid of 19ext module)
- the resources need to be separate from the framework (even if this just means that they're in different Java packages)
- the resources defined against 1.8 should be in a different java package from the ones defined against 1.9, etc.
- This is mostly done, but still need to create tickets about fixing tests, and fixing some resources
- Need to have both 1.8 and 1.9 versions of the Concept resource, which support different functionality with regard to mappings
- RESTWS-267
Should Have
- Resources for all "new" 1.9.0 functionality (e.g. Visit, Provider, Concept mapping changes, etc. Some of this may already be done.)
- Have design discussions about "things that are not just CRUD"
- example: evaluating a "patient calculation"
- example: adding a patient to a queue (DJ: I think this is actually crud on a patientqueue object)
- example: sending an HL7 message
Could Have
- RESTWS-311 - RESTWS should allow modules to add custom searches to existing resources
- DJ: I see this as a Could, unless Roger provides a concrete example where this is needed now.
- Roger: I think RESTWS-267 is an example of this. (DJ: But that's core...)
- Roger: this needs "core design resources"
- Decision => During the spring Rafal (or someone with equivalent knowledge and ownership of the RESTWS framework) will take this ticket.
- Support for TestOrder, and new columns in Order, starting in 1.9.2.
- Do an example of how to handle out-of-band data model changes
- Prove this doesn't break things
Won't Have
Design">Design
What should go into a Design ? Click here for more information
There should be multiple design meetings. The first starts off with a small group working with the leader to determine the high level scope of the project and then to break down into smaller pieces to eventually place as tickets. Once those meetings havehappened use of the community design meeting time should be used to refine the tickets and if possible assign them to who will be doing the work.
Risks (these should be resolved prior to or during the design meetings):
Enter anything that is still questionable or worrisome that has not been answered: (open issues, potential concerns) Once a decision is made make sure that a summarized answer is included.
Example: Q. How will we handle issues with conflicting userID’s? A. All ID’s will have an added identifier that is unique.
Effort Accounted For: (At the end of the design call all tickets should have an estimated effort and that total should be balanced against the known available effort of the developers assigned) (Yes/No)
If not in balance in favor of success why and the action plan for remaining items
via IRC on the [#openmrs|IRC:Home] channel on freenode.
Use this channel for ALL debugging and random questions having to do with the sprint. Please avoid direct messaging to personal contacts. If you have a question, someone else most likely does too, and our geographically distributed community benefitsfrom public group discussion.
Sprint Break down: If tickets have not already been laid out or explained this is a good place for this.
Risks: ?
Enter anything that is still questionable or worrisome that has not been answered: ?
Effort Accounted For: ?
Sprint Break down: ?
Kickoff Meeting">Kickoff Meeting
Kickoff meeting Date: TBD
Kickoff meeting recording:
(Meeting setup with known developers after the final design meeting, but prior to the start date):
During Project Notes">During Project Notes
Notes (Click here to expand to Etherpad)
Post Project (Retrospective)">Post Project (Retrospective)
Retrospective (Click here to expand to Etherpad)
Resources">Resources
Additional Information:
Goals
- The purpose of this sprint is to clean up the way we've done RESTWS, by merging the two modules into one. There was a dev list thread where we discussed this. The particular question is that there are two different ways we could do this.
Approaches
Jeremy and Roger have a suggested approach. We are currently looking to see if anyone else is willing to weigh in.
How to Participate
Add your name to the list on this wiki page (with any comments about your availability). If you want to join after the sprint has started just join the IRC channel mentioned above and say hello.
The general process:
- New to OpenMRS sprints? Want help getting started? Join the IRC channel and say "???": I'd like to participate in the sprint!"
- Pick a ticket from the available tickets in the top-left of the sprint dashboard page. (listed below)
- Make sure it does not depend on a ticket that is incomplete.
- If you have any questions about the ticket, ask on the group chat
- Do the ticket. See our HOWTO for git. Sprint specific git HOWTO for devs with push rights: whatever works for you :-) If you don't like pull requests, don't send them. Commit and push directly to the main repo. If you do like pull requests, fork the main repo and send pull requests, but merge them right after. My favorite way is to work on the main repo, but create local branches (without pushing them to the main repo). Merge branches locally to the master and push to the main repo.
- Join the daily scrum to share your updates
Participants
- Rafal
- Sateesh Kavuri (available on IRC in IST time period, else over emails. )
Resources
Tickets: RestWS-310 (still left to complete)
Kickoff meeting recording: ??