There are three extensions of mine that take a similar approach, where they provide a generic framework and other extensions add their own specific functionality in via hooks: Admin Links, Page Schemas and Site Settings. Semantic MediaWiki already hooks into the first two: Admin Links via a function, and Page Schemas with a class. [1] Site Settings [2] is the newest of these three, and SMW doesn't connect to it yet, but I would like to add code in to SMW to do that, most likely via another class, that would be called "SMWSiteSettings".

The code that interfaces with Page Schemas caused some controversy before on this mailing list (though the Admin Links code never did), so I thought I'd ask about it here before trying to send in a patch. I'm not planning on adding any testing code for this new code, just like there isn't for the Admin Links and Page Schemas code in SMW; but my philosophy, as I explained before when we talked about Page Schemas, is that, even in the worst case where the code crashes completely, it will not affect any of the other SMW functionality, so it can safely be ignored by SMW developers.

I certainly hope to be able to add such a patch in, but I look forward to any questions or comments.

[1] https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/includes/SMW_PageSchemas.php
[2] https://www.mediawiki.org/wiki/Extension:Site_Settings


WikiWorks · MediaWiki Consulting · http://wikiworks.com