On Wed, Jul 13, 2011 at 8:53 AM, Vincent Massol <[email protected]> wrote:
> Hi Thomas,
>
> On Jul 12, 2011, at 6:09 PM, Thomas Mortagne wrote:
>
>> Hi devs,
>>
>> I would like to introduced a standardized (at observation API level)
>> way to indicate that en event represent the beginning or the end of
>> something. The idea is them to use it in things like activity stream
>> to group events/whatever
>
> Yes, I'd like that too (we talked about it offline actually ;)) so that we 
> can have higher level events wrapping smaller ones. For example a Rename 
> event wrapping the Copy + Delete events and showing up as a Rename event in 
> the Activity Stream (with the possibility to expand it to show enclosed 
> events). The same could be done for a XAR import: a high level XAR Import 
> event wrapping all Doc creation/update events so that it doesn't "pollute" 
> the Activity Stream. We can imagine lots of Application-level events like 
> this.
>
>> or in my case maintain a stack of states in
>> the Execution context about the current action updated by listening to
>> events.
>>
>> My immediate use case is to filter some modification in automatic
>> watch feature (imported xar, crated wikis, etc.) but I feel that we
>> need that information for a larger audience.
>
> Yep definitely.
>
> Note that this change will mean the following changes too in the future:
> * Modify the Activity Stream to handle beginning/end events and nested events

Yep that's the long term plan but I will let someone else take care of
that (I hope) ;)

>
>> In details my proposal is to introduce BeginEvent and EndEvent
>> interface (feel free to suggest better names if you have some in
>> mind). Then pushing the BeginEvent instance in the context in a stack
>> of current events poped when receiving a EndEvent.
>
> context = Execution Context

Yea a tend to say "context" for ExecutionContext and "XWiki context"
for the old one ;)

>
> One thing to be careful of is that we'll need to use try/finally block 
> wherever we send these events to be sure the EndEvent is always sent as 
> otherwise it'll lead to "stack corruption".

Yep without id you need to be careful with how you deal with EndEvent.

>
>> Note that I don't not plan to put an id in Begin/EndEvent since it
>> should not be needed if they are properly generated (some job can't
>> finish if all it's sub jobs are not finished).
>>
>> WDYT ?
>
> +1
>
> Thanks
> -Vincent
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to