Working in the RaxaCore repo ... Pull Requests, Forking

1 view
Skip to first unread message

Nathan Leiby

unread,
Jun 29, 2012, 4:02:08 AM6/29/12
to Jeff Hung, <raxa-jss-emr-pharmacy@googlegroups.com>, John Stoecker
Dear Pharmacy team,

This email is in response to: https://raxaemr.atlassian.net/browse/TODO-42

We'd like to invite you to work in the RaxaCore repo. We use the "fork and pull" model.

The practice to develop is
  1. fork the raxacore repo (https://github.com/Raxa/raxacore), clone your fork to your computer
  2. make commits locally; eventually, push your changes to your fork
  3. when ready to move changes to the main repo, issue a pull request
  4. >1 person should review the pull request, add comments/feedback.
  5. If there are issues that need to be fixed, repeat steps 1-4. Else move to step 6.
  6. when approved, someone with permission on "raxacore" repo can accept your pull request.
Since only a small number of you are working on the pharmacy Raxacore improvements, I'd like to reduce friction on step #3 thru #6. If you find pull requests are too painful and you're having trouble sharing your code quickly enough, definitely let us know and we can try to improve the process (For example, you could fork raxacore as a group, and use the "shared repository" model to quickly share your code with each other. Periodically, you would still issue a pull request to move your fork's code to the original Raxacore repo. Which approach do you prefer?)

Re #6, I'd like to grant "raxacore" permissions to one or more of you, so that you don't have to wait on myself or John in order to incorporate your changes into the main Raxacore repo. But we'd still like to go through a review process, to make sure we're doing "due diligence" on all code that goes into our repo, and thereby keeping our code consistently high-quality.

Best,
Nathan

John Stoecker

unread,
Jun 29, 2012, 5:59:04 AM6/29/12
to Nathan Leiby, Jeff Hung, <raxa-jss-emr-pharmacy@googlegroups.com>, Yan Jin, Diego Dayan, Barry Levine
Hi all, glad to have you collaborating more closely with us.

As for getting you started on creating web services, a good resource is here:
https://wiki.openmrs.org/display/docs/Adding+a+Web+Service+Step+by+Step+Guide+for+Core+Developers 

The REST example of PatientList in raxacore may be less useful-- you can see the comments here:  https://raxaemr.atlassian.net/browse/RAXAJSS-112  below:
PatientList style manual representation is a bad idea. It takes a lot of time, can result in bugs and is a headache to manage for versioning. There are some serious issues in serializing this resource that couldn't be figured in this and hence this manual way was done to get it fixed. 

Instead, I would look at the examples in the REST webservices fisheye to see how the @resource is supposed to work: https://source.openmrs.org/browse/Modules/webservices.rest/trunk

Also, be sure to use https://answers.openmrs.org/ for openMRS specific questions as well, this should be a good resource.

I hope this helps,
-john
Reply all
Reply to author
Forward
0 new messages