https://github.com/apache/trafficcontrol/issues/2391
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.
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.
Enhancement to https://tp.domain.com/#!/profiles/compare/{{profile_id_1}}/{{profile_id_2}}
as discussed in the “Proposed Change” section.
None
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.
None
None
None
None
None
None
None
Currently, there is no documentation capturing the current profile comparison view, however, when this view is redesigned, documentation should be provided.
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.
None
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.
None. This change is not dependent on the upgrade of any other TC components.
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.
None
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.
None