Page MenuHomePhabricator

Image Browsing: Add a new beta viewer module (mobile-only) to MMV
Open, HighPublic5 Estimated Story Points

Description

Land production-ready code for the new MMV beta viewer module (mmv.ui.beta) in the MultimediaViewer extension. This is the foundation that the detail view (T417678) and carousel integration (T417679) will build on.

Context

A proof-of-concept was built during T415712 demonstrating a new Vue 3 / Codex based viewer that plugs into MMV's existing bootstrap via an adapter class (BetaViewer.js). The adapter implements the same interface as the legacy viewer, so the bootstrap code doesn't need changes.

PoC patches (both marked DNM):

The gesture support patch should be disregarded for now — touch gestures are a potential fast-follow but are not part of this task.

Scope

  • Clean up the core viewer code from the PoC for production (review TODOs, error handling, code style)
  • Ensure the beta viewer module loads correctly via MMV's bootstrap when on mobile
  • Ensure the existing desktop viewer is completely unaffected
  • Add appropriate test coverage
  • The beta viewer should be gated behind a feature flag initially

Out of scope

  • Touch gesture support (pinch-to-zoom, swipe navigation, etc.)
  • Feature parity with the current mobile viewer (tracked in T417678)
  • Carousel component (tracked in T417679)

Open questions

  • What feature flag mechanism should we use? URL parameter (?mmvBeta=1 as in the PoC), a MediaWiki config variable, or both?

Event Timeline

SherryYang-WMF updated the task description. (Show Details)
Aklapper added a project: MediaViewer.

@SherryYang-WMF: Assuming this task is about the MediaViewer code project, hence adding that project tag so other people who don't know or don't care about team tags can also find this task when searching via projects or looking at workboards. Please set appropriate project tags when possible. Thanks! [PS: Please avoid posting full ticket URIs as they do not allow a preview on mouse-hover - the ticket id is enough :) ]

egardner renamed this task from [Image Browsing] merge the beta viewer code in MMV to Image Browsing: Merge the beta viewer code in MMV.Wed, Feb 25, 12:03 AM
egardner renamed this task from Image Browsing: Merge the beta viewer code in MMV to Image Browsing: Add a new beta viewer module (mobile-only) to MMV.
egardner updated the task description. (Show Details)
egardner subscribed.

Change #1238835 had a related patch set uploaded (by LWatson; author: Eric Gardner):

[mediawiki/extensions/MultimediaViewer@master] Add beta MMV UI using Vue 3 and Codex

https://gerrit.wikimedia.org/r/1238835