-
Notifications
You must be signed in to change notification settings - Fork 112
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
[KED-824][KED-788] Use new JSON API in app, and calculate transitive links on the fly #8
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This should improve the efficiency of the search
Sort by name, not ID
It's an unnecessary abstraction that can be covered by getRandom
richardwestenra
changed the title
[KED-824][KED-788] Implement API redesign, and calculate transitive links on the fly
[KED-824][KED-788] Use new JSON API in app, and calculate transitive links on the fly
Jul 12, 2019
Also, reformat CONTRIBUTING.md (Automatically reformatted with Prettier or whatever), and add note about it to the docs
ottis
approved these changes
Jul 15, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR contains breaking changes for the API data format. It must be merged after #2. When merged into master, we should bump the version number to v2.
KED-824
We are moving to a new JSON data/API structure (See #2), which will allow us to add a great deal more metadata about each node, edge and tag in future. Instead of a list of task nodes, we're passing a list of snapshots, each of which will contain lists of the nodes (both task and data), edges and tags, associated with that snapshot. This is much closer to the data structure used in rendering the chart, so the data formatting required when receiving the initial data is less intense: Now instead of generating the nodes and edges from incomplete data then normalising it, all that needs to be done is to normalise the data. A lot of the calculations that were previously being handled in client-side JavaScript are now able to be handled when the data is generated, in Python.
KED-788
I have also changed the way transitive links are generated, so that they are calculated on the fly when a chart is rendered, rather than when the initial data is formatted. Previously, they were only calculated for the node(task)/data views, and only worked to jump a single hidden node. This meant that when you manually disabled a node, the nodes on either side would be cut off from each other.
Now, when you hide a node that connects two other nodes, a new connection is formed, and you can do this for as many hidden nodes in a chain as you want, as long as there is a complete path running from the ultimate parent to the final child.
Development notes
QA notes
Checklist
RELEASE.md
fileType
label to the PRNotice
I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":
I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.