[dev] Seamless/streamlined configuring/upgrading Horde/apps

Eric Jon Rostetter eric.rostetter at physics.utexas.edu
Thu Oct 21 20:09:37 UTC 2010


Quoting Josh Endries <josh at endries.org>:
> Quoting Jan Schneider <jan at horde.org>:

>> Maybe different storage backends for configurations are an option,  
>> so you can pick between storing the configuration in db vs. php  
>> files.

I'm jumping in late, and don't know if this is even relevent.  But here
goes anyway.  My network monitoring system does a hybrid as follows:

The software itself reads the configuration files from disk.  It doesn't
know anything about a database...

But the user does configuration via the GUI, which uses/updates the  
configuration in a database.  When they are done making configuration
changes via the GUI into the database, they tell it via the GUI to run
a "sanity-check" on the (in database) config, and when that passes they
then tell the GUI to write the config from the database out to the actual
filesystem files the application uses.

Now, the problem of course is, if you modify the actual disk files without
using the GUI+database, the next time you push the database config to the
files the manual file changes are lost (well, backed up actually, but as
far as the app is concerned at that point in time they are lost).  Of
course, some might see that as an advantage instead of a disadvantage, but...

> Another semi-alternative could be allowing config files to exist  
> elsewhere. Instead of looking in conf/, check Array(/etc/horde,  
> /etc/horde/$app, /usr/local/etc/horde, ./conf) or something like  
> that. This would allow drop-in replacements (or side-by-side  
> replacements), if one hasn't customized very heavily.

Maybe even a list which could include both file paths and database
paths?

-- 
Eric Rostetter
The Department of Physics
The University of Texas at Austin

This message is provided "AS IS" without warranty of any kind,
either expressed or implied.  Use this message at your own risk.



More information about the dev mailing list