Page MenuHomePhabricator

Support Vega 3.0+ and Vega Lite 2.0+
Open, MediumPublic

Assigned To
Authored By
May 12 2017, 1:37 AM
Referenced Files
"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.


It looks that all examples on , docs on etc. are now using Vega 3.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

  1. Add Vega 3.0+ & VegaLite support to Graphoid
    • This can be done without waiting for Mediawiki support. This feature allows users to implement non-interactive Vega 3.0 graphs but not preview them before saving or using them interactively.
  2. Add Vega 3.0+ & VegaLite support to MediaWiki
    • Handle new Vega 3.0+ graphs. Note that Vega 3.0+ should be loadable in parallel with Vega 2.0. Thus, it should be possible to have both versions simultaneously.

P.S. This could be a good student project. @Yurik will be happy to mentor. (added by Yurik)
P.S. looks like Vega 4.3 and Vega-lite 3.0 are out, so maybe we skip straight to those
P.P.S Vega 5.22 and Vega-lite 5.6 are out.

Event Timeline

Yurik renamed this task from Support Vega 3.0 to Support Vega 3.0 and Vega Lite 2.0.May 25 2018, 9:44 PM
Yurik added a project: Google-Summer-of-Code.
Yurik updated the task description. (Show Details)
Yurik added a subscriber: Yurik.
Milimetric triaged this task as Medium priority.
Milimetric updated the task description. (Show Details)

@Milimetric v3 and v4+ are not very different. Just some minor integration API changes. 4 is 99% backward compatible. So yes, we could just skip to 4.3

As an author of Vega-Lite and contributor to Vega, I'd like to offer my support and help with this effort.

@domoritz I've been trying to make time to work on it. I think I can start this Friday, thank you for offering to help! I'll ping you with any questions on this task.

Ok, I had some time, I poked around a bit. My conclusion is that graphoid needs some basic maintenance first before new features can be implemented. So I've talked to the services team and they're going to file a sterwardship request. If nobody comes forward, I'll make some time and give graphoid the love it needs. Once that's done, I can easily add support for the new vega versions. But if I did anything now, it would just complicate that graphoid work, and seems counter-productive.

Thanks for the update. Let me know if there is anything I can help with.

@Milimetric have you had a chance to look into this?

We're working on a GSoC proposal and I wonder whether this would be a good project for a student. I wouldn't be very helpful as the only mentor so maybe you would like to co-mentor or know someone.

The status right now is that WMF is looking for a steward for the project. Ideally, a team would agree this is critical infrastructure and take over ownership of Graphoid and the Graph extension. We are mostly in agreement that it would be a bad idea to add even more logic to the current implementation, before it gets restructured. If no team agrees to take it over by the end of this quarter, I will see if I can make space to deal with it myself. As for GSoC work, before we get the basic service in shape I don't think it makes sense to draft any other tasks around it. Hope that helps, and I really hope a team decides to take this over.

@Milimetric has any team at WMF decided to adapt it yet? From what I was told, there is already a GSOC student about to get started on this, and we could ask them to do some restructuring work as well. Which restructuring steps did you have in mind? BTW, it would be great if you could co-mentor this person as well (we already have @domoritz and myself signed up as mentors)

Hi, My name is Xin Chen, I'm the student who wants to participate in this project.
I’m a master student majoring computer science at visualization group in Shandong University, China.
Since I have to take an exam on May 27th, I want to finish the support of Vega3&VegaLite basically before May 26th. I can work all day before that. If I can't make it work by the end of May, maybe I can only go back to this project when my summer break officially begins, and that is July 7th.

I have read the code of Graph extension and understood the basic idea of it, so I can start to write some code promptly.

Yurik renamed this task from Support Vega 3.0 and Vega Lite 2.0 to Support Vega 3.0+ and Vega Lite 2.0+.May 9 2019, 4:48 AM
Yurik updated the task description. (Show Details)

GSoC has already started, so I'm guessing that there is an interest to work on this project outside of outreach programs. Just making sure so that there is no confusion here around this.

@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.

Milimetric added a subscriber: Milimetric.

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