-
Notifications
You must be signed in to change notification settings - Fork 8
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
Cleaned up Glossary and added "OCM Coordinates" term #113
Cleaned up Glossary and added "OCM Coordinates" term #113
Conversation
@@ -68,8 +60,7 @@ The formal description of a [component version](#compvers). | |||
|
|||
### [Component Descriptor Normalization](02-processing/05-component-descriptor-normalization.md)<a id="compdescnorm"/> | |||
|
|||
The mapping of the elements of a [component descriptor](#compdesc) into an | |||
immutable format containg only signature relevant information used to calculate a digest. | |||
The mapping of the elements of a [component descriptor](#compdesc) into an immutable format containing only signature relevant information used to calculate a digest. | |||
|
|||
### [Component Identity](01-model/02-elements-toplevel.md#component-identity)<a id="compid"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check the linked content. Maybe we copy the text from the mail to here. The Component name should be added as own entry in the glossar, too, and also linked, same as the component version.
The Component identity consists of
-
Component Name: identifies component. Should follow conventions similar to DNS (start with URL-prefix controlled by Component-Owner)
-
Component Version: if used with a component name, identifies a specific Component Version. Must adhere to "relaxed Semver" (major, minor (+optional patchlevel) - optional v-prefix).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
considering the wording, I think immutable
is not quite adequate. I think it would be better to call this form stable
(iff [sic!] no content changes occur, the normalised form will remain unchanged).
|
||
### OCM Coordinates | ||
|
||
Hierarchically organized identifiers for the versions of OCM components (called `Component Identity`) and contained artifacts (called `Artifact Identity`). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since the OCM coordinates will become a central term, I guess we can take over the full text of the mail to the glossary, although it contains many other definitions. This makes it easier to consume all information at one place without having the need to follow the links. @n-boshnakov what do you think?
OCM Coordinates are used to reference OCM Component Versions and artefacts within OCM Component Versions. Coordinates referring to an OCM Component Version are also called Component Identity
, whereas relative coordinates referring to an artefact are called Artefact Identity
. Component Identities
are globally unique and may be used to refer to full Component Versions. Artefact Identities
are always relative to an OCM Component Version and may only be used in conjunction with a Component Identity.
In detail:
Component Identity
- Component Name: identifies component. Should follow conventions similar to DNS (start with URL-prefix controlled by Component-Owner)
- Component Version: if used with a component name, identifies a specific Component Version. Must adhere to "relaxed Semver" (major, minor (+optional patchlevel) - optional v-prefix).
Artefact Identity
Within a Component Version, all artefacts must have a unique identity. The identity always includes:
- Kind (artefacts are either sources or resources)
- Name: A name (typically used to express the intended purpose)
Artefacts may also have additional attributes (called extraIdentity) that contribute to their identities. extraIdentity attributes are string-to-string maps.
Examples
Assuming there is a component named example.org/my-component
, with two versions 1.2.3
and 1.3.0
, declaring a resource named my-resource
, then the following OCM Coordinates can be used to reference different things:
example.org/my-component
: all versions of the component (1.2.3 + 1.3.0)example.org/my-component:1.2.3
: version 1.2.3 of the componentexample.org/my-component:1.2.3:resource/my-resource
:my-resource
as declared by the component version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The glossary should be a place for short definitions only. What we could do is take the content of the email and place it in a separate topic, then link to it from the term.
As the content of the email is already formatted in Markdown, this leads me to believe that it already exists somewhere as a topic, therefore we could just link to it. If that is not true, however, I could create a new topic with that content in this repository and link to it instead. I just need to know the correct folder to place the topic in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@n-boshnakov : it is formatted in markdown mostly because I write in markdown(-ish) as a habit. the text was written ad-hoc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In that case, I think it would be best if this information is placed in a repo as a topic. We can then link it to the new term being introduced for ease of access.
generally speaking, there seem to be a lot of changes to formatting (short lines being merged into longer ones). Is there a reason for doing that? |
The definitions being split in different lines resulted in some cases of unnecessary capitalization. As I fixed those, I standardized the rest of the definitions (1 line instead of 2) in order to prevent this issue from occurring in the future. Example: |
@n-boshnakov : I see. markdown has its quirks. very unfortunate. |
What this PR does / why we need it:
This PR:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
A link to the topic describing the term "OCM Coordinates" that was sent in the original email would be appreciated, as it could be linked and provide better context for the term.
Release note: