On 11/11/2010 01:16 AM, Thomas Mortagne wrote:
> On Wed, Nov 10, 2010 at 20:45, Sergiu Dumitriu<[email protected]>  wrote:
>> On 11/10/2010 07:29 PM, Marius Dumitru Florea wrote:
>>> What about creating an EventLogger component with implementations for
>>> each of the events that need to be logged by the activity stream? When
>>> an event is triggered you lookup the corresponding EventLogger. If there
>>> is no EventLogger for the specific hint then ignore the event.
>>>
>>
>> The problem is that you have to write extra code to store the extra
>> events. It's just moving the current if-else to a different level. It is
>> more easily extensible, but I don't agree that any new component sending
>> events has to have a dependency on the activity stream plugin to also be
>> able to store those events in the stream.
>
> I don't agree with the activity stream dependency. It's not about
> activity stream, it's a handler that extract important event
> informations in a serializable object. This system is then used by
> activity stream and remote observation manager to store or send
> events.

Code speaks better than people. Here's a proposed first patch: 
http://jira.xwiki.org/jira/browse/XPAS-29

>>
>>> Hope this helps,
>>> Marius
>>>
>>> On 11/10/2010 10:08 AM, Stefan abageru wrote:
>>>> Hi devs !
>>>>
>>>> I thought about adding some changes in Events and Activity Stream.
>>>>
>>>> First of all, I want to remove all the listeners from Activity Stream
>>>> and make this class listen to AllEvent, making it capable of cathcing
>>>> all events that occur in the wiki (and this way, when adding a new
>>>> event, you wouldn't need any modifications to this class in order to
>>>> catch it).
>>>>
>>>> Secondly, I would like to modify onEvent function in the class so that
>>>> it uses the simpleClassName of the event occurred in order to log the
>>>> event (the eventType would be this simpleClassName...for example
>>>> DocumentSavedEvent, AnnotationAddedEvent and so on).
>>>>
>>>> And thirdly i thought about adding one field in AbstractFilterableEvent
>>>> called /identifier/ and make all events extend directly this class. And
>>>> that /identifier/ would be used in a different way by the events
>>>> themselves. But it would be used to retrieve infos about that events.
>>>> And so, when logging an event, we could use classname + identifier.
>>>> For example
>>>> AnnotationAddedEvent + "This is my annotation" .
>>>> CommentAddedEvent + "This is my comment" or the number of the comment.


-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to