https://bugzilla.wikimedia.org/show_bug.cgi?id=16497
Happy-melon <happy-me...@live.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #5634 is|0 |1 obsolete| | --- Comment #14 from Happy-melon <happy-me...@live.com> 2009-05-03 22:34:30 UTC --- Created an attachment (id=6086) --> (https://bugzilla.wikimedia.org/attachment.cgi?id=6086) Paginate Special:Allmessages using TablePager, against r50159 I've been working on a complete solution to this and related bugs, using the TablePager class that is used in, for instance, CodeReview and the AbuseFilter. This framework provides a nice way to paginate large data sets such as Allmessages. Notable features include: *Server-side filtering by customisation state (modified, unmodified or all), and by prefix *Integrated language selection *No horizontal scrolling *No javascript :D The one aspect of the implementation that I'm not entirely happy with is the need to pretend, for the benefit of TablePager and its parent IndexPager, that the data was drawn entirely from the database. To do this, I had to write a FakeResultWrapper class that could be loaded with the message array and that would then spit out the results in the manner IndexPager expects from a real database. The alternative was to overload so many of IndexPager's core methods (extractResultInfo, getBody and formatRow, at least) as to rather defeat the object of using the framework in the first place. With the FakeResultWrapper, new features would have to be implemented to ResultWrapper itself, and utilised in TablePager, in order to cause breakages. The only breaking change is the removal of the variable output formats; only HTML is now supported. Both PHP and XML-formatted lists are now available through the API; this should certainly be the access point for scripts that need a machine-readable list of the messages. The PHP output was added almost exactly five years ago (r3454), from the time when message defaults were still specified in the database, XML 18 months ago (r27389). I'll CC both committers, but I think that this functionality should be accessed through the API. Admittedly there is currently no way to get the 'original' message through the API, but that's a separate bug. comments/criticisms would be much appreciated. The patch only blanks phase3/skins/common/allmessages.js for some reason; that file is actually now unused and can be deleted. -- Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l