-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi everybody,

For long time it was acknowledged that our current way of serving the
recent changes feed to users (IRC with formatting using funny control
codes) is one of the worst-suited for this purpose. It made the life
miserable both for users who had to parse it (since nobody is actually
reading it from IRC) and for developers who had to fit that thing into
IRC line length limit. Time passed, and many ways were suggested to fix
this (including <https://meta.wikimedia.org/wiki/Recentchanges_via_XMPP>
and
<https://www.mediawiki.org/wiki/Requests_for_comment/Structured_data_push_notification_support_for_recent_changes>),
but
nobody actually went ahead and made it work.

After recent discussion on this list I realized that this has been in
discussion for as long as four years I went WTF and decided to Just Go
Ahead and Fix It. As a result, I made a patch to MediaWiki which allows
it to output recent changes feed in JSON:
   <https://gerrit.wikimedia.org/r/#/c/52922/>

Also, I wrote a daemon which captures this feed and serves them through
WebSockets and simple text-oriented protocol which serves same JSON
without WebSocket wrapping (for poor souls writing in languages without
proper WebSocket support):
    <https://github.com/wikimedia/mediawiki-rcsub>

This daemon is written in Python using Twisted and Autobahn and it takes
~200 lines of code (initial version took ~80).

As a bonus, this involves no XML streaming in any form (unlike XMPP or
PubSubHubbub), so the unicorns are happy and unharmed, and minds of
programmers implementing this will remain unfried.

I hope that now getting recent changes via reasonable format is a matter
of code review and deployment, and we will finally get something
reasonable to work with (with access from web browsers!).

- -- Victor.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iQIcBAEBAgAGBQJRPBffAAoJEHEOTaoYvDHXUCMP/jml/EGAxXLuz1sGrS5R0iRF
EJCjUKkysl1Gw0Wmr597UETtF1BCHh1myicGBN6tEjEd4N9rkNC8embBIdMjnlNN
KFfJeg4cSMhfIprjFQHdYjy3jw6mK1Kr87jc/KIWkDdWwoV5EmcbQ/cGc/UQrcd2
9cVmc3qUXWEf/oxhv3nGTfeW6gJDRZshpB66+YNr5LzAaBhroastW1r0b8UDXZt9
3u1BOr9lcHbi62DLqPOCH+aXljOidrjoWff+cV9CzUS9M4axcHThzu4Eo1s7EpgX
iWPVTuk3By3/EPxk9gJPETl7oPET6qNvNkUzix9Enu3iGuaWwEcano8xgFIfAWp8
/Prf00xIe6VjMWssb3M+G9OkaclDBTPnMs9WxYMGHui8SZT62zQowJKeF+HrphjA
A/rrpHEfQz4TlutrvtPthSKTAICzuXDcnXLUxIHhvJfVF6iq57ntA8iJ2vrrqQge
ISOIZRgfDNQFb1UOER4P5VsXN1fKaP72OCSbP9smlVOtWgoCz0IqifdFSvc/Wo/O
Fj5cafbPPB8R0AqMb29bnv89u6SvVCh5Y3v9pK5523xo0LVP+WGXe+WNuxW9jjeZ
+y/d3EQTjl40pP/MzsBxR+BCz+Q84myjmpO0FvmPPxqxnA2bz0dSyfYyZlIIu7Mj
zesgY0TGThmu12q0Y068
=oGgQ
-----END PGP SIGNATURE-----

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to