Dynamic Configurations

Lyncode is developing a new implementation for the ConfigurationManager. Features:

NOTE: Our team have internally discussed about a database based implementation (https://wiki.duraspace.org/display/DSPACE/Database+Persistence+of+Configuration+State), but it would have conceptual problems. Mainly:

API Changes : New available methods

String ConfigurationManager.getString(String key, String default);
String ConfigurationManager.getString(String module, String key, String default);
List<String> ConfigurationManager.getList(String key);
List<String> ConfigurationManager.getList(String module, String key);

Core Changes : New possible features

It's now possible to easily set/add properties and save the respective files, also it's easy to access and modify the properties description.

Pull Request

https://github.com/DSpace/DSpace/pull/61

NOTE: The under development SpringUI and its associated features made us recognize that, changing the core ConfigurationManager, is an important change to make DSpace more user friendly in the future.