2009-10-01 Developers Conference Call
Date
1 October 2009
In Attendance
Mike Seaton
Darius Jazayeri
Burke Mamlin
Brian McKown
Zeshan Rajput
Win Ribeka
Ben Wolfe
Agenda
Core modules vs modules. Include classes or jar file from core module in trunk? Burke
Road Map review?
"Random" ticket to discuss http://dev.openmrs.org/ticket/1044
Minutes
Core modules
Should we offer an OpenMRS .war that does not include the core modules for those who just wish to upgrade?
Otherwise, should the wizard allow you to opt in/out of core modules.
Burke says that anything without the core modules is a different distribution.
If you unload a core module and then redeploy openmrs.war, then it will reinstall core module.
Darius would like to give people the ability to customize upgrades in the install wizard so you can opt in/out of installing/upgrading core modules.
The reason for core modules is that it allows the rate of development of a core feature to progress independently of the rate of development of trunk.
Should we distinguish core module vs. recommended module or distributed module?
What are the proposed core modules (Burke: yay. Darius and Mike: nay.):
Logic
Serialization
Synchronization
Definition of core module:
Is requirement for the basic OpenMRS functionality.
Burke: Core interface depends upon a core module for functionality. (Ben: nay)
Evolves independently of trunk.
Core OpenMRS never should call any code in a core module (or any other module).
Ben: If you can uninstall a core module without breaking OpenMRS, then it should not be a core module.
Definition of distributed module:
Module that comes with OpenMRS as a distribution.
Should OpenMRS follow the paradigm of Eclipse, where the entire distro is modular-based?
Other paradigm is Linux, where there is a kernel that cannot run without many basic modular features.
Ben: See no distinction between core module and recommended module.
Ben has example:
In core we have implementation_id stored as global property
But it must call the serialization service (which is a module).
If someone does not care about implementation_id and wishes to uninstall serialization service, that is fine but they will not have serialization service.
Should have OpenMRS even run or startup without a core module?
Ben, Darius, Mike say no.
Burke says yes. Let the user shoot self in foot.