Patch to remove: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/447629
In the course of writing more tests for OutputPage, I came across the two methods addMetadataLink() and getMetadataAttribute() that didn't make sense to me. After a bit of digging, I found they were added in 2004 (22f8c4ce) to support output of Creative Commons and Dublin Core <link rel="meta"> tags. The only thing they do (compared to directly calling addLink()) is for some reason setting rel="alternate meta" instead of rel="meta" for the first link. I didn't find any reason why they should do that, but based on a nearby comment I speculate it was to work around bugs in some UAs that were around at that time.
The functionality of outputting these <link> tags was moved to extensions in 2011 (27c3b22b), while the methods were left in core. Those extensions (CreativeCommonsRdf and DublinCoreRdf) now call addHeadItem() directly. A search found no other uses in core or extensions. Any callers could be trivially changed to use addLink() or another method.
Legoktm points out that getMetadataAttribute() is marked public, and therefore strictly speaking can only be removed via the deprecation policy. (Although getMetadataAttribute() is really just a helper function, and the actual public interface is addMetadataLink() AFAICT.)
Practically speaking, although they aren't hurting anything, I think this is useless cruft that it's virtually certain nobody ever used, so I suggest skipping the deprecation period in this case. Does anyone object?
Immediate removal with release notes, sounds good to me.
-- Timo
On Wed, Jul 25, 2018 at 12:33 PM, Aryeh Gregor ayg@aryeh.name wrote:
Patch to remove: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/447629
In the course of writing more tests for OutputPage, I came across the two methods addMetadataLink() and getMetadataAttribute() that didn't make sense to me. After a bit of digging, I found they were added in 2004 (22f8c4ce) to support output of Creative Commons and Dublin Core <link rel="meta"> tags. The only thing they do (compared to directly calling addLink()) is for some reason setting rel="alternate meta" instead of rel="meta" for the first link. I didn't find any reason why they should do that, but based on a nearby comment I speculate it was to work around bugs in some UAs that were around at that time.
The functionality of outputting these <link> tags was moved to extensions in 2011 (27c3b22b), while the methods were left in core. Those extensions (CreativeCommonsRdf and DublinCoreRdf) now call addHeadItem() directly. A search found no other uses in core or extensions. Any callers could be trivially changed to use addLink() or another method.
Legoktm points out that getMetadataAttribute() is marked public, and therefore strictly speaking can only be removed via the deprecation policy. (Although getMetadataAttribute() is really just a helper function, and the actual public interface is addMetadataLink() AFAICT.)
Practically speaking, although they aren't hurting anything, I think this is useless cruft that it's virtually certain nobody ever used, so I suggest skipping the deprecation period in this case. Does anyone object? _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
wikitech-l@lists.wikimedia.org