Simetrical wrote:
One thing I would love to see from this is development rules about what can go in each directory. If we get, say, a UI directory, I would like to see something like: no database queries are allowed in UI-directory files; no use of $wgOut (outside of API or development/debugging stuff) is allowed in non-UI-directory files. We could have little RULES files in each directory, and mercilessly revert changes that break them. Likewise, parser/ should have no interaction with $wgUser, for instance.
Eeeeek.
While we're at it, there's no good reason for skins/ or languages/ to be so separated from all the rest. Either skins/ and languages/ should be moved into includes/, or the contents of includes/ should be subdivided and moved out into the installation root. Moving skins/ would probably break custom skins, though, I suppose.
The skins dir is intended to be easy to drop in new skins like plug-ins. Trouble is it's kind of.... not great. :D
Problem 1: Skins aren't self-contained; you have both a .php file and a directory with CSS, JS, images, whatever. It'd be cleaner if they were all in the subdirectory.
Problem 2: Core and custom skins go in the same directory, which may be considered sloppy.
-- brion vibber (brion @ wikimedia.org)