OpenMRS resources: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Hypotext
imported>Hypotext
Line 78: Line 78:
Talk to Chris Hay and Katherine Ye.
Talk to Chris Hay and Katherine Ye.


Check out code from here: https://github.com/hypotext/openmrs-core


We'll be walking you through fixing [https://issues.openmrs.org/browse/TRUNK-3780 this bug], testing changes in the webapp, writing tests, and submitting a pull request!


= New beginner tasks =
= New beginner tasks =

Revision as of 07:30, 22 November 2014

What to install before the workshop

If your computer has at least 10 GB of hard disk space free and at least 3 GB of RAM, it's recommended to download and install the following:

Install VirtualBox: https://www.virtualbox.org/wiki/Downloads

and Vagrant: http://downloads.vagrantup.com/


This allows you to use a virtual machine at the workshop that already has everything set up. Otherwise, you'll need to perform a manual installation. The manual installation guide can be found here: https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer, but will be covered in more depth at the workshop.

Getting OpenMRS up and running on your computer

The short version:

  • Install git and IRC.
  • Manual setup (clone the code from GitHub) OR VM setup (follow VM instructions).
  • Review the workflow of getting your code merged
  • Configure your git remotes.
  • Compile the code.
  • Start the web server.
  • Go through the web app set up process.
  • You should now have a running local version of OpenMRS on your machine!
  • If you want to get a feel for how one would fix a bug in the code, GOTO "OpenMRS bug walkthrough." If you want to fix an actual bug in the code, GOTO "new beginner tasks."

Here are all the relevant links:

See steps below.

Manual setup

VM setup

git clone -b express-setup https://github.com/cpschuster/OpenMRS-dev-setup

If you've ever used the express setup before, you'll want to do vagrant box remove OpenMRS-dev-setup-clone before you do vagrant up

Git setup

See here.

Workflow

See here.

git: version control system. GitHub: visual interface for git. Lets you view repositories, pull requests (requests from other people to add original code), etc. online.

  • First, clone the "official version" from GitHub (happens only once): https://github.com/openmrs/openmrs-core
  • Set up your remotes so you get new code and push your original code to the right places
  • Pull new changes from upstream (the "official" version of OpenMRS on GitHub, linked above)
  • Make local changes on your machine
  • Push to origin (your "fork" of OpenMRS on your GitHub account). e.g. here is mine
  • When done, make a pull request on upstream, which will be reviewed. Current OpenMRS pull requests
  • Repeat
  • Hopefully get your pull request merged into upstream! Looks like this.

Running the OpenMRS webapp

... and seeing if your additions actually changed things. You'll likely want to do this many times during step 3 ("make local changes on your machine") above.

See here.

OpenMRS bug walkthrough

Talk to Chris Hay and Katherine Ye.

Check out code from here: https://github.com/hypotext/openmrs-core

We'll be walking you through fixing this bug, testing changes in the webapp, writing tests, and submitting a pull request!

New beginner tasks

Talk to Danni Yu and Nicole Quah (ThoughtWorks).

  • Pair programming is great!
  • Have Vagrant and VirtualBox installed with at least 10 GB of hard disk space.

If you're working on one of these, please edit your wiki and put your name next to it!

  • TRUNK-3895 Filter daemon user from user-related API methods
  • TRUNK-3479 Concept Validator should ignore short names
  • TRUNK-3274 Voided person addresses and names should be ignored by the short patient form validator
  • TRUNK-2660 Validate field lengths of domain objects in management pages
  • TRUNK-4539 Support validation in the UI for the database characters set for a field or column
  • TRUNK-3849 Move Address and Name layout support classes from web layer to api layer
  • TRUNK-2941 Find+Move mediawiki archive pages in confluence
  • TRUNK-3709 Secret answer should be encrypted