Been away for a few days, lending a hand to the folks at Async to
get their IndexedCatalog back in shape, and working hard to get the
first round of sync between two separate FileStorages. We
also wrote some docs on how it is supposed to work.
This is not a general purpose ZODB sync, but instead, its very very
specific to the IndexedCatalog. So, we can actually call it a ‘Shelf’
A Shelf is the ‘unit’ of work in IC, which contains multiple
‘Catalogs’, and each Catalog has a set of ‘Indexes’, one for each
attribute you want indexed. Indexes are basically a BTree, where the
key is the value of the indexed attribute, and the value is the object
OID (after our last changes, that is. before that the value was a
reference to the object).
It was very nice to work with them, specially Kiko. We had long
discussions about how the said synchronizer should be implemented, and
I think that the docs reflect our goals very well, now its wait and
see if it will actually work in practice (which I’m particularly sure
will be true), and looking forward to use IndexedCatalog myself!
I just regret cause I didn’t had time enough to look at Kiwi, which
was on my TODO list, but I expect to be back there soon for a crash