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

Add opening tutorial and consumer tutorial. #70

Merged
merged 6 commits into from
Nov 17, 2023

Conversation

jorchiu
Copy link
Contributor

@jorchiu jorchiu commented Nov 16, 2023

The following are added in this PR:

  • An opening tutorial to provide a suggested tutorial sequence that a reader should follow.
  • A digital twin consumer tutorial.

Updates to the digital twin provider tutorial were included in this PR.

Copy link
Contributor

Alex Recommends Report

Alex recommends the following language changes, but Alex is a regular expression based algorithm, so take them with a grain of salt.

✨ 🚀 ✨ Nothing to Report ✨ 🚀 ✨

Copy link
Contributor

@ashbeitz ashbeitz left a comment

Choose a reason for hiding this comment

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

Lots of comments. Please take a look.

docs/tutorials/README.md Outdated Show resolved Hide resolved
@@ -65,7 +65,8 @@ You have defined your digital twin provider interface.

The following lists out the flow for implementing the operations of a digital twin interface in the programming language of your choice:

1. Choose Your Programming Language: Since operations can be defined in a protobuf file, you can select any programming language that supports protobufs. This includes languages like Rust, Python, Java, C++, Go, etc. However, operations do not need to be defined in a protobuf file to be programming language agnostic. For instance, if you have a subscribe operation you may want to use [MQTT](https://mqtt.org/) for publishing to digital twin consumers that have subscribed to your digital twin provider. Please see the [Managed Subscribe Sample](https://github.com/eclipse-ibeji/ibeji/tree/main/samples/managed_subscribe) and [Property Sample](../../../samples/property/provider/src/main.rs) for Rust examples of a digital twin provider using MQTT.
1. Choose a programming language that supports gRPC. gRPC is required to communicate with the In-Vehicle Digital Twin Service. This will be described further in [2. Register Digital Twin Provider with the In-Vehicle Digital Twin Service](#2-register-digital-twin-provider-with-the-in-vehicle-digital-twin-service). This includes languages like Rust, Python, Java, C++, Go, etc.
>Note: Operations do not need to be defined in a protobuf file to be programming language agnostic. If you have a subscribe operation you may want to use [MQTT](https://mqtt.org/) for publishing to digital twin consumers that have subscribed to your digital twin provider. Please see the [Managed Subscribe Sample](../../../samples/managed_subscribe/README.md) and [Property Sample](../../../samples/property/provider/src/main.rs) for Rust examples of a digital twin provider using MQTT.
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 that you really want to emphasize that operations can be protocol agnostic here. You could say something like:

Operations can be performed by various protocols. Some protocols will require that the operation's interface contract is specified, e.g. gRPC where the operation must be specified in a protobuf file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I changed the first sentence to Operations can be performed by various protocols. Some protocols require that the operation's interface contract is specified. For example in gRPC, the operation must be specified in a protobuf file. Operations are programming language and protocol agnostic.

docs/tutorials/provider/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@ashbeitz ashbeitz left a comment

Choose a reason for hiding this comment

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

A few more comments.

docs/tutorials/consumer/README.md Outdated Show resolved Hide resolved
docs/tutorials/provider/README.md Outdated Show resolved Hide resolved
docs/tutorials/consumer/README.md Show resolved Hide resolved
Copy link
Contributor

@ashbeitz ashbeitz left a comment

Choose a reason for hiding this comment

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

Approved.

@jorchiu
Copy link
Contributor Author

jorchiu commented Nov 17, 2023

The markdown-link-check states that https://aka.ms/opensource/security/pgpkey is a dead link. This link is valid.

@jorchiu jorchiu merged commit 5b3fa86 into main Nov 17, 2023
11 of 12 checks passed
@jorchiu jorchiu deleted the jorchiu/tutorial_dt_consumer branch November 17, 2023 19:10
mobicatk pushed a commit to Mobica/EclipseSDV_ibeji that referenced this pull request Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants