Page MenuHomePhabricator

Create a MediaWiki extension to test Codex
Closed, ResolvedPublic

Description

Create a MediaWiki extension that sets up a dedicated Special Page to demonstrate Codex components functioning inside a MW environment. Doing this will yield the following benefits:

  • Demonstrate the developer experience of writing Vue 3 components inside ResourceLoader (no build step); ideally we can still get some developer "amenities" like type hinting and IDE auto-completion for Codex components working in this environment
  • Provides a way to evaluate the performance impact of loading Codex onto a MW page
  • Provides a way to see how Codex components interact with MediaWiki's internationalization system
  • Provides another opportunity to run automated tests (we could run Selenium tests against a deployed instance of this extension for things like accessibility checks or layout changes).

Requirements

  • Basic VueTest repo lives in WMF Gitlab, creates a Special page to demonstrate Codex components
  • Add this repo to WMF Gerrit, CI

Current Status

The code for this extension now lives in WMF Gerrit here and has been hooked up into WMF CI. Here's a screenshot of the Special:VueTest that it creates when installed.

Screen Shot 2022-03-01 at 11.55.22 AM.png (3×2 px, 1 MB)

Should we create a dedicated page for each component that exists in the current release of Codex?

Event Timeline

egardner updated the task description. (Show Details)
egardner added a subscriber: Mhurd.

@Mhurd We've migrated this extension into Gerrit, so you may want to update your Makefile / Docker setup to clone from the new repo: https://gerrit.wikimedia.org/r/mediawiki/extensions/VueTest

Closing this because the extension exists and is in Gerrit. We can open follow-up tasks later if we need to add new functionality here.

Closing this because the extension exists and is in Gerrit. We can open follow-up tasks later if we need to add new functionality here.

Would it make sense to add more real world use cases and examples in this extension? Some that I think are missing and might be useful are:

What do you think @egardner?

Picking up your comment here, @Sgs with some development/time passed.
We've been just talking and DS team internally our intentions about the testing needs moving Codex forward. And specifically the internationalization piece is on our plans for the VueTest extension.