cytoscape / cyREST

Core App: REST API module for Cytoscape
https://github.com/cytoscape/cyREST/wiki
MIT License
30 stars 13 forks source link

Improve LOD endpoint #48

Open dotasek opened 6 years ago

dotasek commented 6 years ago

Via @AlexanderPico and @scootermorris :

Currently in the “View" menu of Cytoscape, Show/Hide Graphics Details is a view specific toggle, i.e., if you change it for the current network view, it doesn’t change any other views. However, the corresponding CyREST function is PUT ui/lod, which appears like a general function (since it doesn’t take a network view parameter), but only applies to the currently active view.

I would lobby for view-specific in this case and add a network (or view) parameter

And then probably move it from UI to Network Views in terms of Swagger categories.

dotasek commented 6 years ago

There's still discussion of the successor to the DING rendering engine, which, depending on how its level of details is handled, may deviate from the current implementation. This complicates the creation of a new endpoint.

This makes adding @AlexanderPico 's endpoint problematic, because the expected behaviour would then become API, and could break with a new implementation like GRIND. As a GUI element, it works fine, because it can be updated when a new rendering engine is included, but as API, it's not something a python library can rely on.

I'm OK leaving the existing operation where it is, because it behaves exactly as the GUI does, and leaving the v1/networks/{suid}/views/{suid}/lod path free for a more carefully thought out piece of API.

dotasek commented 6 years ago

@scootermorris did however mention that other level of detail controls can be handled through render.* properties in Cytoscape preferences. So implementing #13 would give us added value for level of details.