[Pharo-project] Announcement vs SystemChangeNotifier
Hi guys I'm starting to look at how we can remove SystemChangeNotifier to only use SystemAnnouncement. Now Is there an equivalent to SystemChangeNotifier uniqueInstance doSilently: [â¦â¦] for Announcement? Stef
On 25 March 2012 21:49, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Hi guys
I'm starting to look at how we can remove SystemChangeNotifier to only use SystemAnnouncement. Now     Is there an equivalent to         SystemChangeNotifier uniqueInstance doSilently: [â¦â¦]
    for Announcement?
well, you can implement disabling announcer for a while.. announcer disableWhile: [... ... any announces here wont be delivered ..]. easy
Stef
-- Best regards, Igor Stasenko.
On 26.03.2012 00:08, Igor Stasenko wrote:
On 25 March 2012 21:49, Stéphane Ducasse<stephane.ducasse@inria.fr> wrote:
Hi guys
I'm starting to look at how we can remove SystemChangeNotifier to only use SystemAnnouncement. Now Is there an equivalent to SystemChangeNotifier uniqueInstance doSilently: [â¦â¦]
for Announcement?
Not implemented (yet?).
well, you can implement disabling announcer for a while..
announcer disableWhile: [...
... any announces here wont be delivered ..].
easy Following the original posts, the API should be suspendWhile: http://www.cincomsmalltalk.com/userblogs/vbykov/blogView?showComments=true&p...
And the reason I haven't done more than think about it, is respecting Igor's security concerns about subscription modifications by external users really complicates doing things like this in a good way... The above announcer disableWhile: certainly break them in the most blatant way possible :P Cheers, Henry
On 26 March 2012 12:45, Henrik Sperre Johansen <henrik.s.johansen@veloxit.no> wrote:
On 26.03.2012 00:08, Igor Stasenko wrote:
On 25 March 2012 21:49, Stéphane Ducasse<stephane.ducasse@inria.fr>  wrote:
Hi guys
I'm starting to look at how we can remove SystemChangeNotifier to only use SystemAnnouncement. Now     Is there an equivalent to         SystemChangeNotifier uniqueInstance doSilently: [â¦â¦]
    for Announcement?
Not implemented (yet?).
well, you can implement disabling announcer for a while..
announcer disableWhile: [...
... any announces here wont be delivered ..].
easy
Following the original posts, the API should be suspendWhile: http://www.cincomsmalltalk.com/userblogs/vbykov/blogView?showComments=true&p...
And the reason I haven't done more than think about it, is respecting Igor's security concerns about subscription modifications by external users really complicates doing things like this in a good way... The above announcer disableWhile: certainly break them in the most blatant way possible :P
+100 yes.. now since i remember our discussion about it.. yes.. i am still against it. because it just violating the principle of least authority: - any guy who thinks he is a position to suspend announcements can do it, but since he doesn't knows who else subscribed to them, he simply can ruin the logic of other event consumers... I think we should think about other approach: In case of system changes notifier , a "do silently" was do not log the changes. That means that if we could have a logger plugged into system announcer, one should tell a system logger to ignore system notifications and do not log them for a while, instead of making system notifier suspending all subscriptions, leading to unknown consequences for the rest of event listeners! If guy wants to suspend logging, he should tell logger to suspend it.. like that, no other facilities will be affected. -- Best regards, Igor Stasenko.
Ok I will digest that :) Thanks for the food for thoughts.
yes.. now since i remember our discussion about it.. yes.. i am still against it. because it just violating the principle of least authority: - any guy who thinks he is a position to suspend announcements can do it, but since he doesn't knows who else subscribed to them, he simply can ruin the logic of other event consumers...
I think we should think about other approach: In case of system changes notifier , a "do silently" was do not log the changes. That means that if we could have a logger plugged into system announcer, one should tell a system logger to ignore system notifications and do not log them for a while, instead of making system notifier suspending all subscriptions, leading to unknown consequences for the rest of event listeners! If guy wants to suspend logging, he should tell logger to suspend it.. like that, no other facilities will be affected.
-- Best regards, Igor Stasenko.
participants (3)
-
Henrik Sperre Johansen -
Igor Stasenko -
Stéphane Ducasse