Details
-
Bug
-
Status: Closed
-
Must
-
Resolution: Fixed
-
None
-
None
-
None
Description
Right now a module (e.g. sync) is allowed to mark itself as mandatory. That's not a sufficient mechanism for a core module like logic.
In core (probably in OpenmrsConstants) we need to specify a list of core modules, initially just the logic module. (Probably it needs to include a min version, e.g. have a Map<String, String> coreModuleMinimumVersions.)
If you try to start OpenMRS and any of those modules aren't present, then startup should fail with an appropriate message.
Bonus points for allowing "install module" on the initial-setup screen if you're authenticated as an admin.