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

Propagating changes to clients #318

Open
lukashornych opened this issue Nov 7, 2023 · 0 comments
Open

Propagating changes to clients #318

lukashornych opened this issue Nov 7, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@lukashornych
Copy link
Collaborator

Right now, we don't have any standardized way of propagating changes to the C# client (also we need to think about future clients). Specifically, we want to notify developers of clients about new query constraints or their changes, data/schema/mutation API objects and so on, basically everything that the clients copy from the base Java client:

I think these packages should cover it (possibly with some exclusions, not everything is exactly public API that needs to be propagated):

  • evita_api/src/main/java/io/evitadb/api
  • evita_query/src/main/java/io/evitadb/api/query

The idea is to create CI/CD pipeline that will be triggered when some changes in the mentioned packages are pushed to the dev branch, and will somehow notify repositories of clients with preview of changes in API.

One way specific to C# client could be to create an issue in the C# client repository where the changes would be written into the issue body.

Another more flexible solution (that we could consider for future, not now) that other future clients could benefit from would be to (if possible) somehow create output with the changes from the pipeline, and using GH webhooks, clients could be notified about these changes. This way any client could optionally subscribe to these changes. The problem is that we would propably need some middleware that would notify the clients based on the webhook, because client repositories couldn't directly subscribe to the webhook via GH (most probably), and most probably there would need to be some script in the client repositories that would accept the webhook.
Solution could be to create a public web app where all clients could be registered and would then receive these notifications. It would also serve as a listing of supported clients for evitaDB.

cc @novoj, @Khertys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants