Type: New Feature
Affects Version/s: None
Fix Version/s: None
Maybe it's important at this stage that we start making distinctions between different types of global properties, or at least allow for their default values to be configured via implementation-defined properties files.
Right now, all of our global properties are lumped into one space. These fulfill a wide range of needs:
- Internal system properties which should never be modified (and really should never been seen) (eg. htmlformentry.started)
- Implementation-level configuration properties (eg. reporting.preferredIdentifierTypes)
- Server specific settings (eg. formentry.infopath_server_url
It would be nice if we could make some distinction between these and provide for more robust ways of specifying them. For example:
- Hide all internal system properties. Display them only on an advanced configuration page that is "difficult" to find. These are really only meant to be used by code that knows what to look for.
- Allow default property values to be specified via implementation-defined properties files (these could be directly in the openmrs-runtime.properties file, or they could be separate properties files linked to from openmrs-runtime.properties
- Allow administrators to override defaults via a "settings" page, which clearly organizes core and module properties.