Last modified: 2014-09-30 01:13:00 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T64671, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 62671 - VisualEditor: Be able to set an item's size in upright terms in the media edit dialog
VisualEditor: Be able to set an item's size in upright terms in the media edi...
Status: ASSIGNED
Product: VisualEditor
Classification: Unclassified
Editing Tools (Other open bugs)
unspecified
All All
: High enhancement
: ---
Assigned To: Editing team bugs – take if you're interested!
:
Depends on: 62666
Blocks: ve-mediasupport
  Show dependency treegraph
 
Reported: 2014-03-14 22:05 UTC by James Forrester
Modified: 2014-09-30 01:13 UTC (History)
10 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description James Forrester 2014-03-14 22:05:30 UTC
Moved out of bug 38129's wishlist into its own bug.
Comment 1 C. Scott Ananian 2014-03-21 17:48:54 UTC
The parsoid plan is to support only square bounding boxes.

Unfortunately, PHP core doesn't have a way to specify 'a square bounding box of the default thumbnail size' yet.  So for purposes of discussion let's assume there's a wikitext option named 'thumbscale' which enforces a square bounding box of (an appropriate factor of) the default thumbnail size (then quantized to nearest 10px, like upright does, in order to avoid creating lots of odd-sized thumbs).

So Parsoid will *only* generate wikitext of the form:

[[Figure:Foobar.jpg|200x200px]]
or
[[Figure:Foobar.jpg|thumb|thumbscale=1]]

We will attempt to round-trip other wikitext forms ('upright', 'x200px', 'thumb' by itself (which is a width restriction only), etc) if the image is not edited.  But if the image is edited, we will emit only a square bounding box.

In the short term, we might use:

[[Figure:Foobar.jpg|thumb|upright=<number>]]

as an approximation to the 'thumbscale' factor, where we compute <number> as <aspect ratio>*<thumbscale>.  But this is viewed as a short term hack only.

The VE UI should present this as something like 'use default thumbnail size', rather than explicitly mentioning the 'upright' parameter.
Comment 2 James Forrester 2014-03-21 17:52:34 UTC
(In reply to C. Scott Ananian from comment #1)
> Parsoid will *only* generate wikitext of the form:
> 
> [[Figure:Foobar.jpg|200x200px]]
> or
> [[Figure:Foobar.jpg|thumb|thumbscale=1]]

That seems bad. [[Figure:Foobar.jpg|200px]] is vastly-preferred and [[Figure:Foobar.jpg|200x200px]] is considered broken wikitext except in rare cases.
Comment 3 Gabriel Wicke 2014-03-21 18:17:46 UTC
Related: https://www.mediawiki.org/wiki/Requests_for_comment/Standardized_thumbnails_sizes

We could encourage users to use a limited set of pre-defined scaling factors. This could potentially let us handle some user pref based scaling in CSS instead of JS.

For now the plan is to add a data-mw.scale factor which corresponds to a default-sized image. If the format is 'thumb' or 'frameless', the default image size is given by a *square bounding box* of the default thumb size.
Comment 4 Gabriel Wicke 2014-03-21 18:19:42 UTC
(In reply to James Forrester from comment #2)
> That seems bad. [[Figure:Foobar.jpg|200px]] is vastly-preferred and
> [[Figure:Foobar.jpg|200x200px]] is considered broken wikitext except in rare
> cases.

We could also omit this if we don't care about size stability on image aspect ratio change. Alternatively we could also change the default behavior to use a square bounding box. Lets make that decision when we get there. For now we'll just use upright.
Comment 5 C. Scott Ananian 2014-03-21 21:14:44 UTC
200x200px is what we already emit.  That's been the case for a while.

Current thinking is that the new PHP image option will be called 'scale' (not 'thumbscale'), and that parsoid will mark its use with a 'mw-scale' class on the image wrapper, not a data-mw attribute.
Comment 6 C. Scott Ananian 2014-03-25 15:50:43 UTC
Mm.  Now I'm thinking the mw option might be `square` so that Parsoid emits:

[[Figure:Foobar.jpg|200px|square]]
[[Figure:Foobar.jpg|thumb|square]] <!-- equivalent to upright=1 -->
[[Figure:Foobar.jpg|upright=0.5|square]]

That would provide the same functionality but address James' concern in comment 2.
Comment 7 Gabriel Wicke 2014-03-25 18:41:42 UTC
(In reply to C. Scott Ananian from comment #6)
> Mm.  Now I'm thinking the mw option might be `square` so that Parsoid emits:
> 
> [[Figure:Foobar.jpg|200px|square]]
> [[Figure:Foobar.jpg|thumb|square]] <!-- equivalent to upright=1 -->
> [[Figure:Foobar.jpg|upright=0.5|square]]
> 
> That would provide the same functionality but address James' concern in
> comment 2.

I'm not a fan of adding more work-arounds that modify older work-arounds. If we can fix this up cleanly with something like scale & square bounding box by default then we should do so IMO. That would result in cleaner wikitext like this:

[[Figure:Foobar.jpg|200px]]
[[Figure:Foobar.jpg|thumb]]
[[Figure:Foobar.jpg|scale=0.75]]

An automatic conversion that preserves existing image sizes is very much possible if the community agrees that going for a square bounding box by default makes sense. But again, lets not get ahead of ourselves to much here & focus on the Parsoid interface for now.
Comment 8 Spinningspark 2014-09-29 21:52:07 UTC
One point about the upright parameter is that it does something sensible with a portrait image by default without the user having to think about what scaling factor he wants to use.  The scale parameter per se is a good thing to have, but being forced to calculate a scale factor to get the equivalent of the old upright parameter is a step backwards in my opinion (its a step forward from the current two-steps-backward position of not having anything at all but is still a step backwards from what we had before.)
Comment 9 James Forrester 2014-09-30 01:13:00 UTC
(In reply to Spinningspark from comment #8)
> One point about the upright parameter is that it does something sensible
> with a portrait image by default without the user having to think about what
> scaling factor he wants to use.  The scale parameter per se is a good thing
> to have, but being forced to calculate a scale factor to get the equivalent
> of the old upright parameter is a step backwards in my opinion (its a step
> forward from the current two-steps-backward position of not having anything
> at all but is still a step backwards from what we had before.)

I think you're making assumptions here. :-) The idea was that we'd default to the usual value of 75% (and make it clear that this is the preferred value).

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links