question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Views should enforce schemas

See original GitHub issue

Prerequisites

Description

Constellation has long had an issue where a plugin could create attributes on a graph whose schema does not support them, and the behaviour has always been that that plugin should fail. I think instead we should allow plugins to create any attributes they want, and have views enforce schemas. For example, you might have a plugin create latitude and longitude attributes on a graph, but unless that graph is backed by the Analytic Schema (or one of its children) the Map View will not function as that is the minimum requirement of that view. We could build this functionality into the view framework - perhaps if a view is opened on top of an incompatible graph, it will default to a pane informing the user that their graph is incompatible with this view.

Steps to Reproduce

N/A

Expected behaviour:

Plugins can create attributes that are incompatible with underlying schemas.

Actual behaviour:

As per description, investiagte the statement: “We could build this functionality into the view framework - perhaps if a view is opened on top of an incompatible graph, it will default to a pane informing the user that their graph is incompatible with this view.” and implement if possible.

Reproduces how often:

Unable to quantify.

Additional Information

N/A

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:6 (2 by maintainers)

github_iconTop GitHub Comments

1reaction
aldebaran30701commented, Jun 17, 2021

To follow up: different graph schemas will not work on all views. Simple Schema will not have default attributes content, geo or date time. When these schemas are in use, or if the current graph does not have the correct attributes registered that the view requires - The view should be disabled when opened. Upon adding those attributes the view should become active. Constellation should do nothing behind the users view - Constellation should alert the user that there is not a prerequisite met and therefore prompt them to add it if needed.

0reactions
github-actions[bot]commented, Dec 15, 2021

This issue is stale because it has been open for 6 months with no activity. Consider reviewing and taking an action on this issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Enforcing Schema in MongoDB: Everything You Need to Know
You probably know that MongoDB has a flexible schema, and the documents in the same collection can have different shapes.
Read more >
sql server - Enforce Schema-bound views
For reporting purposes, I need to be able to query dependencies between views and underlying tables at column level (via sys.
Read more >
Enforcing and Evolving the Schema - Databricks
These tools include schema enforcement, which prevents users from accidentally polluting their tables with mistakes or garbage data, as well as schema evolution ......
Read more >
Enforce a Schema - MongoDB
You can control the shape and contents of documents in a collection by defining a schema. Schemas let you require specific fields, control...
Read more >
Strict Schema Enforcement vs. Schemaless vs. Dynamic ...
In this post I will cover strict schema enforcement, schemaless, and dynamic schema, including the pros and cons of each one.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found