4
We in the modules dev team are talking about a kind of a "plugin" structure of modules, which would make e.g. the waiting contest block automatically list waiting news/downloads etc.
The same could be the case for the other way around, where a "trigger"-function in e.g. Agenda-X allowed for other modules to insert data into the calendar by using this function.
I'm thinking a line like this
include '../agendax/plugin/functions.php';
addEvent($date, $subject, $poster, ..., ... ,..);
or maybe
xoops_plugin_function('agendax_addevent', $date, $subject, $poster);
where the xoops_plugin_function() could check if the agendax_addevent() function was installed and if it was, it would run with the added parameters. That way, we could perhaps have the plugin functions specified in the xoops_version.php with a
$modversion['plugin']['name'] = 'functionname';
$modversion['plugin']['file'] = 'filename';
Integrating too many things in the core is something XOOPS is going away from, only adding things, which are REALLY basic - like user management, permissions, mailer, smarty, form classes - that kind of thing.