nsot icon indicating copy to clipboard operation
nsot copied to clipboard

Web UI Overhaul

Open coxley opened this issue 9 years ago • 3 comments

This has talked about a few times, here's solidifying it.

The web interface needs a serious overhaul: either from scratch or upgraded. We also need to decide how to better display the data, such as providing some visual to what subnets are children of others. (NIPAP does this with expand (+) and indentation)

Rough list of improvements:

  • Enhance the way networks are listed visually. Current implementation mimics the API, returning a list, but a human expects more than that. Additional to easily identifying children from parents a configurable "description" attribute could be nice. An attribute name the interface will look for on a resource to render in a column without clicking all the way through - this would increase the CTRL+F / greppability.
  • Login page, but that is described at #130
  • Either configurable graph page or way to see a usage graph for any allocated resource

If anyone knows a more frontend/design experienced person that might make it easier

coxley avatar Feb 26 '16 04:02 coxley

One question I've tossed around is whether NSoT proper should even provide a Web UI. While it would be nice to provide a consistent and useful experience it's not something that has received a lot of attention.

The great things about NSoT is that it has a very extensible data model and is designed with the API in mind first. This means it would be easy for people to build UIs specific to their network workflows or adopt other generic UIs that might be created.

I'd be interested to hear if the current UI (which I am regretfully responsible for) is used very much or if people primarily use the API and CLI tools. If the current UI isn't providing value it might be better to strip it out of the project to remove the complexity.

I do think if we could do it well then it's worth providing a default UI I'm just not certain when that would be a focus.

gmjosack avatar Feb 26 '16 05:02 gmjosack

While I personally don't use the web-ui much, coworkers definitely do. (or via IRC bot) I appreciate the API-forward approach but I think to sell it as a real alternative to other solutions a usable web-interface is required. Whether this is pre-packaged or it's own, but very well documented, service I'm not sure.

coxley avatar Feb 28 '16 10:02 coxley

So on this note. If we're talking about a UI overhaul, it should be done against the API version 1.0 that just launched with NSoT version 0.15.

NSoT has quite a large set of API endpoints (and it's only going to get larger), making it a complex REST application. While getting to know the existing Angular1 web UI code, I found that that ngResource is scaling very poorly, primarily because there's no easy way to avoid hard-coding URIs.

I have a branch where I started converting the UI code to use Restangular, because it eliminates a lot of the boilerplate and produces much more readable code with reversible URL dispatch, meaning no hard-coded URIs.

Whatever direction we go in, I'd like to make sure that we establish some requirements about what we want to see!

jathanism avatar Mar 01 '16 16:03 jathanism