openshiftio / openshift.io

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying modern applications.
https://openshift.io
97 stars 66 forks source link

As a che.openshift.io user I want to have a possibility to try workspace.next with Theia IDE #3883

Open ibuziuk opened 6 years ago

ibuziuk commented 6 years ago

rhche on osio is already build against upstream che 6.7.1 which means there is already a possibility to try workspace.next with Theia IDE as a sidecar. However, currently it is not straight forward to do [1] with quite a few manual steps. As part of codenvy.io -> che.openshift.io transition UD (user dashboard) becomes a separate, fully functional mechanism for workspace management which is going to replace codenvy.io functionality and also promote new capabilities like workspace.next with Theia IDE running as a sidecar. In order to have a possibility of running workspace.next with Theia IDE on che.openshift.io we need to have a dedicated factory for that. Expected UX is the following:

In order to achieve this we need to have a possibility of applying workspace.next via "per workspace" toggle [3] (user should still have a possibility of creating classic / non-workspace.next workspaces via Codebases UI and UD in the general case). This user story should be also considered to be a part of the walking skeleton epic [4]

[1] https://drive.google.com/file/d/1x8jKFdHKilwD8r123i-quKueUMs5tbBO/view [2] https://github.com/openshiftio/openshift.io/issues/3814 [3] https://github.com/redhat-developer/rh-che/issues/741 [4] https://github.com/eclipse/che/issues/10123

NOTE: initially the issue was about trying workspace.next with Theia IDE as a sidecar on openshift.io via user profile settings by enabling experimental feature flag. But this is currently not a priority. Original issue description:

It would be great to have a possibility to enable workspace.next with Theia IDE as a sidecar for a given set of osio users. We could probably start with toggle with userID strategy and once the whole workspace.next skeleton would be mature enough switch to enableByLevel strategy (e.g. alpha / beta / released). This would allow to try workspace.next easier and got more feedback from users / PMs in terms of usability & feature gaps. Also, once it would be decided to switch everyone to workspace.next it would be just a matter of switching the toggle (workspace migration is not taken into account in the last statement)

ibuziuk commented 6 years ago

@garagatyi could you please add some input regarding this story ?

ibuziuk commented 6 years ago

@l0rd @gorkem @slemeur wdyt ?

garagatyi commented 6 years ago

If we want to accomplish that we need:

  1. Deploy marketplace placeholder that hosts Feature/ChePlugin yaml files.
  2. In case toggle is enabled CheStarter would create a workspace and remove all the installers and somehow should find alternatives to the installers, so we need to find a solution for this issue.

What are the consequences for a user that has WS.NEXT toggle enabled:

  1. WS.NEXT workspaces get created by CheStarter
  2. Already existing workspaces would start and use old flow
  3. New workspaces start in WS.NEXT flow
  4. In case feature hosting is unavailable WS.NEXT workspaces don't start, but old ones do start
  5. In case user switched back to old flow CheStarter would create traditional workspaces, but existing workspaces would behave as before (both traditional and WS.NEXT)
ibuziuk commented 6 years ago

issue description has been updated. @garagatyi would you be able to investigate per workspace toggle as part of - redhat-developer/rh-che#741 ? @l0rd could we add this story to the walking skeleton epic - eclipse/che#10123 ?

gorkem commented 6 years ago

Just to confirm, Does ws.next toggle means use ws.next way of creating/defining workspaces and use Theia IDE by default?

ibuziuk commented 6 years ago

Does ws.next toggle means use ws.next way of creating/defining workspaces and use Theia IDE by default

@gorkem Correct. Also it is expected that this toggle would be per workspace (user should still have a possibility of creating classic / non-workspace.next workspaces via Codebases UI and UD in the general case)

ibuziuk commented 6 years ago

After more detailed discussion with @garagatyi and @l0rd it appeared to be that workspace.next toggle enabled per workspace is not smth. that we are planning to implement. Basically, the plan is the following:

[1] https://github.com/eclipse/che/pull/10092/files#diff-af3fecda517f34f356a133111f159465R112

rhopp commented 6 years ago

there would be a feature toggle enabled for all osio users by default that would allow creation of workspace next

What about using enableByLevel and set the desired level to experimental? This way, only users with experimental features enabled will be able to start Theia workspaces.

ibuziuk commented 6 years ago

@rhopp currently we want to support workspace.next only via che.openshift.io flow NOT openshift.io flow (please, take a look at the issue description)