Page MenuHomePhabricator

[EPIC] [WtC] Migrate WiKit-built products to Codex
Open, Needs TriagePublic

Description

Context

The initiative to create a design system for Wikidata/Wikibase started to materialize in 2019, when the first steps were taken towards the creation of WiKit.

WiKit is a design-oriented library of UI components and styling tokens. The solution was implemented by WMDE, and responded to Wikimedia's decision to adopt Vue.js as our new JavaScript framework. One of WiKit's main goals consisted on the optimization of design and implementation processes, thanks to the creation of standard and consistent Vue components that could be shared among WMDE products.

WiKit, though, was not the only solution created in response to the described context. The Wikimedia Foundation worked on their own prototypical component library, WVUI. Both teams, aware of the need to consolidate efforts and concentrate them in the implementation of a single, central design system solution, reached an agreement to build a new component library: Codex.

Codex is Wikimedia's design system, now established as the official source of standard, reusable components for our Vue-based products. Given the new status quo, WiKit entered its deprecation path.

Main objective

Migrate the products built using WiKit components to Codex. Said products are:

The migration involves, specifically:

  • Replacing existing components 1:1, making sure that all functionality is preserved
  • Replacing current styling using Codex style tokens and mixins
  • Ensure that product requirements such as internationalization, accessibility and responsiveness (which is currently a blocker T302889) are met

Implications

WiKit's deprecated status implies that no effort will be dedicated from this moment onward to update or improve the library, nor its components and utilities. Except in extraordinary circumstances, such as to correct issues that might have an impact on accessibility or dramatically disrupt the workflow of users.

Related Objects

StatusSubtypeAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
ResolvedHasanAkgun_WMDE
OpenNone
ResolvedHasanAkgun_WMDE
ResolvedHasanAkgun_WMDE
OpenNone
Resolvedguergana.tzatchkova
ResolvedHasanAkgun_WMDE
Resolvednoarave
ResolvedHasanAkgun_WMDE
Resolvedguergana.tzatchkova
Resolvedguergana.tzatchkova
ResolvedHasanAkgun_WMDE
OpenNone
OpenNone
InvalidNone
Resolvednoarave
Resolvednoarave
Resolvednoarave
ResolvedSpikeArian_Bozorg
ResolvedSarai-WMDE
OpenNone

Event Timeline

Pending efforts related to this topic. We should:

  • Create a PRD outlining the motivations and key aspects of the WiKit to Codex migration
  • Create a Phabricator task to document the need and justification to create a potential library of "LOD components". These are, UI components or patterns built on top of Codex elements which particularities make them only reusable in the context of Wikidata/Wikibase. A potential example of this is the new Scoped TypeaheadSearch (T334921: Design extended Wikidata search solution)
  • Consider creating separate tasks to document the migration/replacement of individual components. This is in order to ensure full feature parity
Sarai-WMDE renamed this task from [EPIC] Migrate WiKit-built products to Codex to [EPIC] [WtC] Migrate WiKit-built products to Codex.Jul 24 2023, 2:17 PM