conda-incubator / conda-store-ui

conda-store-ui is a frontend for conda-store powered by react
https://conda-incubator.github.io/conda-store-ui/
BSD 3-Clause "New" or "Revised" License
13 stars 18 forks source link

ENH - Improve default build selection workflow #271

Closed steff456 closed 1 year ago

steff456 commented 1 year ago

Part of #269.

Description

This pull request:

Before

image

Now

image

Pull request checklist

Additional information

Please note that the screenshots were taken with different themes

steff456 commented 1 year ago

With the latest commit, the save button disables if the user only modifies the default environment. It reactivates if a further change is made in the channels or in the requested packages.

https://github.com/conda-incubator/conda-store-ui/assets/20992645/ce141a17-55fa-46ce-b4af-2ef9e3d19c24

dharhas commented 1 year ago

I feel like the text "Update Environment Build" isn't clear to end users.

I think "Make Active" is clearer since we use the word "Active" in the dropdown.

Along with that instead of called them "Builds" I feel "Versions" make more sense to an end user.

dharhas commented 1 year ago

Another thought.

I don't think "Make Active" button belongs in the edit mode. We are not editing an environment just setting which one is the Active environment. I think it should show up in the default non-edit view but potentially only if you have permissions to make the change.

trallard commented 1 year ago

I think "Make Active" is clearer since we use the word "Active" in the dropdown.

I see; I think Change active build is a better option (change -> the effective action happening)

Along with that instead of called them "Builds" I feel "Versions" make more sense to an end user.

Already raised some of this in https://github.com/conda-incubator/conda-store-ui/issues/269#issuecomment-1676386326 - the word build is very conda-store specific and users will be more familiar with the concept of versioning and environments. I suggested adding a description text under Change default build to explain that builds are different versions of the environment (it also depends on how heavily we rely on the use of the word build in the rest of the app), but if we preferred to change it altogether then I'd suggest using:

Change active environment version

I don't think "Make Active" button belongs in the edit mode.

Smera suggested keeping this in the Edit mode since that is where it best fits in terms of functionality (see https://github.com/conda-incubator/conda-store-ui/issues/269#issuecomment-1675130375) for the UX rationale

costrouc commented 1 year ago

Already raised some of this in https://github.com/conda-incubator/conda-store-ui/issues/269#issuecomment-1676386326 - the word build is very conda-store specific and users will be more familiar with the concept of versioning and environments.

@trallard I'd be fine with us changing the terms we use in conda-store in the UI. I do think that environment version makes more sense.

I don't think "Make Active" button belongs in the edit mode.

I can't really make my mind on this one. I think it would be confusing in a "read only" view to expose something that could change the environment's state.

trallard commented 1 year ago

I do not think it should be in read only - Smera already made really good points on the original issue about why this is best suited in Edit and I agree with this being a better location.

But in general grouping workflows/concepts (edit, changes to settings, trigger builds) helps with user workflow streamlining and reduces context switching.

pierrotsmnrd commented 1 year ago

I have tested the feature and it works. I can test again after the UI changes in discussion above are done, if that's the case.

trallard commented 1 year ago

@steff456 - there are a number of changes/improvements needed:

kcpevey commented 1 year ago

I'm thinking about a new Nebari user who has no knowledge of conda-store. If they approach this button, will they know what "active" environment means? For example, maybe it just means active on the screen so they can edit it?

What if we added a little question mark circle that leads to a modal explaining how "active" environments work in conda store? That would include details like

trallard commented 1 year ago

@kcpevey I think that should be part of the more extended conversation regarding the workflow.

Plenty of improvements are needed in terms of notification/confirmation, documentation, etc., so let's keep this PR focused on splitting the workflows and taking the rest into a separate conversation.

steff456 commented 1 year ago

The last commit implemented all the changes needed for merging this PR. Now when there's a change in the specification, the Change environment button is deactivated,

https://github.com/conda-incubator/conda-store-ui/assets/20992645/2f67ce3a-42f9-46ac-aee4-ddc2c0946164

Maybe after this PR we may need to revisit the disappearing of the Change environment button, right now it only shows under certain conditions and it is not always visible in Edit mode which can be confusing.

trallard commented 1 year ago

Maybe after this PR we may need to revisit the disappearing of the Change environment button, right now it only shows under certain conditions and it is not always visible in Edit mode which can be confusing.

This is another part of the workflow review we need to do, I would generally prefer that this is disabled/enabled rather than appearing/disappearing

steff456 commented 1 year ago

I just updated the variable names and double check that everything is working as expected.