In Elgg 1, we will finally have native support for a River – that is, a stream of short updates of what you and your friends are up to on your profile.
Here is a short post explaining how you as a plugin writer could add river reporting to your code!
The key to how the river works is the Elgg 1 events system and the system log.
The system log will listen to events and some events pass an object. If the object implements the
Loggable interface it will automatically be included in the system log.
In order for things to appear in the river you need to provide a view. This view should be
CLASSNAME is the class you’re interested in and
EVENT is the event.
For example, if you want to output
create events for all
ElggObjects then you would need to create a file called
create.php in a directory
This file will be passed a number of variables via
ElggUserobject of the user that performed the action.
$vars['log_entry']: The system log row (which includes the event).
$vars['object']: The subject of the event.
You can use this information to put together a very customisable view, don’t forget to internationalise your strings!