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

Identify library parser API intents #84

Closed
smoya opened this issue Mar 15, 2021 · 14 comments
Closed

Identify library parser API intents #84

smoya opened this issue Mar 15, 2021 · 14 comments
Assignees
Labels
Epic Scope Scopes are groups of related tasks.

Comments

@smoya
Copy link
Member

smoya commented Mar 15, 2021

We want to start defining the new Intent-Driven API for the parser(s). In order to achieve that, we would first need to identify all the possible intents a parser would have.

An intent means a user intention. For example, instead of exposing an API based on a tree-like data structure, such as asyncapi.channel('mychannel').subscribe().message().payload(), we expose clear intents like: asyncapi.getMessagePayloadFor('mychannel', 'subscribe')

The expected outcome for this task is just a list of intents, which could be written in this right issue by now.

Some possible intentions can be deduced by analyzing the following repositories:

Generator

Studio

Templates

Examples:

@smoya smoya added Scope Scopes are groups of related tasks. Epic labels Mar 15, 2021
@asyncapi-bot
Copy link

Hey! You've labeled this issue as a Scope. Remember you can use the following command to inform about its progress:

/progress <percentage> [message]

or

/progress <percentage>

A mutiline message.
It supports **Markdown**.
Example:
/progress 40 We're still figuring out how to implement this. We have an idea but it is not yet confirmed it will work.
/progress 50

A few notes:

* We got this figured out :tada:
* We're going to use [this library](#link-to-website) to avoid losing time implementing this algorithm.
* We decided to go for the quickest solution and will improve it if we got time at the end of the cycle.

🏋️‍♀️ See the progress on the Shape Up Dashboard.

@jonaslagoni
Copy link
Member

jonaslagoni commented Mar 15, 2021

Intents in ts-nats-template
more... indicates that it is used in the majority of files and not only those who are listed.

Extended intents
Intents that are not really in scope for the parser (could be) but are just added to make sure they are described.

@jonaslagoni
Copy link
Member

jonaslagoni commented Mar 15, 2021

java-spring-cloud-stream
more... indicates that it is used in the majority of files and not only those who are listed.

@smoya
Copy link
Member Author

smoya commented Mar 16, 2021

/progress 25 We started listing the intents we can find in https://github.com/asyncapi/ts-nats-template repo.

@smoya
Copy link
Member Author

smoya commented Mar 16, 2021

nodejs-template

@smoya
Copy link
Member Author

smoya commented Mar 17, 2021

I think we are fine to move to the next step so we can translate all those intents to actual API methods (if applies).

@jonaslagoni
Copy link
Member

/progress 100 defined intent for different use-cases, which should suffice in continuing to the next stage

@fmvilas
Copy link
Member

fmvilas commented Mar 17, 2021

@jonaslagoni @smoya make sure you share the result of this with @derberg and the community on the #tooling channel. It's interesting for other template developers.

@jonaslagoni
Copy link
Member

@fmvilas we are just using this initial research to get a grip for #90. This was done to see how the different libraries interact with the parser as it is now.

But we will of course keep the community in the loop as much as possible, but I also feel like we would need to come up with a starting point, something concrete that can be discussed instead of something vague :)

@jonaslagoni jonaslagoni changed the title Identify all parser API intents Identify library parser API intents Mar 17, 2021
@smoya
Copy link
Member Author

smoya commented Mar 17, 2021

@fmvilas we are just using this initial research to get a grip for #90. This was done to see how the different libraries interact with the parser as it is now.

But we will of course keep the community in the loop as much as possible, but I also feel like we would need to come up with a starting point, something concrete that can be discussed instead of something vague :)

I think we should share right now we just started with the Parser API reshape, that we are in the design step and mention we will keep iterating on #90 so feedback will be welcome.
We can always drop another chat once the design becomes more tangible.

WDYT? @fmvilas @jonaslagoni

@jonaslagoni
Copy link
Member

IMO it is a very fine line between spamming and saying something meaningful, and I don't think we have anything meaningful besides what you already posted, that we started on this bet 😄 But of course if you feel like we need to give more info then sure, we can add that 😄

Maybe better to write too much then too little? idk 😄

@fmvilas
Copy link
Member

fmvilas commented Mar 17, 2021

When in doubt, favor the overcommunication. Just use the right channel (#tooling) and keep it on a thread. If people don't want to follow your stuff, they can turn off notifications or leave the channel. Also, keeping everything on a thread prevents it from triggering a notification for each message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Scope Scopes are groups of related tasks.
Projects
None yet
Development

No branches or pull requests

4 participants