Replace GWT with Angular: configure SNMP data collection per interface
Description
Acceptance / Success Criteria
depends on
Lucidchart Diagrams
Activity

Alejandro Galue August 11, 2016 at 4:05 PM
I discovered something interesting.
The current GWT UI, shows 3 options when setting the collect flag:
Collect
Do not Collect
Default
When "reading" the content of the database, it is possible to know if a certain row of the snmpinterface table is using the "default" (i.e. whatever Provisiond configured through policies), as the value should be either "C" or "N". Now, if a user changed that through the UI, the new value is "UC" or "UN". Let's say you want to go back to the default. The current UI will try to set "collect=default" which is invalid and will generate an silently ignored exception. This action won't do anything.
Thinking about it, there is no way to know what was the "default" value as that requires to re-apply the policies of the requisition (or the default foreign source if we're talking about a discovered node).
Having this in mind, I think that we can replace the combo-box with a simple check-box as we can only set or unset the collection flag, and nothing else; unless there is something we can set and then let Provisiond to override that flag (but I'm not sure if this is possible).
Of course, we can add options to manipulate all the interfaces, or all the interfaces after filtering them at the same time, in order to easily manipulate them, instead of doing it on a one by one basis (which is the only thing you can do right now).
Any GWT based application is hard to debug and maintain. Also, it is hard to make it work nicely with Boostrap. For this reason, it would be better if we reimplement this feature using a JavaScript based library that can play nicely with other JavaScript frameworks like Boostrap.