One improvement I've been thinking about is to only write back properties that have actually changed. This would help in my case since I have my own web gui that disables/enables my services. I do so by setting an iPOJO @Controller property to true/false via config admin. I therefore don't use any variables for this particular property but my other configuration properties (that are not changed) are "ruined" because of the variable expansion.
I'm not sure if config admin provides enough information to determine what properties have been changed. Either way file install could probably evaluate it's current value of the property (and do variable expansion in the process) and compare this value with the value provided by config admin. If they are the same than no writing back of this property is needed and the variable would then be preserved in the configuration file. I guess it would also be possible to preserve variables in properties that have been changed as well. File install could check if the original value contained variables. It could then try use those variables for the new value as well. It would then have to search in the new value if the value of the property is still used and then substitute that value for the property. This is not foolproof and could be ambiguous but I think it could be implemented to work in most cases. This feature should be configurable since it is not 100% safe. The feature not to write back properties that have not changed could also be configurable but doesn't really have to be since I believe it can be made foolprooof. /Bengt 2012/4/25 Bengt Rodehav <[email protected]> > I use file install (currently 3.1.10 but have also tried with 3.2.2) in > Karaf 2.2.5 to feed configurations (both normal and factory configurations) > into the config admin service. > > In my configuration files I use different variables that I define in > Karaf's custom.properties file. I'm not sure whether Karaf exposes them as > system properties but they are nevertheless picked up by fileinstall. > > However, when fileinstall is configured to write back configuration > changes to the configuration file, these variables are not preserved but > are expanded. This makes it very hard to read and further maintain the > configuration files. I can easily see why this is happening since the work > is divided between file install and the configuration admin and the latter > does not know about the variables at all. > > I don't have a suggestion how to solve this but this is a major problem > (for me at least) to use fileinstall and config admin together. I guess if > fileinstall was just an implementation of the config admin instead of a > general listener to configuration chagnes there would be other > possibilities. > > Does anyone have any suggestions how to combine write back of > configuration changes with preservation of variables? Could fileinstall > provide such a feature? > > /Bengt > > >

