This patch introduces a namespace declaration for the
MediaWiki\RCFeed to MachineReadableRCFeedFormatter and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: I51110d3b05ae6d2927c49dea5c3fd05f418f595b
This patch introduces a namespace declaration for the
MediaWiki\RCFeed to RCFeedFormatter and establishes a class
alias marked as deprecated since version 1.43.
Bug: T353458
Change-Id: Ief351b40fb117e57a868ef7618df2109b550ff58
* Move the current URL logic from IRCColourfulRCFeedFormatter
to a new method RecentChange::getNotifyUrl (covered by tests now).
* Re-use this method in MachineReadableRCFeedFormatter so that
the diff/patrol/rcid etc URL is also available in the modern
JSON-based EventStreams service. And in particular to allow
porting of the legacy irc.wikimedia.org backend to a much simpler
one that is based on this.
* Also expose a title_url field which was previously missing,
and made consumption of the data needlessly difficult.
Bug: T234234
Depends-On: Id740134ef30b2276688d7b7caedb6bb652158761
Change-Id: Ic3e0aebdb61b5c0e5fbed08656db4a1e90b67518
Now largely automated:
VARS=$(grep -o "'[A-Za-z0-9_]*'" includes/MainConfigNames.php | \
tr "\n" '|' | sed "s/|$/\n/;s/'//g")
sed -i -E "s/'($VARS)'/MainConfigNames::\1/g" \
$(grep -ERIl "'($VARS)'" includes/)
Then git add -p with lots of error-prone manual checking. Then
semi-manually add all the necessary "use" lines:
vim $(grep -L 'use MediaWiki\\MainConfigNames;' \
$(git diff --cached --name-only --diff-filter=M HEAD^))
I didn't bother fixing lines that were over 100 characters unless they
were over 120 and triggered phpcs.
Bug: T305805
Change-Id: I74e0ab511abecb276717ad4276a124760a268147
* Make MachineReadableRCFeedFormatter use it
* Some unit tests
* Also fixed some line-too-long warnings in RecentChange.php
Change-Id: I443d14f5d4cdac0945cb9c03608d55745bbb865b
The RecentChange does not guarantee that all attributes are populated.
Handily it provides a safe getter function in
RecentChange::getAttribute() that will return null with out triggering
an undefined index warning for missing attributes. Protects against log
spam like "Notice: Undefined index: rc_id".
Change-Id: Idee844f0d40a2a084e17f201b5e1501d59a0464d
Like we do in ApiQueryRecentChanges as well, expose the named
rc.type property, not the internal integer constants.
Change-Id: I89a948eee999032bb2e42cc23345affa879afb42
Reviewers of Id819246a9 (Tim, Timo, Chad) have commented that it
would be preferable to identify wikis by their canonical hostname
rather than the value of $wgDBname. Exposing it here so that
the rcstream server can filter subscriptions by it.
Change-Id: I503a0134a8613daddaae9d8df29a1e27fbfd93bc
Endpoints like XMPP natively support sending XML,
which can be advantageous in some cases.
Since most of the logic is the same as the existing
JSONRCFeedFormatter, it was moved into an abstract
MachineReadableRCFeedFormatter class, which simply
creates the array and lets the implementations format
it.
Change-Id: I44f22777cb55fc1ca6527b79ef40b340e2afbd58