Page MenuHomePhabricator

Support Vega 5.0+
Open, MediumPublicFeature

Assigned To
Authored By
Base
May 12 2017, 1:37 AM
Referenced Files
None
Tokens
"Like" token, awarded by ThurnerRupert."Like" token, awarded by domoritz."Like" token, awarded by Jan_Dittrich."Like" token, awarded by Mgmhunt."Like" token, awarded by Yurik."Like" token, awarded by Prtksxna.

Description

It looks that all examples on https://vega.github.io/vega/examples/ , docs on https://vega.github.io/vega/docs/ etc. are now using Vega 5.0 while the extension still requires 2.0 specs which is a limitation and complicates things a lot for people trying to use Graphs along other things.

Implementation strategy

sign off notes

Once this task is resolved, we'll move on to supporting the community with migrating graphs. This work is captured in T335048: Rewrite wiki graph modules written in older schemas for compatibility with Vega 5 and T335078: Drop automated support for Vega 2.6
See also T120319: Migrate graphs from Vega 2 to Vega 5 syntax on edit with VE

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

@Yurik I think in general graphoid is going to find a sponsor, but I'm not 100% clear on who exactly that is. One of the 3 main strategies for the next 3-5 years is "rich media" so this obviously fits in. The code that @Xiaoyanghaitao is working on to add Vega support to the Graph extension seems useful in any case. The more foundational platform work should include a better way for graphoid to interact with mediawiki (better than page props). And other work that's been described on this and related tasks. I don't think it makes sense to do it in context of GSoC though, the Graph extension work fits much better there. I'm a little late to the party, and I see you're reviewing the code, but I can take a look if either you or @Xiaoyanghaitao would find that useful.

Vega 5.22 and Vega-lite 5.6 are out, can we update to the latest version? :)

Iniquity renamed this task from Support Vega 3.0+ and Vega Lite 2.0+ to Support Vega 5.0+ and Vega Lite 5.0+.Apr 7 2023, 1:08 PM
Iniquity updated the task description. (Show Details)
Iniquity changed the subtype of this task from "Task" to "Goal".Apr 7 2023, 1:27 PM
Iniquity changed the subtype of this task from "Goal" to "Feature Request".

It seems to me that we still need to focus on this task so that in the future there will be no problems like this: T334940: All Graphs broken on Wikimedia wikis (due to security issue T336556).

Question about the future, does anyone know something about Vega-Lite: https://vega.github.io/vega-lite/? Are we going to add it to the extension?

VegaLite is an easier way to draw graphs, and supports a lot of simpler cases. The only downside is a bigger JS download

VegaLite is an easier way to draw graphs, and supports a lot of simpler cases. The only downside is a bigger JS download

Do we need it? Does it need to be added separately or does it come with a regular Vega? :)

@Jdlrobson Do I understand correctly that this is the final solution, that we are completely switching to Vega 5? :)

@Iniquity I am committed to doing a Vega 2 to 5 migration but it's not clear if that alone will unblock graph deployments. Vega 5 is currently being security reviewed by our security team.

Existing Vega 2 graphs should just work post-migration but I'll be looking at introducing a more formal way to get those ported.

@Iniquity I am committed to doing a Vega 2 to 5 migration but it's not clear if that alone will unblock graph deployments. Vega 5 is currently being security reviewed by our security team.

Existing Vega 2 graphs should just work post-migration but I'll be looking at introducing a more formal way to get those ported.

Understood, thanks, I ask this to the fact that I, for example, can close this task - T174766: Update graph ext to Vega 2.6.5?

Seddon renamed this task from Support Vega 5.0+ and Vega Lite 5.0+ to Support Vega 5.0+.Apr 27 2023, 10:34 AM

VegaLite is an easier way to draw graphs, and supports a lot of simpler cases. The only downside is a bigger JS download

Do we need it? Does it need to be added separately or does it come with a regular Vega? :)

Does vega-lite is definitely out of question? I can't make it work for graph on test wiki.
It seems to be much easier to (re)write module for Graph template for vega-lite. As far as I know syntax is more human friendly and it have good visual defaults. Concatenation of many graphs in one charts looks quite impressive. It would allow to easily implement users requests for e.g. rolling average or nicer annotations.

Note that Vega-Lite compiles to Vega and Vega-Lite isn’t needed anymore to run a chart. Since charts are viewed a lot more often than created, it would be good to cache the generated Vega and only load Vega for viewers.