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

Reply via email to