[dev] Correct method for inter-application calls

Jan Schneider jan at horde.org
Tue Jun 3 23:18:45 PDT 2003


Zitat von "Jason M. Felice" <jfelice at cronosys.com>:

> On Tue, Jun 03, 2003 at 03:49:33PM -0600, Diego Rivera wrote:
> > Hello all!
> >
> > I'm writing some integration stuff that may require interoperation
> > between Kronolith, Imp, Moment, Nag and Turba, and I'm wondering what
> > the correct mechanism to follow would be to call a function exported in
> > - say - IMP's api.php from a method within a Turba backend driver, or
> > within turba itself.
> >
> > I'm reluctant to start doing includes and requires all over the place,
> > so if there's a horde-standard way of doing this I'd much prefer that
> > (a-la Horde::callAppApi('imp', '_api_call', arg1, arg2, ... , argN ) ).
> >
> > I looked at Horde.php and horde's api.php in search of what I would be
> > needing (or something close) and came up empty except for listApis()
> > which I don't think is what I want.
> >
>
> I just found this stuff myself ;-)  Look in lib/Registry.php.  You want
> to do something like this:
>
> global $registry;
> if ($registry->hasMethod('projects/get_assigned_ticket_ids')) {
> 	$result = $registry->call('projects/get_assigned_ticket_ids');
> }
>
> The 'projects/' is from the 'provides =>' line for that app in
> config/registry.php, the `get_assigned_ticket_ids' is the name registered
> in that applications api.php.
>
> Sample code can be found in kronolith, which gets events from all over
> the
> place.

And not to forget the Links api that allows connections between arbitrary
objects from different Horde applications.

> What sort of integration?  I'm planning a bit myself
> (imp/whups/nag/hermes).

Jan.

--
http://www.horde.org - The Horde Project
http://www.ammma.de - discover your knowledge
http://www.tip4all.de - Deine private Tippgemeinschaft


More information about the dev mailing list