Page MenuHomePhabricator

Is OOUI deprecated?
Closed, ResolvedPublic

Description

Is OOUI deprecated?

A banner has recently appeared at https://mediawiki.org/wiki/OOUI declaring that OOUI is deprecated in favor of Codex. Direct link to banner. Also, there has been some declining of OOUI tickets on Phab with the existence of Codex being given as the reasoning.

However, it is my impression that Codex is not ready to replace OOUI yet. For example, if someone went and refactored every special page in MediaWiki core to use Codex, would the PRs be accepted? Is Codex both feature complete enough to do this, and the code simple enough (i.e. you don't need to use Vue for everything and can do it in PHP) to rewrite everything?

I'm not really a front end guy, so would like to get some guidance from some folks that have actually done coding in OOUI and Codex and have an idea of the state of these repos.

I suspect that the reorganization of the Design Systems Team should also factor into whether or not OOUI is discouraged or deprecated. It sounds like Codex doesn't have much development work going on now because of that.

What is the exact wording we should use for the banner on the mediawikiwiki OOUI page?

  1. Deprecated wording (27 August 2025):
    • "OOUI was deprecated in favour of Codex in MediaWiki 1.39. Codex is the recommended user interface design system for Wikimedia, and is used in all current and future product development. You may still continue to use the OOUI library, but new work should use Codex. For more information, see OOUI."
  2. "Maintenance mode" wording (13 August 2025):
    • "OOUI is in maintenance mode. New code should use Codex. Codex is now the recommended user-interface design system of Wikimedia, as of MediaWiki 1.39. For more information, see #Future of OOUI alongside Codex."
  3. "Will replace" wording (1 July 2025):
    • "Codex, with Vue.js as its JavaScript framework,[1] will replace OOUI in current and future user-interface product development. See the section § Future of OOUI alongside Codex for more information. (February 2025)"
  4. Remove banner completely

Are there any good essays or Wiki pages that talk about OOUI vs Codex?

Would be good to start building a list of these somewhere.

Notes

Event Timeline

Summary:
Recent edits have described OOUI as either deprecated or in maintenance mode, creating confusion, reversions, and extra translation workload. We need clear guidance from developers/design system maintainers so that documentation across pages can be updated consistently.

Discussion so far:

  • MediaWiki UI vs. OOUI: Some contributors conflate them; others stress MediaWiki UI was a predecessor. See MediaWiki user interface framework.
  • OOUI vs. Codex: Wording varies between “deprecated” and “maintenance mode.” A softer formulation seems closer to reality, but developer confirmation is needed.
  • Translation workload: Frequent rewording causes unnecessary translator effort. A stable, definitive statement would help.
  • Page consolidation: Threads span several pages; this ticket aims to centralise discussion. Talk:MediaWiki user interface framework#Consolidate

Key questions for developers/maintainers:

  1. Is OOUI officially deprecated, or just in maintenance mode?
  2. Should all new development use Codex, even where OOUI features are unmatched?
  3. Is there a Phabricator task or release note with the official guidance?
  4. How should MediaWiki UI be described relative to OOUI and Codex?
  5. What is the recommended banner phrasing so editors and translators can apply it consistently?

Possible wording for a banner:

OOUI in maintenance mode – Codex recommended for new development: OOUI is in maintenance mode.(a) Codex is the recommended UI design system for Wikimedia and is used in all current and future product development. Developers may still continue to use the OOUI library as OOUI remains fully supported, but it is recommended that new work use Codex. For more information, see OOUI.

(a) <Description of maintenance mode?>

Re "Key questions for developers/maintainers":

  1. "maintenance mode" is a strange euphemism for "deprecated"
  2. https://www.mediawiki.org/wiki/OOUI#Future_of_OOUI_alongside_Codex covers that
  3. https://www.mediawiki.org/wiki/OOUI#Future_of_OOUI_alongside_Codex covers that
  4. See the banner on https://www.mediawiki.org/wiki/MediaWiki_UI

(Why was the link to https://www.mediawiki.org/wiki/MediaWiki_user_interface_framework removed in the previous comment?)

Sorry, gonna scratch this and apologize to Waddie96. I misread the situation due to the lag of the translation units.. GOD I hate our mediawiki translation system.

Gonna step up here a bit..

Can I ask why you are being so disruptive about this @Waddie96 ? Like half this discussion (here and on Mediawiki.org) is because YOU keep making it more and more complex. Making changes to pages you admittedly don't understand everything about, causing these translation changes, that then other people have to come in and fix and discuss, causing more translations. All with a sense of immediacy that isn't reflected by the world around us.

Even this comment you are just needlessly dumping more words in a ticket that already had the essential points summarized. Perhaps you should take a step back and go slower with your changes ?

I know we all often have a need for binary thinking, but often things are not just 'yes or no', and sometimes there isn't even a clear cut answer to begin with.~

I see no effective difference between the wording of the 3 banners for casual users.

  • OOUI is fine in existing products
  • OOUI is not slated for removal any time soon
  • OOUI will not see much new dedicated development effort (maintenance)
  • new MediaWiki development efforts should use Codex (OOUI is deprecated as the default choice choice for new development)

(i.e. you don't need to use Vue for everything and can do it in PHP)

While Codex has a very minimal PHP library, there is a very usable CSS-only library version, that allows to build Codex styled elements with PHP.

if someone went and refactored every special page in MediaWiki core to use Codex, would the PRs be accepted?

I don't see why not. You might have to IMPROVE and EXPAND the various Codex software components that implement the Codex design system, in order to be able to do that, as required elements might not be available yet, but Codex is not static.
No component library ever should be, and developers should not expect that other people will write all components for them that they need. That is why there is the Codex design system, so that you can make new components and functionality following the system.

Such Codex changes then have to be presumably approved/reviewed by the Codex Steering Committee like any other, or by the MediaWiki reviewers (if they are MediaWiki specific components in core). Similar to how OOUI components are now reviewed by many people, even though it is not effectively owned by any WMF team any longer.

MediaWiki UI vs. OOUI: Some contributors conflate them; others stress MediaWiki UI was a predecessor.

Overall I see people mixing up the visual designs, design systems (eco system), and the software components implementing designs. It's not as simple as saying: 'thing is deprecated', cause thing is actually a collection of things and the one name has different components inside it than the other.

  • OOUI is not a visual design. It is a component library first. Its default skin/theme is called Wikimedia UI, but it also has a skin called Apex.
  • MediaWiki UI (originally Agora), was a CSS library, with its own visual design. At a later time, as OOUI became more popular and MediaWiki UI became deprecated, the implementation of MediaWiki UI was adapted to more closely resemble the design of the OOUI (Wikimedia UI).
  • Codex is a design system, including the visual design, design rules (incl. tokens), a Vue implementation, a CSS only implementation and since recently a PHP component library. As a matter of fact, even OOUI now makes use of some of the Codex design tokens and has thus moved a bit in the direction of the visual design of Codex (mostly wrt colors).

All these things are multiple things and have and continue to evolve in countless ways and this creates confusion, but also causes to make it difficult to say that any of these things are fully or not fully deprecated.

I hear the concerns about churn and translation workload. My intent has been to reduce confusion, not create more of it. I can see that some of my edits contributed to this confusion; I’ll pause non-urgent changes on these pages while we align on wording. 👍

Got it. OOUI#Future of OOUI alongside Codex section and the MediaWiki UI banner as the authoritative references.

(Why was the link to https://www.mediawiki.org/wiki/MediaWiki_user_interface_framework removed in the previous comment?)

Admittedly I accidentally removed them when I condensed my initial post, but I've readded them.

  • For existing products: OOUI is fine. For new development: Codex is the preferred choice.
  • `Maintenance mode' = not being removed, but not actively developed either.

Summary:
Recent edits have described OOUI as either deprecated or in maintenance mode, creating confusion, reversions, and extra translation workload. We need clear guidance from developers/design system maintainers so that documentation across pages can be updated consistently.

Discussion so far:

  • MediaWiki UI vs. OOUI: Some contributors conflate them; others stress MediaWiki UI was a predecessor. See MediaWiki user interface framework.
  • OOUI vs. Codex: Wording varies between “deprecated” and “maintenance mode.” A softer formulation seems closer to reality, but developer confirmation is needed.
  • Translation workload: Frequent rewording causes unnecessary translator effort. A stable, definitive statement would help.
  • Page consolidation: Threads span several pages; this ticket aims to centralise discussion. Talk:MediaWiki user interface framework#Consolidate

Key questions for developers/maintainers:

  1. Is OOUI officially deprecated, or just in maintenance mode?
  2. Should all new development use Codex, even where OOUI features are unmatched?
  3. Is there a Phabricator task or release note with the official guidance?
  4. How should MediaWiki UI be described relative to OOUI and Codex?
  5. What is the recommended banner phrasing so editors and translators can apply it consistently?

Possible wording for a banner:

OOUI in maintenance mode – Codex recommended for new development: OOUI is in maintenance mode.(a) Codex is the recommended UI design system for Wikimedia and is used in all current and future product development. Developers may still continue to use the OOUI library as OOUI remains fully supported, but it is recommended that new work use Codex. For more information, see OOUI.

(a) <Description of maintenance mode?>

and

I hear the concerns about churn and translation workload. My intent has been to reduce confusion, not create more of it. I can see that some of my edits contributed to this confusion; I’ll pause non-urgent changes on these pages while we align on wording. 👍

Are these your own words, or ChatGPT?

While Codex has a very minimal PHP library

This is the one @Dogu wrote, correct?

I think PHP's HTMLForm::factory() method also has a codex mode. I am not sure how much feature-parity it has with HTMLForm:factory()'s ooui mode though. I wonder if design-codex-php or HTMLForm::factory() is considered the better choice when upgrading forms in MediaWiki core.

Is a "MediaWiki UI to Codex" migration guide helpful for an OOUI page? The migration guide has recently been added to the top of the OOUI page again: https://www.mediawiki.org/w/index.php?title=Template:OOUI_replaced&curid=2242443&diff=7845185&oldid=7841562

Insofar as I don’t think there’s any plan to ever actually remove OOUI (at least, not on any meaningful timeframe — and nobody wants to pay for e.g. a complete rewrite of the VisualEditor UI), I think the practical choice of which to use comes down to whether you want to write using Vue. Well, and as @TheDJ noted, whether Codex actually has a component for what you want, since it’s much less comprehensive than OOUI.

I think there are still many use cases for OOUI right now, but I did create a task regarding how OOUI calls should be ported to Codex (T398742) so that all existing scripts would still work, they would just use Codex components instead of OOUI components. But for now, OOUI is still quite full featured, and I do think that OOUI might continue to be used even in a React.js framework.

As for my two cents I think "deprecated" implies future removal or end of life, "maintenance mode" is quite confusing language, and "will replace" might be the best language except that it already kind of has been replaced by Codex for some use cases. It may be best to just have nothing in the bold. We can still have the banner though explaining the rest.

Closing after five weeks of silence as I assume that things are clearer now.