Sunday, June 08, 2008

COODBMS, a qualified success

I count COODBMS as an overall success. It includes a significant number of AgileWiki3's capabilities, despite having a very different implementation. It is significantly more robust than AgileWiki3 and solved the problem of having an ever growing footprint on disk--AgileWiki3 had no equivalent to COODBMS's PurgeHistory. Still it is a partial implementation of AgileWiki3 and there is much to be done if we were to continue this implementation.

The failure of COODBMS is a general lack of clarity. This is partly because it was a layered implementation which did not anticipate the all of the requirements. Partly it is because the implementation is so very different from AgileWiki3. And partly because an important capability--time navigation--was added as an afterthought. Considering the size of the effort remaining, I believe it best to begin again with COWDB2, though hopefully there will be many large chunks of code that can easily be moved to the new implementation.

The rewrite will have a very similar overall architecture, with only minor changes. Where I expect to have the most changes are in the object model. The old implementation had 2 object models in the server and a third in the client. And as the implementation progressed, it was the object model which suffered the most. Otherwise I expect most of the ideas and techniques to carry over, all be it as a cleaner and clearer implementation.

As released, COWDB release 4.1 and COODBMS release 0.19.1 are fully functional and have no known bugs. In that reguard I can only hope that COWDB2 does as well.

0 Comments:

Post a Comment

<< Home