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

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.