it may surprise you but there are other languages than python and in
these, things like this aren't that simple...
On Sun, May 11, 2014 at 1:14 AM, Alex Monk <krenair(a)gmail.com> wrote:
I've fiddled around with this a bit:
On my Ubuntu system, I simply got a library: sudo pip install
socketio-client
Then made this Python script:
---
from socketIO_client import SocketIO, BaseNamespace
class RecentChangeNamespace(BaseNamespace):
def on_connect(self):
self.emit('subscribe', ['enwiki'])
def on_change(self, data):
print(data)
socketIO = SocketIO('rcstream.wmflabs.org') # This host seems to be sending
the same example entries at the moment, obviously we should get an actual
RC stream from it or a production host later
socketIO.define(RecentChangeNamespace, '/rc')
socketIO.wait()
---
And it prints entries to console like this (Python just prints out objects
in a way that kind of looks like JSON):
{u'comment': u'', u'wiki': u'enwiki', u'type': 0,
u'title': u'Main Page',
u'timestamp': 1398993841, u'server_script_path': u'/w',
u'namespace': 0,
u'server_url': u'http://en.wikipedia.beta.wmflabs.org',
u'length': {u'new':
585, u'old': 580}, u'user': u'Alice', u'patrolled': True,
u'bot': False,
u'id': 9, u'minor': True, u'revision': {u'new': 9,
u'old': 8}}
It's so much nicer. Sorry Petr, I think this is much more suitable than the
mess that is connecting to IRC and parsing everything. I definitely want to
see this replace the IRC feed entirely (with the obvious reasonably long
deprecation period).
Alex
On 5 May 2014 10:29, Petr Bena <benapetr(a)gmail.com> wrote:
Given the current specifications I can only
support this change as
long as current IRC feed is preserved as IRC is IMHO, as much as evil
it looks, more suitable for this than WebSockets.
I am not saying that IRC is suitable for this and I know that people
really wanted to get rid of it or replace it with something better,
but I just can't see how is this better.
On Mon, May 5, 2014 at 10:37 AM, Daniel Kinzler <daniel(a)brightbyte.de>
wrote:
Am 05.05.2014 07:20, schrieb Jeremy Baron:
> On May 4, 2014 10:24 PM, "Ori Livneh" <ori(a)wikimedia.org> wrote:
>> an implementation for a recent changes
>> stream broadcast via socket.io, an abstraction layer over WebSockets
that
> also
provides long polling as a fallback for older browsers.
[...]
How could this work overlap with adding
pubsubhubbub support to existing
web RC feeds? (i.e. atom/rss. or for that matter even individual page
history feeds or related changes feeds)
The only pubsubhubbub bugs I see atm are
https://bugzilla.wikimedia.org/buglist.cgi?quicksearch=38970%2C30245
There is a Pubsubhubbub implementation in the pipeline, see
<https://git.wikimedia.org/summary/mediawiki%2Fextensions%2FPubSubHubbub>.
It's
pretty simple and painless. We plan to have this
deployed experimentally
for
wikidata soon, but there is no reason not to roll
it out globally.
This implementation uses the job queue - which in production means
redis, but
it's pretty generic.
As to an RC *stream*: Pubsubhubbub is not really suitable for this,
since it
requires the subscriber to run a public web
server. It's really a
server-to-server protocol. I'm not too sure about web sockets for this
either,
because the intended recipient is usually not a
web browser. But if it
works,
I'd be happy anyway, the UDP+IRC solution
sucks.
Some years ago, I started to implement an XMPP based RC stream, see
<https://www.mediawiki.org/wiki/Extension:XMLRC>. Have a look and steal
some
ideas :)
-- daniel
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
_______________________________________________
Wikitech-l mailing list
Wikitech-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l