What does compatibility mean in terms of TWiki
Quoting Peter: "some developers think that compatibility is less important than a cool new design". What does compatibility mean? Does it mean that one must maintain code architecture that is no longer the best way of doing things (assuming that is ever was)? Does it mean that all existing topics should continue to work with an indefinite number of future releases? Or does it mean ensuring that there's a reliable script that will turn old TWikis into new ones that work with an architecture that's far better designed?
One of TWiki's main features is also something that makes the issue of compatibility trickier than with many/most other wiki implementations. Once you've moved beyond the simple text markup of basic wikis and into powerful functionality like %SEARCH%, it's no longer a matter of gently massaging text files to maintain compatibility with new versions. But does this mean that TWiki must forever live with the current overfeatured and hideously slow %SEARCH%, which currently supports approximately 26 arguments!
Clearly TWiki can't abandon its current users. At least I think that's clear. Many companies have apparently built up large repositories of documents and are relying on TWiki to continue to work. Equally clear, however, is that the current implementation does not scale well.
This is a problem on at least two fronts. First, how does one manage a huge number of topics so that things can be found and organized, preferably with some sort of automated organizing tool? Tags are one thing that are being explored to handle this, although I think it's become pretty evident that manual tagging alone is unfeasible once one has a large number of topics. (Manual tagging is far more feasible with a new install with cooperative users.)
Second, what technical changes have to be made to the engine so that large TWikis don't come to a grinding halt? There have been numerous reports of TWiki sites performing far more slowly under Dakar than Cairo. The only difference I have any real knowledge of regarding the two is that Dakar is far more object-oriented. I find it hard to believe that that is the explanation for such a marked slowdown and, if it is, that says something about the language, not the methodology.
I don't have any good answers to offer at the moment. Compatibility can't be abandoned, depending on how one defines the term. But new ideas that offer notable performance or other useability gains oughtn't be dismissed just because they're new or because they present compatibility challenges. A "compatible" twiki that is too slow to use and too hard to navigate is just as bad as a new engine that renders obsolete the current topic.
--
MeredithLesly - 10 Mar 2006