Page MenuHomePhabricator

Make Graphoid return SVGs
Closed, DeclinedPublic

Description

Since Vega can render SVG graphs as sharp as their PNG counterparts, it would be rather silly not to take advantage of native SVG support in browsers, even with JavaScript disabled.
Following progressive enhancement, Graphoid should return SVG images that:

  • are much more accessible than canvases;
  • use CSS for hover styles;
  • can later be augmented with interactivity if JavaScript is present.

Moreover, returning plain SVG (XML) is likely not to have the same overhead of running a whole graphic library (with a Canvas imitation on top) on the server.

Update:
SVG is needed because it will allow links and crispier images. Beyond that, interactivity will still be provided by loading the entire vega library to the client.

Event Timeline

Ricordisamoa raised the priority of this task from to Needs Triage.
Ricordisamoa updated the task description. (Show Details)
Ricordisamoa added a project: Graphoid.
Ricordisamoa added subscribers: Ricordisamoa, Yurik.

As a quick summary of the discussion in T93126: We agreed that it would be prudent to sanitize the SVGs returned by Vega independently, to rule out various XSS attacks.

Yurik set Security to None.
Yurik raised the priority of this task from Low to High.Jan 20 2016, 2:05 PM
Yurik updated the task description. (Show Details)
Yurik added a subscriber: csteipp.

This doesn't seem likely to be fixed because of T242855 (see also T211881)

Aklapper lowered the priority of this task from High to Low.Sep 24 2020, 9:18 AM
Jdforrester-WMF subscribed.

The Graphoid service has been undeployed and the repo is being archived, per T274738: Archive the graphoid service and deploy repos.