[dev] Seamless/streamlined configuring/upgrading Horde/apps
Josh Endries
josh at endries.org
Wed Oct 20 23:02:43 UTC 2010
Quoting Jan Schneider <jan at horde.org>:
> - Until now, it's perfectly possible to run Horde without a
> database. Requiring a database for configuration would break this.
> Granted, there won't be many people out there still using Horde
> without a DB, since they will miss a lot of features, but still.
Yeah, I thought about this. I think one would be hard pressed to find
someone running Horde without a DB, but it's a value call as to
whether or not you want to support that environment. It's hard to
justify, IMHO, with sqlite available, but I wouldn't be surprised if
others thought differently.
> - One of Horde's strengths and a major selling point are the great
> customization capabilities. These are closely tied to the fact that
> all configuration files are PHP scripts that you can fill with any
> logic you want.
Definitely a drawback... Some things could be worked around, like
pointing to a hooks.php location, but you would lose the ability to,
say, choose IMAP params based on the cycle of the moon (which AFAIK
isn't supported natively :)).
> Regarding upgrade detection: we already have database migration
> scripts in Horde 4, and detecting required upgrades and starting
> them from the UI is easy to implement now. And we already offer this
> for the main configuration files for years.
This is good news, I'm going to have to try out H4. Theoretically I
could clone my H3 DB and H4 would be able to at least somewhat migrate
it? Does this affect all apps and the framework in general, or just
the Horde/framework?
Maybe I've never upgraded properly...though I tried to follow UPGRADE
docs and whatnot. I don't remember seeing anything about upgrading in
the UI. I ran the PHP scripts manually (e.g. something like,
contacts_4_2_to_4_5.sql or whatever).
> Maybe different storage backends for configurations are an option,
> so you can pick between storing the configuration in db vs. php files.
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.
phpBB makes available tarballs with each release for the full thing
(e.g.: phpbb-5.tbz), diff patches for individual files
(phpbb-4-to-5-patches.tbz), and whole files for only those files that
have changed (phpbb-4-to-5-files.tbz). Sometimes the latter two are
easier to use. Just tossing out another idea. I'm sure you all don't
have enough to do. :)
Not having used H4 yet, maybe some of this is moot (I hope so!). I'm
going to go grab it now...
Thanks,
Josh
More information about the dev
mailing list