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

feat(trg):new trg for kits #626

Closed

Conversation

maximilianong
Copy link
Contributor

Description

This contains 4 new .md files that will work as TRG for KITs describing how a KIT can be initiated, what stages a KIT can go through and what artifacts for a KIT need be delivered.

Copy link
Contributor

@SebastianBezold SebastianBezold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't gone through all the content yet, but already found some typos and grammatical issues.
Also, I think we should move some of the contents vom this PR to a separate KIT section, instead of defining them as TRG.
Another critical topic from my point of view is the versioning part. See comments for that

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is general information, that would be better placed in a "KIT - Getting started" section. Maybe even as item in the "KITs" menu.
If someone would look for this kind of information, I bet they would first look at the KIT menu and not necessarily in release guidelines

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I remember a discussion with Angelika and Daniel - we said to dissolve the KIT guidance section and move the stuff to TRGs to not have a separate section in the developer hub. We can have a link from the KIT menu or main page to the TRG. But the KIT main section should be for solution provider and data prosumer, not for teams that want to publish their stuff in a KIT.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I can see that. I would still move it at least to a dedicated menu in "Developer Hub".
"What is a KIT" is definitely not a release guideline from my point of view.
I also still think that data provider and consumers could benefit from a definition for KITs.
It is also partly already present here: https://eclipse-tractusx.github.io/developer
So again, I would link to that instead of re-defining. If there is missing information, I would enhance the description for the KIT entry page


Prerequisites: [Tractus-X getting started](https://eclipse-tractusx.github.io/docs/oss/getting-started)

- **TRG 8.02 KIT Graduation** A KIT is always structured the same way and follows three graduation stages
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this whole TRG, this specific headline suggests, that we should thing about a "KIT - Getting started" section to introduce everyone to the concept of KITs


## Why

KIT means Keep It Together. A KIT contains all the artefacts that are relevant to participate in the Catena-X data space as an operator, data provider or solution / app provider. These stakeholders have one place with all the information they need. For example an explaination of an API, the specification of it and the deployment instructions. The target of a KIT should be that you have no need to visit any other information source.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo "artifacts" instead of "artefacts",
Typo "explanation" instead of "explaination"

"goal ..." or "aim ..." instead of "target of a KIT"?


KIT means Keep It Together. A KIT contains all the artefacts that are relevant to participate in the Catena-X data space as an operator, data provider or solution / app provider. These stakeholders have one place with all the information they need. For example an explaination of an API, the specification of it and the deployment instructions. The target of a KIT should be that you have no need to visit any other information source.

A detailed explaination can be found here:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo "explanation" instead of "explaination"

- **TRG 8.03 KIT Artefacts** Each of the artefacts in a KIT are explained with examples
- **TRG 8.04 KIT Structure** The project structure inside the repository and the adjustments that are needed for Docusaurus

## Support
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also something, that should move to a "KIT - Getting started" section.


During the first publication / release of the incubating phase, the major version must be 0. This means that the version of a KIT that is not yet graduated always has the format 0.x.y. The minor component is incremented exactly when an artifact is completed and the patch component is incremented for all other changes.

As soon as a KIT moves to the second release and got published / released once it´s version is set to 1.0.0. - in general the KITS follow semantic versioning.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is absolutely NOT following semantic versioning


### Graduated Phase

Upon reaching the Graduation Phase, a KIT is production ready and got verified by a solution provider or data prosumer. Since the KITs are maintained and further developed by the community, changes can be made that result in an incompatibility.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it should be "consumer" instead of "prosumer"
I also don't really get, what this phase it is about. What is "production ready"? How does an external "verification" work? Is there any transparent process for that?
What is the goal behind "developed by the community, so there can be incompatibilities" sentence?


## ADOPTION VIEW

The adoption view gives a general introduction to the KIT. Provide an understanding to an OEM, a solution provider or data provider whats the main purpose, which industry problem is this KIT solving.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better. "It aims to provide insights to industry problems, the KIT is addressing"


The vision describes the strategic objectives of a KIT and how it aims to inspire solution providers.

Deliverables:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would avoid "Deliverables". TRGs should describe quality criteria, guidelines and rules.
suggestion:
"Answers, the 'Vision & Mission' statement of a KIT must provide"


The business value describes the benefits for an service provider by using a KIT in order to create a commercial or non-profit solution for the Catena-X marketplaces.

Deliverable:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again: Would avoid "Deliverable"

Copy link
Contributor

@SebastianBezold SebastianBezold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some more occurrences of "Deliverable".
I thing we should come up with better wording.

- Integration of the OpenAPI file
- Use case examples for the API endpoints and how to use them

`Example from DataChain KIT:` The API of the Item Relationship Service (IRS) for retrieving item graphs along the value chain of CATENA-X partners.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Catena-X" instead of "CATENA-X"

- Usage examples
- More explaination on how to use the API in different scenarios

## Operations View
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there is a TRG about architecture documentation planned, that will describe quality criteria for an "admin guide".
we should keep that in mind and probably link to it as soon as it is available.
Especially KITs, that target Tractus-X apps should link to the product docs instead of duplicating content on a website


## Project Structure

Following our project structure, the collection of our KITs documentation is developed in the `./docs-kits/kits` folder, where each KIT is a subfolder called by its name for organisation purposes. The `Data Chain KIT`, for example, is defined here: `./docs-kits/kits/Data Chain Kit`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would really appreciate, if we could stop recommending spaces in directory names. We build a website from this source and always have to fight with URL encoding. You can also see that in some of the links provided in this documentation.

My suggestion would be kebab-case, since this seems to be the one, currently used the most in this repo.
so /docs-kits/kits/data-chain-kit instead of /docs-kits/kits/Data Chain Kit

- Documentation -> `page_documentation.md`
- Software Development View/
- Specification -> `page_software-development-view.md`
- OpenAPI definition/
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenAPI definitions are moving to SwaggerHub, so I would not mention any local structure here

- Another OpenAPI definition/
- ...

## Steps to add a NewKit documentation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also better to move to "KITs - Getting started".
This is also a bit too "low level" in my opinion. I think describing the necessary files is enough. Everyone contributing to eclipse-tractusx should now how to create directories and files.
And even if not, we are always happy to provide onboarding.
"Click here.. type 'abc'.." kind of documentation seems to be unnecessarily verbose to me

└──page_software-development-view.md
```

6. To generate the `OpenAPI` based documentation of your KIT, please consult the [Plugins section](/docs/website-guidelines/wiki#plugins) to configure your instance of the `Docusaurus-OpenAPI-Docs` in the `docusaurus.config.js`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong. Superseded by SwaggerHub, like mentioned


To know more about the `NavBar` options and how to implement this and other features in it please check the [Docusaurus - NavBar Documentation](https://docusaurus.io/docs/2.2.0/api/themes/configuration#navbar-dropdown)

## Important to know
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also move to "KIT - Getting started"

@AngelikaWittek
Copy link
Contributor

Hi @maximilianong,
I agree with the remarks from @SebastianBezold. Especially 2 things:

Copy link
Contributor

@carslen carslen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In addition to Sebastian's comments, Section TRG 8 is used in the meantime for security-related matters.

@carslen carslen added the stale Items without activities label Mar 11, 2024
@maximilianong
Copy link
Contributor Author

maximilianong commented Apr 3, 2024

We will close this now - but we worked on your comments and will do a new PR with the changes.
@Unsharm will take over the new PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Items without activities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants