Page MenuHomePhabricator

Build a hooking infrastructure for e.g. Flickr and YouTube integration
Open, LowPublic


We have such a nice little Flickr uploader tool, but we could probably make a clean separation between it and UploadWizard if we "just" built in generic support for third-party transfers, and then moved all of the Flickr-specific things into its own extension.

I'll look into this sometime in one of my "fix everything in UploadWizard" binges, but right now it remains a wishlist item.

Version: master
Severity: enhancement



Event Timeline

bzimport raised the priority of this task from to Normal.Nov 22 2014, 1:58 AM
bzimport added a project: UploadWizard.
bzimport set Reference to bz53046.
bzimport added a subscriber: Unknown Object (MLST).

A good first step might be allowing upload from url from arbitrary urls (and enable the interface to special:upload) </non upload wizard rant>

(In reply to comment #1)

A good first step might be allowing upload from url from arbitrary urls

I'm probably wrong, but isn't $wgCopyUploadsFromSpecialUpload meant for that?

(In reply to comment #2)

(In reply to comment #1)

A good first step might be allowing upload from url from arbitrary urls

I'm probably wrong, but isn't $wgCopyUploadsFromSpecialUpload meant for that?

That's the setting the controls if the UI is present for upload by url. In the Wikimedia set up, upload by url is currently restricted to flickr, and only available via api. I think it would be good to allow it from arbitrary urls, and enable $wgCopyUploadsFromSpecialUpload so that people can use it (otoh, the interface provided by $wgCopyUploadsFromSpecialUpload is pretty horrid)

Tgr added a subscriber: Tgr.May 25 2015, 6:31 PM

A suggestion on how to implement this:

  • publish a JSON schema for describing images (containing the source URL, title, description, license etc - largely the fields present in UW)
  • create an interface by which wiki administrators can add public keys for trusted image description services (could be as stupid as a MediaWiki: page with a list of keys)
  • trusted developers can run and image description service (probably, but not necessarily, on Tool Labs). An image description service is an arbitrary tool that accepts an URL (such as a flickr photostream) and returns a set of JSON descriptions. The JSON objects are signed with the private key of the service (JWT is the applicable standard)
  • UploadWizard, or some other tool, provides an interface where users can select images (e.g. by entering their URL or a feed URL), sends that URL to the appropriate image description service, gets back signed image descriptions, uses them to display image information to the user; the user selects which images to upload; UW/etc sends the JSON objects to the backend; the backend verifies the signature and the license and uploads the image

This is fairly generic:

  • the only knowledge that needs to be built into any WMF-owned product is what description service to use for what image sharing site (which could be easily configurable globally or per-wiki, in Gerrit or on a wiki page). Smaller communities can easily add their own popular services without having to depend on core commiters for review (which tends to go badly for fringe features).
  • there is absolutely no limitation on how and where an image description service is implemented, interested volunteers could use their language and hosting of choice (or we might limit it to Tool Labs; it's up to us). JWT is a widely used technology (e.g. the basis of OAuth) with lots of libraries available.
  • there is nothing specific about UploadWizard; any tool can take advantage of it.
Tgr added a comment.May 25 2015, 6:32 PM

More generally, I would love to see a framework by which third-party tools can make signed claims and those claims are presented by MediaWiki (e.g. as revision tags).

Jdforrester-WMF moved this task from Untriaged to Backlog on the Multimedia board.Sep 4 2015, 6:33 PM
Restricted Application added subscribers: Steinsplitter, Matanya, Aklapper. · View Herald TranscriptSep 4 2015, 6:33 PM
brion added a subscriber: brion.Sep 18 2015, 11:29 AM
MarkTraceur lowered the priority of this task from Normal to Low.Dec 3 2015, 8:03 PM
MarkTraceur added a project: Technical-Debt.

This is likely solvable with GLAMPipe as the backend: in light of SDC General

Zache added a subscriber: Zache.May 10 2017, 10:27 PM