-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Rename id field of chePlugin/cheEditor component in Devfile #13062
Comments
cc @l0rd @slemeur @ibuziuk @garagatyi @skabashnyuk @mshaposhnik |
@sleshchenko I am not sure. An In the simplest use case, when a user writes a
A project will be identified by a Wouldn't be simpler to describe it like this: type: cheEditor
name: eclipse/che-theia
version: v1.0.0 # optional
repository-url: https://my-plugin-registry.com/plugins # optional |
I know that guys from ide2 team use type: cheEditor
reference: https://gist.githubusercontent.com/sleshchenko/a3b3034e0fa0220/raw/3029/meta.yaml Actually, now they have to make gist to pretend plugin registry, and they configure id as For me, the following example looks logical type: cheEditor
name: eclipse/che-theia
reference: org.eclipse.che-theia:v1.0.0 because I understand it as a reference relative to Plugin Registry configured on Che Server. A reference here could be without version here as well. I agree that multiple fields may be more straightforward than the single field( I do not have a strong opinion whether we should use single field or multiple fields and below are listed my thoughts. |
Note that in case of multiple fields, id is not enough since new naming convention[1] declares that id is unique per publisher and then it would look like the following: type: cheEditor
name: theia-editor
publisher: redhat
id: eclipse/che-theia
version: v1.0.0 # optional
repository-url: https://my-plugin-registry.com/plugins # optional Or id should include publisher what is not obvious thing to do type: cheEditor
name: theia-editor
id: redhat/eclipse/che-theia
version: v1.0.0 # optional
repository-url: https://my-plugin-registry.com/plugins # optional |
I think there was a misunderstanding. In my proposal: type: cheEditor
name: eclipse/che-theia
version: v1.0.0 # optional
repository-url: https://my-plugin-registry.com/plugins # optional
|
Sorry, maybe I missed something in eclipse-che/che-plugin-registry#55 Also, I think that it may be confusing to put publisher and name of plugin into component name field, because a component name field for other component types is just alias that may be used for referencing them by commands. So, a component name used to have a free value that the user wants, and user do not have to duplicate specVersion: 0.0.1
name: test
components:
- type: cheEditor
name: theia
id: org.eclipse.che-theia:next
commands:
- name: hello
actions:
type:exec
component: theia
command: echo Hello
- name: currDir
actions:
type:exec
component: theia
command: pwd Then if a user wants to use theia but defined as another editorId, or even own dockerimage component, we just modify the component, but not commands that reference it. @l0rd Does it make sense? |
Good points @sleshchenko You have perfectly summarize the problem with the For the
So do we really want to sacrifice the user UX for the sake of consistency between |
Let me clarify, you propose rename
Let me summarize what I've written.
|
A PR I'm working on may be somewhat relevant here: #12998. It changes plugin broker to work off of |
As a result of discussion that took place here the following changes are comming:
So, the current issue is not actual anymore. |
Description
Currently, we have two possible formats for model of chePlugin/cheEditor component. First one is
{PLUGIN_ID}:{PLUGIN_VERSION}
, like the followingOr another possible way how id may be defined with Custom Plugin Registry:
{PLUGIN_REGISTRY_UR}/{PLUGIN_ID}:{PLUGIN_VERSION}
, like the following:And it's confusing that ID field is not identifier at all.
The goal of this issue is to find a better name for
id
field and rename it.The initial proposal is to use
reference
instead ofid
.Then we will have the following
It looks more logical.
Note that
kuberentes
/openshift
component hasreference
field too but with different format, it is{LOCAL_FILE_PATH}
or{URL_TO_FILE_CONTENT}
for them.Note that in plugin registry naming format changes are coming and format of
reference
will be changed to something like<publisher>/<id>/<version>
. The following issue eclipse-che/che-plugin-registry#55. Field value format can be handled in scope this issue or in a separate one.The text was updated successfully, but these errors were encountered: