[Dev] Chandler no longer uses the NotificaitonManager

John Anderson john at osafoundation.org
Sat Dec 11 19:36:27 PST 2004


At Brian's request I removed all the dependencies on the 
NotificationManager. Most of the changes related to my use of CPIA 
events, however, the changes affected lots of other people's code.

The changes were extensive, consequently it's quite possible my tests 
didn't uncover all the bugs introduced by my changes. So if you 
encounter any new problems let me know.

After looking over all the uses of the NotificationManager, it's clear 
to me now that it didn't provide any benefit in the situations where it 
was used. Removing its use simplified the design, eliminated code, and 
sped up Chandler. Perhaps the biggest problem with the 
NotificationManager was that the problem it solved wasn't a problem we 
needed to solve thus far. Also, the design choice of using 
non-persistent runtime data structures instead of persistent repository 
data structures created a lot of unnecessary code and lead to 
performance problems. For example, it would have been simpler and more 
efficient to use refcollections and bidirectional references instead of 
building non-persistent python dictionaries of items found at startup by 
using a query. This is another example of how using the repository can 
simplify the application code.

I'm inclined to remove the NotificationManager and its unit tests unless 
anyone objects.

John



More information about the Dev mailing list