Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate schema-less specs in Vega #30951

Closed
timroes opened this issue Feb 13, 2019 · 2 comments · Fixed by #73805
Closed

Deprecate schema-less specs in Vega #30951

timroes opened this issue Feb 13, 2019 · 2 comments · Fixed by #73805
Assignees
Labels
Feature:Vega Vega visualizations Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@timroes
Copy link
Contributor

timroes commented Feb 13, 2019

Follow up from #30628 (comment)

We should deprecate Vega specs, without a schema defined (currently we assume 3.0 in that case), in early 7.x, and remove the functionality in 8.0. Since updating the default schema for schema-less specs when we upgrade Vega, would potentially result in breaking existing visualizations, meaning we are now basically stuck to 3.0 for schema-less specifications.

That's why I think we should get rid of schema-less specs completely and enforce the user to specify their Vega spec version explicitly.

@timroes timroes added Feature:Vega Vega visualizations Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Feb 13, 2019
@timroes timroes mentioned this issue Feb 13, 2019
3 tasks
@monfera
Copy link
Contributor

monfera commented Sep 3, 2019

I'm not planning to self-assign this item first, or in the near future, but still have some clarifying questions about the goals, also to learn a bit about Vega related migrations in general:

  1. Just as a convention, we never call Vega-Lite Vega in our communication, correct? So this issue is Vega only and nothing to do with Vega-Lite — if that's the case, is there a similar challenge for Vega-Lite?
  2. What would be the process for deprecation?
  3. What does it mean to remove the option for Vega specs that don't define their own schema? Would it result an error message or other blocker, even if the spec is not new but it was created in pre-7.x or 7.x? If so, would it be a blocker to migration? Or would these go into a reported issue list for the user to fix after the migration?
    — or alternatively, you mean that new specs would always must have specs, but preexisting ones (incl. ones created during whatever 7.x release, ie. possibly years from now at users who don't upgrade frequently) would be assumed to be Vega 3 specs?

Also, as we're already on Vega 4, if the user makes a new thing which has no specs, is it assumed to be Vega 4, and if so, is it part of this issue to change it to work with the assumption that the given spec is Vega 3 (ie. add a version spec for Vega 3 behind the scenes)? cc @flash1293

@flash1293
Copy link
Contributor

I'm not 100% sure about all edge cases, but if the schema specifies a version, vega will behave like this version, right?

So we could simplify this and do this change also in a minor version - migrate all current vega visualizations without schema to use the version 3 schema and don't render anymore if a user omits the schema.

All currently saved visualizations will continue to work and for new ones the user will pick a version from the start.

@alexwizp alexwizp self-assigned this Jul 29, 2020
alexwizp added a commit to alexwizp/kibana that referenced this issue Jul 30, 2020
alexwizp added a commit that referenced this issue Aug 11, 2020
* Deprecate schema-less specs in Vega

Closes #30951

* update an error Message

* update tests

* update error message

* Update vega_parser.ts

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
alexwizp added a commit to alexwizp/kibana that referenced this issue Aug 11, 2020
* Deprecate schema-less specs in Vega

Closes elastic#30951

* update an error Message

* update tests

* update error message

* Update vega_parser.ts

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
alexwizp added a commit that referenced this issue Aug 11, 2020
* Deprecate schema-less specs in Vega

Closes #30951

* update an error Message

* update tests

* update error message

* Update vega_parser.ts

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Vega Vega visualizations Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants