In reply to what Markus wrote in a previous email: "In order for me to make informed decisions about when to release the next version, it would be useful if SVN committers would let me know when major fixes (or other important extensions of the functionality) have been implemented. Another aspect of this is code quality: it is always good to have another developer look at changes before they are shipped with the new version."

After making regular commits to SMW over the past 3 months, I realize two things greatly hinder the ability of people who do not know the whole codebase and the expected behaviour of all features: testability and review.

Like Markus noted, review is always good. Unfortunately no one is doing it right now (as far as I know), as the SMW commits are just getting deferred on the MediaWiki code review tool [0]. I think it'd be awesome if some people where willing to help out reviewing. If my commits to SMW get reviewed, I'm quite willing to help out to :)

Testing for bugs and regressions is very difficult in a codebase as complex, and unfortunately not very modular (yet), as SMW. This is true especially if you do not know the exact expected behaviour off all  the features that are affected by any changes you make. In my experience, you simply miss bugs altogether, since there is no testing framework or so to test the code against, and simply might mistake regressions for the expected behaviour. A bunch of tests to run SMW against would be extremely useful. What I used to do is trigger the SMW data refresh script via SMWAdmin, and then run it via RunJobs and see if there are any errors or warnings, but my wiki simply does not have all SMW features used on it. Does anybody have a better way of testing SMW, or an idea of how to create it?

The current lack of review and testability encourages people to just hack on top of the SMW core code, instead of going for better approaches that require changes in SMW itself.

[0] http://www.mediawiki.org/w/index.php?title=Special:Code/MediaWiki/path&path=%2Ftrunk%2Fextensions%2FSemanticMediaWiki

--
Jeroen De Dauw
* http://blog.bn2vs.com
* http://wiki.bn2vs.com
Don't panic. Don't be evil. 50 72 6F 67 72 61 6D 6D 69 6E 67 20 34 20 6C 69 66 65!
--