On 2013-03-10 1:20 AM, "Victor Vasiliev" vasilvv@gmail.com wrote:
-----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_not...
), 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
Good work. Its wonderful to see people just go and fix things that need fixing instead of the usual bikesheddingness that often takes place.
-bawolff
P.s. I too used to read the irc rc feed (back when i was an active editor at enwikinews). It can be useful on smaller projects