Page MenuHomePhabricator

"Software" field of metadata on file description page is difficult to link correctly
Open, LowPublic

Description

On a file description page, there is a Metadata section near the bottom. This has two columns, one for item names the other for values. Each name/value pair has a corresponding pair of pages in MediaWiki: namespace, containing the text to show for the name, or a formatting template for the value.

The pages for the values sometimes contain links, and it is possible to modify the input value $1 when constructing the link, in order to link to a suitable page. See for example http://en.wikipedia.org/wiki/MediaWiki:Exif-make-value (which formats the value associated with http://en.wikipedia.org/wiki/MediaWiki:Exif-make ) In this page, some makes of camera are given a piped link because the straight link would go to the wrong page - for example, [[Apple]] would go to the fruit, but [[Apple Inc.|Apple]] goes to the correct page.

Something similar is needed for http://en.wikipedia.org/wiki/MediaWiki:Exif-software-value (associated with http://en.wikipedia.org/wiki/MediaWiki:Exif-software ) but here the problem is that if $1 merely states a bare version number like 6.0, that might be ambiguous - in the context of an Apple iPhone, it should link to http://en.wikipedia.org/wiki/IOS_6 but if the camera is not an iPhone, that's clearly the wrong link. Either the value passed into $1 needs the camera make adding, or a second parameter needs to be added which has the camera make.

See http://en.wikipedia.org/wiki/File_talk:Torre_dei_Becci,_June_2013.jpg for background


Version: 1.22.0
Severity: minor

Details

Reference
bz55977

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 2:22 AM
bzimport set Reference to bz55977.
bzimport added a subscriber: Unknown Object (MLST).

(In reply to comment #0)

Something similar is needed for
http://en.wikipedia.org/wiki/MediaWiki:Exif-software-value (associated with
http://en.wikipedia.org/wiki/MediaWiki:Exif-software ) but here the problem
is
that if $1 merely states a bare version number like 6.0, that might be
ambiguous - in the context of an Apple iPhone, it should link to
http://en.wikipedia.org/wiki/IOS_6 but if the camera is not an iPhone, that's
clearly the wrong link. Either the value passed into $1 needs the camera make
adding, or a second parameter needs to be added which has the camera make.

See http://en.wikipedia.org/wiki/File_talk:Torre_dei_Becci,_June_2013.jpg for
background

Not that it really helps, but software is not supposed to really have anything to do with the camera make and model. Software is supposed to be what software processed the photo after the camera took the picture. /me blames camera manufactures...

I agree with you Bawolff that the camera manufacturers are to blame here, I think that adding a $2 parameter to [[MediaWiki:Exif-software-value]] that contains the same value as $1 does in [[MediaWiki:Exif-make-value]] then it would be easy to use parser functions or whatnot to say if $2 is Apple and $1 is 6.0 then link to iOS_6.

I had a patch that added a parser function which could access other metadata fields (gerrit change 67047. Its been in limbo for a while now). That is one possible solution to this problem.

(In reply to comment #2)

I agree with you Bawolff that the camera manufacturers are to blame here, I
think that adding a $2 parameter to [[MediaWiki:Exif-software-value]] that
contains the same value as $1 does in [[MediaWiki:Exif-make-value]] then it
would be easy to use parser functions or whatnot to say if $2 is Apple and $1
is 6.0 then link to iOS_6.

Hmm. It seems just really arbitrary to me, given the fields are supposed to be independant.

What about special casing it so if the make is apple, and software is 6.0, then we display exif-software-value-6.0 rather then the normal msg. Somehow this feels like it would be less arbitrary to me, although it would still be pretty arbitrary.

Is 6.0 the only value this happens for?

According to the discussion redrose linked, it's not the only one. There is also at least a 7.2.x with a similar issue. Being able to get a wider set of important values and using parser functions is most logical to me. How those values are obtained is unimportant whether it's done with a $2 variable or the new parser function you mentioned above.