Skip to content

Latest commit

 

History

History
238 lines (196 loc) · 8.69 KB

profile-param-compare-manage.md

File metadata and controls

238 lines (196 loc) · 8.69 KB

Profile Parameter Comparison / Management

#2391

Problem Description

As an operations user, I need the ability to easily compare parameters across 2 profiles and easily add or remove parameters from each profile. Currently in Traffic Portal, you can compare 2 profiles but it simply involves a comparison of the JSON returned from calls to GET /api/profiles/:profileid_1 and GET /api/profiles/{{profileid_2}}. Any reconciliation of the 2 profiles would involve manually noting the differences and then navigating to either profile and making the necessary changes. This is not the best user experience. It is time-consuming and is prone to error.

Proposed Change

The current view in Traffic Portal (https://tp.domain.com/#!/profiles/compare/{{profile_id_1}}/{{profile_id_2}}) can be redesigned to list a superset of all parameters across the 2 profiles and show their profile membership side-by-side. It can also provide the ability to remove or add parameters to each profile easily and allow the user to persist the final state of both profiles (or reset to the original state). As the user makes changes, a visible indicater can be provided (i.e. red checkboxes) to show what has been changed.

Traffic Portal Impact

Enhancement to https://tp.domain.com/#!/profiles/compare/{{profile_id_1}}/{{profile_id_2}} as discussed in the "Proposed Change" section.

Traffic Ops Impact

None

REST API Impact

I don't anticipate there being any TO API changes whatsoever. The current GET /api/profiles/{{profileid}} API endpoint should provide the required information for this new view.

Client Impact

None

Data Model / Database Impact

None

ORT Impact

None

Traffic Monitor Impact

None

Traffic Router Impact

None

Traffic Stats Impact

None

Traffic Vault Impact

None

Documentation Impact

Currently, there is no documentation capturing the current profile comparison view, however, when this view is redesigned, documentation should be provided.

Testing Impact

It may be difficult to fully test the proposed UI functionality in an automated fashion, however, some minimal UI tests can be created to ensure the view renders properly and buttons are disabled/enabled properly based on the state of the view.

Performance Impact

None

Security Impact

This view will display secure and non-secure parameters, however, the API takes care of obfuscating the values of secure parameters for those with inadequate permissions.

Also, the TO API will ensure that only those with the proper permissions can modify profile/parameter relationships.

Upgrade Impact

None. This change is not dependent on the upgrade of any other TC components.

Operations Impact

The impact to operations will be a positive one. This new view should save operators a great deal of time managing profiles and parameters. However, minimal training may be required.

Developer Impact

None

Alternatives

The current UI shows the differences between 2 profiles from a parameter perspective, however, it is a bit noisy and does not provide the ability to make changes in the same view.

Dependencies

None

References

#2391