MediaWiki Developer Meet-Up 2009/Notes/XMPP


 * Day/Time: Saturday April 5th 10:30-11:30
 * Topic: XMPP recentchanges feed
 * 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 &lt; 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