2009-04-23 Developers Conference Call
Date
23 April 2009
In Attendance
Mike Seaton
Ben Wolfe
Darius Jazayeri
Burke Mamlin
Justin Miranda
<!--Paul Biondich
Brian McKown
-->
Agenda
OpenMRS 1.5 alpha needs to be released. Release Manager volunteers? -Ben 10:23, 20 April 2009 (EDT)
Discussion about modules - need new features for modules (some rough thoughts outlined below)
Move towards a Linux/Eclipse idea of thin kernel + lots of modules with complex dependencies
i.e. OSGI implementation of module framework
Need to move all non-patient related components into Core Modules
Some modules that should be included as Core Modules ...
Scheduler API
Reporting API
Form API
(there are others – just can't think of them at the moment)
We can then build modules that are based off Core Modules and have their own roadmap/versioning
Requires a more strict versioning and dependency
Need to support plugins for API components that are not patient-related
Need to add more separation between core API and implementation/tool modules (i.e. simple web)
Need to support module bundles
Allows us to create a reporting module bundle that holds multiple modules that work together
Allows us to install and start a bunch of modules together
Allows us to add/remove modules together
Keeps implementers from having to choose modules that are compatible
Modules need upper version dependency (works with OpenMRS 1.4.7+, but not 1.5.0+)
Module IDs should be fully qualified package (like Eclipse)
Move old reporting to a Core Module
Need to consider using this module as a library within trunk/lib
Minutes
1.5 Alpha release?
the alpha doesn't need to be feature-complete. aka, 1.5.x doesn't need to be created
We need to create a recipe for testing the web. pih/sync has a google doc to keep track
The google doc just has a list of things to test. if it fails before a release, the error message or a red x is placed (manually) into the google doc.
We don't need to spend hours coming up with tests. But we do need to figure out.
TODO: Darius copy pih google doc over to public place and link to from
release manager: Ben
(Justin volunteers to be release manager for 1.6)
Do we need to pass through the tickets and assign everything to 1.5/1.6/someday?
We need to look at Jira's Jira to see how its "supposed" to be done. (or trac's trac?)
Modules
Background: Justin/Mike are working on reporting and see things in core that really aren't core to an MRS. (Things like form/cohort/reporting/etc)
Started adding module dependencies and seeing weaknesses in our module framework
Changing core to a more a modular based framework would facilitate coding faster and getting releases out easier, less coordination of code, etc
Modules still need to be fairly easy to write so that all the work isn't going into writing a module's shell and not code
Reporting: Mike has taken most of reporting packages out to a module.
Reporting: CohortDefinition has been removed, Cohort has remained
Scheduler API: can be pulled out easily.
Reporting: Do we want to pull out everything and just point people at the module? deprecate things for a version as much as we can?
Reporting: Deprecate all reporting methods for 1.5. Delete web layer links, pages, controllers for reporting. Create reporting-1.0 to be included with 1.5 as a core module. For openmrs-1.6 move reporting objects/methods into reporting module and delete methods from core.
Reporting: TODO: Mike will deprecate reporting methods in trunk before 1.5 release.
OSGI: we don't need to switch to it right now.
OSGI: Ben: From what I've read, osgi is above tomcat and you include that as a plugin within it.
OSGI: TODO: Justin will read more about osgi
OSGI: TODO: Paul will reach out to some people that have osgi experience (phillipe, kayolan, etc)
TODO Ben: create a ticket to add an upper bound for version's required by a module