[dev] [commits] Horde branch imp_6_1 updated. 75852de8902d8f3b2ad0a19e67867849fa43b8d6

Jan Schneider jan at horde.org
Mon Feb 25 18:56:55 UTC 2013


Zitat von Michael M Slusarz <slusarz at horde.org>:

> Quoting Jan Schneider <jan at horde.org>:
>
>> Zitat von Michael M Slusarz <slusarz at horde.org>:
>>
>>> 4f2fd86 Horde_Queue is mandatory, since Horde_Queue_Storage is a  
>>> global injector instance
>>
>> That doesn't make it mandatory. It's only mandatory when you  
>> actually use the injector instance. Most of our injected instances  
>> are optional, because they are actually not instances but on-demand  
>> factories.
>
> I disagree.
>
> Optional is something like 'lzf' or Horde_Text_Filter_Csstidy, which  
> is explicitly checked for and if not available isn't used.

This might be more correct, but isn't what we are doing at the moment.

Some factories are only used when enabling certain features, e.g.  
ActiveSync, some are only used by certain application, e.g.  
Horde_Queue in Trean.

> But defining an interface in Horde_Core tells me that interface is  
> available.  In the app you're not going to check either of these:
>
> 1.) Exception thrown by interface factory (these indicate  
> configuration issues, which are always fatal)

No, but fatal errors point the admin to missing packages.

> 2.) Existence of package in package.xml (this should be checked in  
> the main package)

This is exactly what we do though, again in Trean for example.

For Horde_Queue, this moot now though, since we require it for the  
shutdown runner, and it transparently requires Horde_Queue which  
wouldn't be obvious to the user at all.
-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the dev mailing list