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

Jan Schneider jan at horde.org
Thu Oct 21 08:44:33 UTC 2010


Zitat von Josh Endries <josh at endries.org>:

> 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.

I agree that this is not really such a pressing factor anymore these  
days that it should be showstopper for a feature we really want.

>> - 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?

We're still in the process of "migrating" to migrations. :) So not  
everything has been converted to use DB migrations AFAIK.

> 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).

Yes, that's still how it works with migrations, just much easier. You  
just run:
./bin/db_migrate kronolith
and it figures out which scripts have to be run. The UI integration is  
just a suggestion at this point, but with migrations, this is easy to  
do.

>> 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. :)

We will focus on installing/upgrading Horde through PEAR, at least  
during the pre-production releases.

> Not having used H4 yet, maybe some of this is moot (I hope so!). I'm  
> going to go grab it now...

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the dev mailing list