Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I would like to see the list of my recent workspaces from che-theia #17034

Closed
l0rd opened this issue May 28, 2020 · 20 comments
Closed

I would like to see the list of my recent workspaces from che-theia #17034

l0rd opened this issue May 28, 2020 · 20 comments
Assignees
Labels
area/editor/theia Issues related to the che-theia IDE of Che kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Milestone

Comments

@l0rd
Copy link
Contributor

l0rd commented May 28, 2020

Is your enhancement related to a problem? Please describe.

I am not able to see the list of my recent workspaces from che-theia

image

image

@l0rd l0rd added kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system. area/editor/theia Issues related to the che-theia IDE of Che labels May 28, 2020
@sunix
Copy link
Contributor

sunix commented Jun 2, 2020

@l0rd how is the developer flow behind this?

@azatsarynnyy azatsarynnyy mentioned this issue Jun 4, 2020
10 tasks
@azatsarynnyy
Copy link
Member

azatsarynnyy commented Jun 4, 2020

Since Workspace term is very popular nowadays, there's an inconsistency started appearing between two different concepts of Workspace: Theia/VS Code Workspace and Che Workspace.

Currently, there're several Workspace related commands in Che Theia. All of them are referring to Theia/VS Code Workspace except Toggle My Workspace View which is referring to Che Workspace.
image
These commands are used in different parts of the UI: main menu, command palette, context menus, etc. Besides that, Theia/VS Code Workspace concept is present in such key elements as Preferences.
image

Today in Che Theia we have just one UI element (+command) that's referring to Che Workspace - My Workspace panel. That already may confuse the users, especially those who aren't familiar enough with both Workspace concepts.

Undoubtedly, we'll bring more Che Workspace related functionality into Che Theia through the different UI elements/commands. Which may lead to even to more confusion in the future.

So, first, we should decide how we'll distinguish different Workspace concepts in Che Theia. And how they should coexist.

While we can get rid of two Theia commands that make little sense in Che context (Create/Close Workspace), we cannot refuse to use the entire Theia/VS Code Workspaces functionality as it's very important one, especially for multi-root Workspaces support.
One of the possible approaches can be using different naming for referring to the different Workspace concepts.

Are there any other opinions on this?
@l0rd @benoitf

@l0rd
Copy link
Contributor Author

l0rd commented Jun 4, 2020

@azatsarynnyy why Create/Close Workspace doesn't make sense in Che context? In general, from an end user point of view, there should be no difference between Theia an Che Theia workspaces. Except the file format maybe? What I mean is that we should not remove menu items but make the behavior consistent.

@l0rd
Copy link
Contributor Author

l0rd commented Jun 4, 2020

@l0rd how is the developer flow behind this?

@sunix I am not sure I understand your question.

@benoitf
Copy link
Contributor

benoitf commented Jun 4, 2020

VS Code assumes that all projects are on the filesystem while with Eclipse Che, you only have a set of projects per workspace (you switch from Che workspace instead of opening/closing folders)

As Mario said, we shouldn't get rid of close workspace.
Close Workspace = close the Che workspace
Open Recent workspaces = list of like 5 recent workspaces (like in dashboard)
Open workspaces = list of all Eclipse Che workspaces

you may rename open workspace(theia) to open folder or from the "open..."

@azatsarynnyy
Copy link
Member

As Mario said, we shouldn't get rid of close workspace.
Close Workspace = close the Che workspace
Open Recent workspaces = list of like 5 recent workspaces (like in dashboard)
Open workspaces = list of all Eclipse Che workspaces

@benoitf does that mean we should replace the existing commands with our own Che specific?
I believe we should keep the existing (Theia Workspace related) commands as is. But add additional commands - specific to Che Workspace. WDYT?

@azatsarynnyy
Copy link
Member

why Create/Close Workspace doesn't make sense in Che context?

Because it's useless in Che Theia IMO. After closing Che Theia Workspace, the user will see the empty file explorer:
image

In general, from an end user point of view, there should be no difference between Theia an Che Theia workspaces.

@l0rd well, it depends on what we mean by Che Theia workspaces.
In my understanding, Theia Workspace, Che Theia Workspace, VS Code Workspace are equal concepts. But they are different from Che Workspace, of course.

@azatsarynnyy
Copy link
Member

Just to make sure we're on the same page, let me clarify my vision.
(Che)Theia Workspace allows me to work with one or multiple project folders in Che Theia within the same Che Workspace. So, within my single Che Workspace, I can have many (Che)Theia Workspaces that are actually the different virtual views to my project sources.

For example, in my Che Workspace, I have Che project sources imported. If I'm working with tests only I may be interested just in two folders:

  • /projects/che/tests
  • /projects/che/dockerfiles/e2e.

In Che Theia, I can set up a (Che)Theia Workspace with only these two folders included. And switch between the "full tree" and Tests view when I need to.
In such case, File - Open Recent Workspace... allows me to choose (Che)Theia Workspace to switch to:
image


Another example. In my Che Workspace, I have both projects' sources imported: upstream Theia and Che Theia. If I'm currently focused on Plugin system only, instead of seeing the entire trees of both monorepos I may want to see just several folders in Che Theia:

  • /projects/theia/plugin-ext
  • /projects/che-theia/eclipse-che-theia-plugin-ext
  • /projects/che-theia/eclipse-che-theia-plugin-remote

I can save such setup as (Che)Theia Workspace and switch to it whenever I need:
image


I propose to keep this functionality as is but add the additional commands to work with Che Workspaces.

@l0rd @benoitf please, let me know if that's not the behavior you expect.

@azatsarynnyy
Copy link
Member

Another question is what's expected to be done after choosing any Che Workspace from the list when calling Open Recent Workspace... command? There are two options I see:

  1. Open a Che Workspace in another browser tab
  2. Ask the user whether to stop the current Che Workspace and navigate the browser to the chosen Che Workspace

I'd prefer the 2'nd option as running >1 Che Workspace isn't allowed by default.

@benoitf
Copy link
Contributor

benoitf commented Jun 5, 2020

Open Recent Workspace:

  • Detect the number of allowed running workspaces
  • if limit is reached, ask to confirm to close the current one
  • I'm not sure about opening a new window. Maybe it's an option

@azatsarynnyy azatsarynnyy added this to the 7.15 milestone Jun 5, 2020
@l0rd
Copy link
Contributor Author

l0rd commented Jun 5, 2020

Ok thanks for the explanation @azatsarynnyy. The value of the concept of Theia workspace is evident from your examples.

The probolem is that Che and Theia workspaces are different things. Right now Che uses the term "Workspace" in his editor to refer to Theia workspaces. That's confusing. I think we agree that we need to fix it.

A Che workspace is set of tooling and runtime containers that together form an IDE. We can continue calling it workspace or use an alternative names: devpod, IDE, devspace...

A Theia workspace is a set of local source code folders, alternative names (in a Che context) are environment, sources, project...

Imo we should not consider the option to rename Che workspaces into something else: it would have the benefit to make Che and upstream Theia consistent but it would have a huge impact in terms of code to change, it would confuse existing users and conflict with our current model where the dev environment is defined by projects AND sidecars (not by projects only).

Anyway that should be discussed and pondered carefully. That's why I am proposing in this issue to be pragmatic and start replacing some Theia workspace commands with Che workspaces commands. We may loose some functionality related to Theia workspaces in the process but current inconsitencies are more urgent to fix. And as soon as we have a good name replacement for Theia workspaces we will resume the Theia workspaces commands.

Does that sounds good?

@azatsarynnyy
Copy link
Member

Does that sounds good?

I agree. "Workspace" term should be used in Che Theia to refer to Che Workspaces only.

It may confuse the experienced VS Code users, that VS Code-like editor has well-known commands with completely different behavior. But we'll think about how to make it more consistent in the future.

@azatsarynnyy
Copy link
Member

I've opened an epic for Workspace related commands consistency and finding a good name replacement for Theia Workspaces related commands #17106

@azatsarynnyy azatsarynnyy modified the milestones: 7.15, 7.16 Jun 24, 2020
@azatsarynnyy azatsarynnyy added the status/in-progress This issue has been taken by an engineer and is under active development. label Jun 24, 2020
@azatsarynnyy azatsarynnyy mentioned this issue Jun 25, 2020
20 tasks
@azatsarynnyy
Copy link
Member

This is currently blocked by #17246
Investigating how to get a user token in Che Theia for accessing Che Workspace API.

@sunix
Copy link
Contributor

sunix commented Jun 25, 2020

I think renaming would be good:

  • it will clarify things for the users
  • renaming to a cool name could be turn into a buzz that would promotes Che in some ways

we could start with labels in the front end and rename bits by bits, it is ok to say that a Che workspace is a Devspace ...

@azatsarynnyy
Copy link
Member

#17246 is fixed
the next blocker for this issue is #17361

@vzhukovs
Copy link
Contributor

vzhukovs commented Jul 9, 2020

Following PR for #17361 : eclipse-che/che-dashboard#66

@tsmaeder
Copy link
Contributor

tsmaeder commented Jul 14, 2020

I'm late to this discussion, but IMO replacing some of the "Workspace" commands in Theia with Che workspace commands is ultra-confusing. Also, the Theia workspace commands are important when developing che-theia (can't rely on the devfile to set up the Theia workpace, it needs to be different from the "outer" workspace).
Can't we just add a "Che" main menu and then we'd have Che=>Open Workspace..., Che=>Open Recent... That way, it would be clear what we're referring to.

@azatsarynnyy
Copy link
Member

@tsmaeder it was decided to have both sets of commands: Theia Workspace related and Che Workspace related.
And rename Theia ones to something else, e.g. #17106 (comment)

@azatsarynnyy azatsarynnyy modified the milestones: 7.16, 7.17 Jul 15, 2020
@azatsarynnyy azatsarynnyy mentioned this issue Jul 15, 2020
10 tasks
@azatsarynnyy azatsarynnyy modified the milestones: 7.17, 7.16 Jul 15, 2020
@azatsarynnyy
Copy link
Member

closed by eclipse-che/che-theia#800

@azatsarynnyy azatsarynnyy removed the status/in-progress This issue has been taken by an engineer and is under active development. label Jul 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/editor/theia Issues related to the che-theia IDE of Che kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system.
Projects
None yet
Development

No branches or pull requests

6 participants