konveyor / enhancements

Enhancements tracking repository for Konveyor
Apache License 2.0
3 stars 35 forks source link

[RFE] Custom 'profiles' for install configuration 'defaults' #117

Open jwmatthews opened 1 year ago

jwmatthews commented 1 year ago

What is the problem?

We are concerned about the User Experience we are delivering with Konveyor in regard to enabling/disabling certain features as "default" with an install.

We currently have features that are implemented and available to an end user, but are intentionally disabled and not rendered in the webUI unless an Administrator explicitly modifes the configuration to enable.

An example is with the new ability to download analysis reports. By default this functionality is disabled AND hidden from the Migrator perspective:

Screenshot 2023-03-30 at 11 27 53 AM

An Administrator can login and change to the Administrator view and go to 'General' configuration to Enable downloads for HTML reports

Screenshot 2023-03-30 at 11 28 04 AM

Now, going back to Migrator view, the Download report: HTML link appears

Screenshot 2023-03-30 at 11 28 17 AM

Why is this a problem?

We are worried that disabling functionality may lead to friction in user experience, but even more than that the pattern we've adopted of disabling and NOT rendering features in the webUI hides the capability, reducing the likelihood a new user will be able to explore and learn on their own without reading documentation.

On the flip side, we recognize there are enterprise production users who will want the default values selected and may want those features not rendered to keep the UI 'clean'.

This appears to be an issue of differing perspectives of intended usage scenarios that are in conflict with each other. For example we have at least 2 different usage scenarios identified (probably more will emerge):

Proposed solutions to consider

Introduce a 'profile' to group default values for initial install

Allow grouping default configuration values into a concept of 'profiles' From the Operator CR we can select which 'profile' we want which will only affect the default values to be seeded, i.e. after Konveyor has been installed we wouldn't intend to watch the 'profile' value and update if a user changed the CR's 'profile' to a different profile value.