Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Core Modules: We want to take some functionality in core and iterate on it more rapidly than the OpenMRS release cycle. This is the case for the logic module.  Core modules must be loaded for OpenMRS to run; if a core module is missing, you cannot start OpenMRS.
  • Bundled Modules
    • We have functionality needed by core, but can have multiple implementations or benefits may benefit from the ability to swap in an alternative (eg, faster or better suited for a particular site) implementation.  This is the case with the XStream module, which implements the serialization API on which core OpenMRS code depends. 
    • Some modules are just generally/widely useful, so get shipped with OpenMRS. We call these "bundled" modules. Examples are FormEntry and HTML Form Entry.
    • In very few cases, a bundled module might be required (e.g., XStream is required because at least one module implementing the serialization interface is required). In most cases, bundled modules are bundled for convenience.

In general, we would prefer to move toward a world where more & more functionality is done in modules and the core is getting leaner over time – ie, a framework. 

...