MediaWiki Developer Meet-Up 2009/Notes/XMPP
- Day/Time: Saturday April 5th 10:30-11:30
- Topic: XMPP recentchanges feed (notes from dev meeting: [1])
- Session leader: Daniel Kinzler (Duesentrieb)
- Participants: Brion, Catrope, Leafnode, Luca de Alfaro, Rainman, Dani
- Two use cases:
- RC feed (low number of users, high traffic)
- Watchlist feed (high number of users, low traffic)
- Needs auth, does that work with XMPP?
- Alternatively, use unguessable channel name that user can change (in prefs)
- Could also be used for watchlist RSS
- Performance requirements
- No idea how many users is sustainable, find out by experimentation?
- Subscribers through Jabber.org, Gmail.com, etc. are relayed; are the messages collapsed too? (i.e. one msg for multiple rcpts)
- Pop-ups or IM profile?
- With pop-ups, you can filter by event type
- Could be used to facilitate differentiation (diffs, metadata, both, ...)
- API XML as payload, options for other formats (JSON) too?
- XML payload wouldn't produce < crap, making parsing easier
- Info in payload
- RC metadata
- Full text of new rev (optional)
- Machine-readable (unified) diffs with GNU diff (needs diff cache modification)
- Would reduce bandwidth used for incremental rev fetching
- Link diffs (off-topic)
- XMPP can also be used in a pull fashion to query the API
- Get UDP packets from main cluster to TS
- UDP packets are limited to ~64K
- Fulltext/diff inline when small enough, flag+XMPP query when bigger?
- Leafnode will write a tool for relaying UDP packets
- Catrope will write a tool for producing UDP packets from RC with API XML payload
- Duesentrieb has a pluggable UDP framework lying around somewhere
- For testing, generate UDP packets from TS à la River's RC ticker