Scale-in/Scale-out commands can be only triggered from CLI. When they are triggered...
[osm/Features.git] / Release8 / New_UI_FOR_OSM.md
1 # Replacing OSMLight Weight UI #
2
3 ## Proposer ##
4 Prakash Moorthy (prakash.m@tataelxsi.co.in)
5 Rajesh S (rajesh.s@tataelxsi.co.in)
6
7 ## Type ##
8 ** New UI  with Single Page Application using Angular 7 for OSM Light Weight UI **
9
10 ## Target MDG/TF ##
11 UI
12
13 ## Description ##
14 Currently the UI is split across multiple entities - OSM Light Weight UI, VIM UI, using tools like
15 Graphana for visualizing Prometheus data etc. There is no single UI framework to view all the
16 relevant information and data which is also extensible to add data and services from new systems.
17
18 Proposing the Single Page Application(SPA) using Angular MVC framework to replace OSM Light Weight
19 UI.
20 Using modern web platform capabilities we can deliver app-like experiences and can  integrate all
21 the third party Services with in the same application (Any vim like Open stack, monitoring like
22 prometheus).
23 This UI will have the ability to be extensible to add services of any new system in the future
24 as well.
25
26 Advantage of having  MVC approach in OSM Light Weight UI:
27
28 Bringing in current standardized technology like Angular is going to enable more people to
29 contribute
30 Client and Server modules can be handled independently
31 MVC renders test-ability, maintainability and scalability. It also satisfies Single Responsibility
32 Principle of SOLID.
33 Segregate each part of the program and test that the individual modules by unit testing
34 Faster development process
35 Ability to provide multiple views
36 Support for asynchronous technique
37 Modification does not affect the entire model
38
39 Impact:
40 Entire Python OSM Light Weight UI code can be replaced using Angular MVC framework without any
41 worry of regression. The new UI development will happen in a separate repo. Current UI can be
42 switched when ready without having any impact on running OSM development work (since UI is
43 dependent on the NBI APIs only)
44
45 Features:
46 Over and above the existing features, we will also bring in first support for OpenStack. Since the
47 framework is extensible, we can also bring in support for other VIMs as we go along.
48 Metrics from Prometheus
49 World class UX design for a elegant B2B experience
50
51 ## Demo or definition of done ##
52 Testing all the existing use cases and flows supported by current UI