[dev] [commits] Horde branch master updated. 71c1d5b996bac5e3df65edb1aad2b11ca573a0cb
Michael M Slusarz
slusarz at horde.org
Thu Mar 31 16:14:22 UTC 2011
Quoting Jan Schneider <jan at horde.org>:
>> Add listAlarms() to methods provided by Horde_Core_Registry_Application
>>
>> This is not an API method - which are unique to each application - but
>> instead an Application method since it requires the same function
>> signature across all applications.
>
> I was never sure where exactly we do the cut between Application and
> API methods. This distinction makes sense too, but for me it was
> always a more important criterion whether the method makes sense as
> an external API method, i.e. whether it's a method that could
> potentially be used from an external consumer, and has a signature
> that can be easily be used even from a non-Horde context.
I think in this case, if it makes sense to provide a list of alarms to
an external consumer, then you should add a separate alarms method to
that application's API. For something like IMP, this is not going to
make much sense since alarm notifications are nothing more than
parsing the contents of IMAP output, which can be obtained via other
API methods. For kronolith, an alarms method is probably needed since
the data analyzed to create the alarms is internal to kronolith so
this is the only way to determine this .
The distinction here seemed fairly easy since there was code in
horde/Alarm that did nothing more than loop through all applications
and look for a listAlarms() method. So this method has to be
standardized across all applications, or else things wouldn't work
properly or as expected.
Final note: A gigantic chunk of horde/Alarm relies on horde/Core. We
should probably deal with that before the stable releases are
finalized (?)
michael
___________________________________
Michael Slusarz [slusarz at horde.org]
More information about the dev
mailing list