The module engine needs to support starting all dependent modules when a module is started.
Should this happen automatically, or do we require confirmation? (e.g. a boolean parameter in the API call indicating whether to recurse)
- If you try to start a module, and all modules it depends on are installed in the OpenMRS system, but some of them are not started, all the modules are started together
- In this scenario, the OpenMRS/Spring context must be refreshed just one time (not once per module)
- If you try to start a module, and it depends on any modules that are not installed, then the UI should show an error message, but no expensive reload/refresh operation should happen (and no module states should be changed)