We are starting to use Ajax in a lot of places over Noosfero and we'll probably use it more and more, but there is no infrastructure for updating the related elements on the page that are affected too by the Ajax changes. We must build some kind of event based infrastructure so that any changes through an ajax requisition triggers actions on the related elements of that change. This will grant the consistency of the page even with external codes, like with plugins.
This idea must be well researched but my basic idea is something like that: every element on the page must specify the models on which it depends and the function that will update it's content. With this, every ajax requisition that updates the database must fire an event with the related model and all the elements related with that kind of model must update it's contents.
-- RodrigoSouto - 20 Jun 2011