On a tangent to T192752 ([1]), are there any general guidelines on which classes are or should be used by core and extension devs on HTML elements for styling? On mw.org I found scattered remarks about mw-ui-progressive, mw-ui-constructive, and the like and I found the page on OOUI ([2]), which I could probably reverse engineer. What I did not find is a comprehensive description of HTML classes, that a skin developer might take as a starting point to work on. Also, is [2] the way MW core will go and stay on for a while or is it "just" a convenient option for developers? Last question, is there any deprecation policy in place similar to the one for PHP ([3])?
Cheers Stephan
[1] https://phabricator.wikimedia.org/T192752 [2] https://www.mediawiki.org/wiki/OOUI [3] https://www.mediawiki.org/wiki/Deprecation_policy
There is no comprehensive list of classes, because we simply have too many of them. And they differ per skin, extension and subpart of the wiki. And then there is the content where wiki's do whatever they want...
This specifically, is why for widgets etc we are moving too OOUI, so that the classes are added automatically either by the PHP or the JS (or both with infusion). See also https://www.mediawiki.org/wiki/OOUI/Using_OOUI_in_MediaWiki
OOUI is generally the direction that core will go to, but things are continuously in flux (the ooui transition is already going for several years and still will take quite some time to complete). This is simply a side effect of us having a LOT of UI that is all hand crafted and now needs to be 'widgetfied', without breaking everything. jQuery UI is deprecated within MediaWiki core (as in, if as an extension developer you continue to rely on it you should at some point expect to have to deliver and maintain jquery ui yourself, instead of being able to rely on core providing it and it looking way different then the rest of the wiki).
If you don't need all that, then I know that some people have been working on a bootstrap version of the OOUI style (as opposed to the widgets), but i'm not sure what stage that is in (or even where it resides).
I'm not aware of an official deprecation policy for classes, but there is one for both PHP and Javascript (which is why your browser console will tell you that jquery ui is deprecated when you use it).
DJ
On Mon, Apr 23, 2018 at 10:47 PM, Stephan Gambke s7eph4n@protonmail.com wrote:
On a tangent to T192752 ([1]), are there any general guidelines on which classes are or should be used by core and extension devs on HTML elements for styling? On mw.org I found scattered remarks about mw-ui-progressive, mw-ui-constructive, and the like and I found the page on OOUI ([2]), which I could probably reverse engineer. What I did not find is a comprehensive description of HTML classes, that a skin developer might take as a starting point to work on. Also, is [2] the way MW core will go and stay on for a while or is it "just" a convenient option for developers? Last question, is there any deprecation policy in place similar to the one for PHP ([3])?
Cheers Stephan
[1] https://phabricator.wikimedia.org/T192752 [2] https://www.mediawiki.org/wiki/OOUI [3] https://www.mediawiki.org/wiki/Deprecation_policy
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Thanks for the clarification. I think the argument of too many classes preventing the establishment of a standard is putting the cart before the horse. I'd argue that if we had a list of recommended standard classes there would not be quite as many around with everybody inventing their own. Besides, the sheer number of entries did not deter us from having a list of UI messages and have them translated to 300 languages. OOUI is great for developers of extensions. But it not only has an interface to PHP and JS, but also to HTML/CSS. And if you want it to be open for skinning, that interface needs to be documented and managed.
Cheers Stephan
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On 23 April 2018 11:26 PM, Derk-Jan Hartman d.j.hartman+wmf_ml@gmail.com wrote:
There is no comprehensive list of classes, because we simply have too
many of them. And they differ per skin, extension and subpart of the
wiki. And then there is the content where wiki's do whatever they
want...
This specifically, is why for widgets etc we are moving too OOUI, so
that the classes are added automatically either by the PHP or the JS
(or both with infusion). See also
https://www.mediawiki.org/wiki/OOUI/Using_OOUI_in_MediaWiki
OOUI is generally the direction that core will go to, but things are
continuously in flux (the ooui transition is already going for several
years and still will take quite some time to complete). This is simply
a side effect of us having a LOT of UI that is all hand crafted and
now needs to be 'widgetfied', without breaking everything. jQuery UI
is deprecated within MediaWiki core (as in, if as an extension
developer you continue to rely on it you should at some point expect
to have to deliver and maintain jquery ui yourself, instead of being
able to rely on core providing it and it looking way different then
the rest of the wiki).
If you don't need all that, then I know that some people have been
working on a bootstrap version of the OOUI style (as opposed to the
widgets), but i'm not sure what stage that is in (or even where it
resides).
I'm not aware of an official deprecation policy for classes, but there
is one for both PHP and Javascript (which is why your browser console
will tell you that jquery ui is deprecated when you use it).
DJ
On Mon, Apr 23, 2018 at 10:47 PM, Stephan Gambke s7eph4n@protonmail.com wrote:
On a tangent to T192752 ([1]), are there any general guidelines on which classes are or should be used by core and extension devs on HTML elements for styling?
On mw.org I found scattered remarks about mw-ui-progressive, mw-ui-constructive, and the like and I found the page on OOUI ([2]), which I could probably reverse engineer. What I did not find is a comprehensive description of HTML classes, that a skin developer might take as a starting point to work on.
Also, is [2] the way MW core will go and stay on for a while or is it "just" a convenient option for developers?
Last question, is there any deprecation policy in place similar to the one for PHP ([3])?
Cheers
Stephan
[1] https://phabricator.wikimedia.org/T192752
[2] https://www.mediawiki.org/wiki/OOUI
[3] https://www.mediawiki.org/wiki/Deprecation_policy
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
wikitech-l@lists.wikimedia.org