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

[Model Update]: Shared MessageHeader 2.0.0 #476

Conversation

johannsvarela
Copy link
Contributor

@johannsvarela johannsvarela commented Nov 24, 2023

Description

Since we identified bugs of missing connection between a few properties and those respective traits, we have fixed this bug within this PR. Following changes/fixes were made:

  • fixed bug of missing connection between messageId property and the idTrait to link the UUIDv4 RegEx
  • fixed bug of missing connection between relatedMessageId property and the idTrait to link the UUIDv4 RegEx
  • fixed bug of missing connection between version property and the SemanticVersioningTrait to link the semVer RegEx

Closes #469

MS2 Criteria

(to be filled out by PR reviewer)

  • the model validates with the SAMM SDS SDK in the version specified in the Readme.md of this repository by the time of the MS2 check (e.g., 'java -jar samm-cli.jar aspect <path-to-aspect-model> validate ). The SAMM CLI is available here and in GitHub
  • use Camel-Case (e.g., "MyModelElement" or "TimeDifferenceGmtId", when in doubt follow https://google.github.io/styleguide/javaguide.html#s5.3-camel-case)
  • the identifiers for all model elements start with a capital letter except for properties
  • the identifier for properties starts with a small letter
  • all model elements at least contain the fields "preferred name" and "description" in English language. The description must be comprehensible. It is not required to write full sentences but style should be consistent over the whole model
  • Property and the referenced Characteristic should not have the same name
  • the versioning in the URN follows semantic versioning, where minor version bumps are backwards compatible and major version bumps are not backwards compatible.
  • use abbreviations only when necessary and if these are sufficiently common
  • avoid redundant prefixes in property names (consider adding properties to an enclosing Entity or even adapt the namespace of the model elements, e.g., instead of having two properties DismantlerId and DismantlerName use an Entity Dismantler with the properties name and id or use a URN like io.catenax.dismantler:0.0.1)
  • fields preferredName and description are not the same
  • preferredName should be human readable and follow normal orthography (e.g., no camel case but normal word separation)
  • name of aspect is singular except if it only has one property which is a Collection, List or Set. In theses cases, the aspect name is plural.
  • units are referenced from the SAMM unit catalog whenever possible
  • use constraints to make known constraints from the use case explicit in the aspect model
  • when relying on external standards, they are referenced through a "see" element
  • all properties with an simple type have an example value
  • metadata.json exists with status "release"
  • generated json schema validates against example json payload
  • file RELEASE_NOTES.md exists and contains entries for proposed model changes
  • all contributors to this model are mentioned in copyright header of model file

MS3 Criteria

(to be filled out by semantic modeling team before merge to main-branch)

  • All required reviewers have approved this PR (see reviewers section)
  • The new aspect (version) will be implemented by at least one data provider
  • The new aspect (version) will be consumed by at least one data consumer
  • There exists valid test data
  • In case of a new (incompatible) major version to an existing version, a migration strategy has been developed
  • The model has at least version '1.0.0'
  • If a previous model exists, model deprecation has been checked for previous model
  • The release date in the Release Note is set to the date of the MS3 approval

Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

@johannsvarela
Copy link
Contributor Author

modeling_team

@johannsvarela
Copy link
Contributor Author

@johannsvarela
Copy link
Contributor Author

@agg3fe We have fixed the bug of the message header so that you can start with the MS2 Approval. I'm not sure if we need a MS3 approval for this bugfix, since we don't change the functionality?

:receiverBpn a samm:Property;
samm:preferredName "Receiver BPN"@en;
samm:description "The Business Partner Number of the receiving party. The value MUST be a valid BPN. BPNA and BPNS are not allowed. Applicable constraints are defined in the corresponding standard."@en;
samm:characteristic :BpnCharacteristic;
Copy link
Contributor

Choose a reason for hiding this comment

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

Since we re updating the model, let's use shared model for BPN Characteristic.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done :)

:IdTrait a samm-c:Trait;
samm:preferredName "ID (Identifier) Trait"@en;
samm:description "Trait for defining the UuidCharacteristic to be a UUIDv4 compliant property."@en;
samm-c:baseCharacteristic :UuidCharacteristic;
Copy link
Contributor

Choose a reason for hiding this comment

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

Also, let's use shared model for UUID Characteristic

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done :)

samm:preferredName "Version"@en;
samm:description "The unique identifier of the aspect model defining the structure and the semantics of the message's header. The version number should reflect the versioning schema of aspect models in Catena-X."@en;
samm:characteristic :SemanticVersioningTrait;
samm:exampleValue "urn:samm:io.catenax.message_header:2.0.0".
Copy link
Contributor

Choose a reason for hiding this comment

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

the correct example value should be 2.0.0

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@agg3fe isn't it the version 2.0.0 in this example?

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean completely replacing urn:samm:io.catenax.message_header:2.0.0 with 2.0.0 only.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@agg3fe my fault! I've changed it! :)

Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

1 similar comment
Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

Copy link
Contributor

@agg3fe agg3fe left a comment

Choose a reason for hiding this comment

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

LGTM

@agg3fe agg3fe added MS2_Approved Checklist "MS2 Valid Model" is approved. MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br labels Nov 28, 2023
Copy link

github-actions bot commented Dec 4, 2023

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

@catroest
Copy link
Contributor

catroest commented Dec 4, 2023

@agg3fe general question: does the Aspect have to be called like the turtle?

@prefix : <urn:samm:io.catenax.shared**.message_header**:2.0.0#>.
@prefix ext-number: <urn:samm:io.catenax.shared.business_partner_number:1.0.0#>.
@prefix ext-uuid: <urn:samm:io.catenax.shared.uuid:1.0.0#>.

:**MessageHeaderAspect** a samm:Aspect;

I would be interested in an answer because of my other models

Copy link

github-actions bot commented Dec 4, 2023

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

@tom-rm-meyer-ISST
Copy link
Contributor

tom-rm-meyer-ISST commented Dec 11, 2023

@johannsvarela Please update Release note to MS3 approval date (2023-11-27). I can then merge (tag me here). Beside that, please resolve conversations

@johannsvarela
Copy link
Contributor Author

johannsvarela commented Dec 12, 2023

@johannsvarela Please update Release note to MS3 approval date (2023-11-27). I can then merge (tag me here). Beside that, please resolve conversations

@tom-rm-meyer-ISST Same as the PR #504 -> Do you want me to change the current release date 04.12.2023 to 28.11.2023 (MS Approval)?

@tom-rm-meyer-ISST
Copy link
Contributor

@johannsvarela Please update Release note to MS3 approval date (2023-11-27). I can then merge (tag me here). Beside that, please resolve conversations

@tom-rm-meyer-ISST Same as the PR #504 -> Do you want me to change the current release date 04.12.2023 to 28.11.2023 (MS Approval)?

@johannsvarela exactly. Based on the PRs histroy I see that the MS3 gas been issued 2 weeks ago on monday. Thus, I think we should set the 28.11.2023

Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

1 similar comment
Copy link

Validation Report for io.catenax.shared.message_header/2.0.0/MessageHeaderAspect.ttl

Input model is valid

@johannsvarela
Copy link
Contributor Author

@tom-rm-meyer-ISST done! :-)

@tom-rm-meyer-ISST
Copy link
Contributor

LGTM

@tom-rm-meyer-ISST tom-rm-meyer-ISST merged commit f87f946 into eclipse-tractusx:main Dec 12, 2023
4 checks passed
@johannsvarela johannsvarela deleted the update_shared_message_header_2.0.0 branch July 17, 2024 06:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MS2_Approved Checklist "MS2 Valid Model" is approved. MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Model Update]: io.catenax.shared.message_header V.2.0.0
4 participants