2008-08-14 Developers Conference Call
Date
14 August 2008
In Attendance
Paul Biondich
Burke Mamlin
Ben Wolfe
Sheraz F Noormohammad
Chase Yarbrough
Darius Jazayeri
Agenda
Intern Review - Upul Godage - Tribe Module
Changing db updates to use liquibase - as found by Upul, see his blog post http://dev.openmrs.org/ticket/974
Review unit testing examples: Encounter, EncounterType, EncounterServiceTest, and EncounterDAOTest
Discuss Dave's emperic column that wasn't discussed last week
version name/number on trunk (brought up by Ben)
Need to confirm which hotel we'll stay in during the Unit-a-thon next week
Call with Trinity Interns
Attachments
See Ben's rough writeup about writing/filling in unit tests
See the junit code-a-thon meeting page
Read JUnit Best Practices
Find some JUnit Antipatterns that devs need to read
Minutes
Mark will have call with Trinity interns, Burke, and Darius
Release should have a suffix on it. It will be such as: "1.4.0 dev"
TODO: Fix the OpenMRS installer. (The virtual appliance Yaw made is awesome. Kudos to Yaw. Burke said it's Yawesome!)
See about adding OpenMRS to linux package repositories. Hence we could "apt-get openmrs" to install OpenMRS on Ubuntu.
How to add a new package to Debian: http://mentors.debian.net/cgi-bin/welcome
Upul and Ben review Tribe Module
Tribe was on patient object and Upul moved it to Person Attribute in the tribe module.
Demonstration on demo.openmrs.org/tribe
TODO: Get manage tribe in patient section to disappear.
TODO: Fix edit patient page.
Liquibase libarary to do SQL updates when you start the war file.
No need for sqldiff
SQL changes in xml file.
TODO: Be sure that we can do custom stuff to run straight sql instead of xml.
When war does not start... a separate process will allow configuration before startup to apply updates.
Click yes to step through updates. Click no to go back to "you need to update" page.
Should have a log-in to have permission to run update. Instead of 1st person to URL gets to update it. :-0
possibly set up secret password in config in order to access update
Runs on any database - not just MySQL.
Other candidates other than Liquibase to support Groovy/Ruby/C# web layers?
Unit-a-thon
Review hotel arrangements
Review test examples
Testing against Use-Cases vs.a Service (as we discussed last week).
Establish conventions for submitting code. (e.g.: Eventually commits must include tests or you lose commit privileges.)
Straw man approach.
How do we manage progress.
Developers that spend a good amount of time in code reviews.
Make it ridiculously simple for someone to contribute to Unit tests.
Page - How to contribute Unit tests.
Potential Plans
Straw man on Thursday O-|--<
Priority List - what code are we going to touch.
Testing Roadmap with scratch notes.
Gold Standard / JUnit BestPractices and Antipatterns
Pair off and test methods.
Must be writing test code by the afternoon on Thursday.
Migration of OpenMRS Wiki to Atlassian products
Huge endeavor to port all of our previous content. Burke will rewrite by hand. Just kidding.
Probably planning to continue use of Trac instead of trying to migrate to JIRA.
Saptarshi discusses Registration Module
Request for Jaxen library in core. (2x faster than Saxon)
Saxon currently is used in core.
Implementation of offline support.
Sending Patient Registration information to central server.
Central server overwrites remote database
Remote Registraton Module could save registration to xml file to by synced with central server at any time.
Abstracting new information from patient registration. Don't rely on patient_id.
Add all patients back in that were registered since the last overwrite of the remote database.
Diagram process from completely disconnected --> intermittently disconnected --> completely connected.
Current features:
Patient search via jQuery using Ajax
Bar Code support to automatically open patient summary page
Patient summary page can be printed and given to physician
Register new patient
Can put in patient information.
Global Propery Option to upload patient identifiers or enter them manually.
If uploading set of identifiers, they are stored in xml file and given to each subsequent new patient.
TODO: Customization of summary page.
Tag as version 0.x and solicit feedback from those who download it.