John Anderson wrote:
On the collections API, you've switched a create at construction time model. Does this mean it will be impossible to restructure the collection tree, short of destroying a subtree and constructing an entirely new one?

Yes, that will be impossible without destroying and re-constructing. The way the code was written before wouldn't have worked anyway, the hard part here is that when a collection tree is modified in place, a large, potentially huge, number of notifications have to be sent around (at least to maintain upstream indexes). None of that was in place in the old code, except for the add/removeSource method in collections.py, which is still there and still works as before. Once we have a use case for such in-place collection structure rearranging, beyond what is implemented and functional today, we can reconsider this.
I think we could get away with not sending any notifications when rearranging the collection tree and recompute everything after the rearrangement. Independent of whether or not the old code actually worked, I suspect not allowing rearrangement will end eventually end up biting us, but I don't think we should work on it until we end up with a use case.

+1 - trying to optimize for rearranging/restructuring the collection tree seems...well, non-optimal. We currently have no use case or requirement for this. The way-off-in-the-future rule builder is about the closest thing to a use case than I can think of, and I don't think it would suffer from destroying/recreating a collection tree.

Alec

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev

Reply via email to