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.