On Mon, Mar 11, 2019 at 9:48 AM Piotr Miazga pmiazga@wikimedia.org wrote:
I noticed that ManualLogEntry items could have tags only when those entries are published to `rc` or `rcandudp`.
Hmm. Yes, it looks like the tags aren't being added in the `udp` case. Looks like it was broken in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/312743. Filed T218110 https://phabricator.wikimedia.org/T218110 for that.
Then the extensions can attach tags via RecentChange_save hook and everything works perfectly.
I note this is not really related to the fact that tags set on the ManualLogEntry aren't stored when entries are published to `udp`, as that hook doesn't directly deal with log entries at all.
To support tagging published log entries directly rather than via the associated RecentChange entry, you'd probably want to add a "ManualLogEntryPublish" hook or something like that.
Additionally, I'd like to introduce a Taggable interface[6], that provides a one way to tag objects (right now RecentChange exposes addTags() method but the ManualLogEntry exposes setTags() method).
"Taggable" seems like it may be too generic. "MediaWiki\ChangeTags\Taggable" could work.