RFC on mediawiki.org:
- (2012) https://www.mediawiki.org/wiki/Requests_for_comment/Structured_data_push_notification_support_for_recent_changes
- (2014) https://www.mediawiki.org/wiki/Requests_for_comment/Publishing_the_RecentChanges_feed
Author: mnh
Description:
Current browne IRC feed isn't exactly parser-friendly, with colors and rather peculiar field arrangement
making things a lot harder than would be necessary. Since many tools depend on the stream, I'd suggest
to additionally offer a less painful format.
Proposed format: separated list using either U 001E (std record separator) or U 001F (std unit separator)
as delimiter with field order:
page, editor, minor, new, edit type, action flags, action duration, size delta, diff link, summary
s.t. (just BNFing the non-obvious)
<minor> ::= 'M' | ''
<new> ::= 'N' | ''
<edit type> ::= 'block' | 'protect' | <whatever> | ''
<block action> ::= 'anononly' | 'nocreate' | 'nomail' | <block action>',' <block action>
<protect action> ::= 'autoconfirmed' | 'sysop' | 'none'
<action flags> ::= <block action> | <protect action> | ''
<action duration>::= <timestring> | ''
Examples: (; used instead of U 001[EF] here)
User:myVictim;EvilAdmin;;;block;anon-only,nocreate;infinite;http://XY.wikipedia.org/wiki/Special:Log/block;because I can\n
Testpage;Editor;M;N;;;10;http://XY.wikipedia.org/w/index.php?title=...;just testing\n
Advantages:
- tool programmers could simply fetch and split() each line, not much chance for bugs to creep in
- independent of any particular project settings, whereas current stream uses e.g. "„[[Benutzer:Foo]]“ für den Zeitraum: Unbeschränkt (Erstellung von Benutzerkonten gesperrt)", the format thus eases i18n of tools
- easy to specify
- probably pretty straightforward to implement
Disadvantages:
- not particularly well suited for human readability. When offered as a supplement stream instead of entirely replacing the old one, this is however neglectable.
Regards, mnh
Version: unspecified
Severity: enhancement