On Fri, Apr 24, 2009 at 5:59 AM, Andrew Garrett <agarr...@wikimedia.org>wrote:
> I've branch-merged the new preferences system that I've spent the last > few weeks developing. > > On the outside, you probably won't notice any difference except a few > bugfixes, but the internals have undergone a complete rewrite. > > All of the actual preference definitions and utility functions have > been separated out into Preferences.php, which holds all business > logic for the new system. The UI and submission logic for the system > is done in SpecialPreferences.php, which, now only a hundred lines > long, wraps a generic class I've written to encourage separation of > business and UI logic called 'HTMLForm'. > > The advantage of this clear separation is that writing an API module > is very simple, and it can be called internally, too! > > Extensions must now hook GetPreferences instead of the existing hooks > (which were too low-level to maintain compatibility with), I've > updated all extensions used on Wikimedia. This new hook allows you to > put preferences wherever you want, and a new preference can be added > in less than ten lines of code, rather than the hundred-line nightmare > that was required in the previous iteration. > > I'd like to look towards trimming some of the existing preferences > that are no longer relevant, and adding new preferences as common > sense dictates. > > Feedback, praise and criticism regarding the changes is certainly welcome! > > -- > Andrew Garrett > Sent from Sydney, Nsw, Australia > > _______________________________________________ > You are so useful. _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l