Hey,
Some suggestions regarding code quality and design:
* The MediaWiki SpecialPage system has serious design issues and is best
treated as legacy API. I recommend not binding domain or application logic
to it where this can be avoided. This means not having most code in a
subclass of SpecialPage.
* Creating inheritance hierarchies to share code is very likely a bad idea.
This is done often in MediaWiki, and in all cases I'm aware of has very
negative consequences. Try separating concerns and using composition.
* Use hooks with caution. They can easily lead to lots of tight coupling
and harmful procedural control flows. I suggest only introducing hooks that
are clearly needed, and keeping argument lists of these to a minimum. This
means both argument count and argument size (passing in a whole context
object is likely bad for instance).
That being said, great you are working on improving this code! Also note
how these are general suggestions/concerns that came to my mind after
reading your email, not feedback on specific code or changes.
Cheers
--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--