Jump to content

OOUI

From mediawiki.org
(Redirected from OOjs UI)

OOUI is a MediaWiki user interface framework introduced around 2013. OOUI allows developers to create responsive web user-interfaces and applications.

It is internationalization-ready with full support of right-to-left languages, complies with Web Content Accessibility Guidelines, and operates consistently across a multitude of browsers.

The OOUI library contains:

  • Ready-to-use widgets, layouts, and windows that can be instantiated directly or easily extended,
  • A PHP server-side compatible output for cases where JavaScript is not supported,
  • Elements that can be easily mixed and matched to create custom user interfaces.

OOUI is available in MediaWiki Core, as well as on npm, Composer, and through cdnjs. OOUI implements a "WikimediaUI" theme – conforming to Wikimedia Foundation's design style guide. Interfaces built within MediaWiki use this theme by default, though different MediaWiki skins can and do over-ride this. See documentation about using OOUI in MediaWiki. It is successfully in use in 40+ web products by Wikimedia Foundation and volunteer developers. Community-created TypeScript definitions for OOUI exist (they work in JavaScript projects as well in popular IDEs).

OOUI was originally created to provide the user interface of VisualEditor, on top of the OOjs library (Object-Oriented JavaScript, hence OOUI's former name "OOjs UI"). It was later extended to serve MediaWiki Core. PHP implemented widgets and responsive interfaces were added as part of the Advanced Mobile Contributions project.

OOUI is pronounced oh-oh-you-eye.

The source code is hosted on Gerrit and mirrored on GitHub.

Future of OOUI alongside Codex

OOUI has been placed in maintenance mode. The Codex design system has replaced OOUI as the default user interface library. Codex will be used in current and future product development.

OOUI is not being removed, but its functionality is no longer being expanded. New OOUI feature development is limited only to products that are bound to it and have not (yet) been adapted to use Codex instead.

What this means for you

  • OOUI remains fully supported. You can still use OOUI libraries.
  • For all new development, the recommended design system is Codex .

Documentation

See the sidebar for a full list of documentation subpages.

See also