Page MenuHomePhabricator

Separate UploadWizard's data-handling, interface, and other controlling methods and put generally-applicable code into MediaWiki
Closed, ResolvedPublic

Description

In the past few years we've worked really hard to bring UploadWizard to a usable state, and now that we have a Multimedia team framework to actually do some good work on it, and we have the impetus to start making the upload pipeline way better, let's do it the right way: Let's make this project the organized, well-engineered machine it should have been in the first place.

I would particularly emphasize code conventions being followed, jshint conformance, an eye towards an MVC-like structure (nothing strict, but as a general goal...), building toward libraries that can be used elsewhere, and a variety of different possible interfaces.

Ideally none of the upload steps will be entangled unnecessarily with other steps, and we will be able to untangle them when necessary and put them in different pages or tools.

Ideally we will use the brilliant work- and complexity-reducing technology (oojs, oojs-ui, jQuery promises, moment.js) that other projects have started using in recent times.

It is an absolute *must* that we build tests for this system as we are building it, if we want this to be a generally useful set of tools for other projects. Same for documentation.

The leaders in LOC for active frontend projects deployed on the cluster are* VisualEditor, UploadWizard, Flow, and MultimediaViewer (in no particular order). Let's start bringing the upload pipeline projects closer to the high standards that other projects are holding themselves to.

  • According to an unscientific survey based on guesswork

See https://www.mediawiki.org/wiki/Requests_for_comment/More_general_frontend_uploading_tools for more.


Version: unspecified
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=62513

Details

Reference
bz60002

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 2:50 AM
bzimport set Reference to bz60002.
bzimport added a subscriber: Unknown Object (MLST).
Gilles triaged this task as Medium priority.Nov 24 2014, 2:47 PM
Gilles subscribed.
MarkTraceur lowered the priority of this task from Medium to Low.Nov 24 2014, 2:48 PM
Jdforrester-WMF renamed this task from Separate data-handling, interface, and other controlling methods and put generally-applicable code into MediaWiki (tracking) to Separate UploadWizard's data-handling, interface, and other controlling methods and put generally-applicable code into MediaWiki.Sep 15 2015, 3:55 PM
Jdforrester-WMF edited projects, added Epic; removed Tracking-Neverending.
Jdforrester-WMF set Security to None.
Jdforrester-WMF claimed this task.

<prtksxna> James_F: I think mw.Upload and mw.ForeignStructuredUpload resolved this.