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

API v2: Subscription option for multi-resource update notifications #236

Open
ndoschek opened this issue Jul 18, 2022 · 0 comments
Open
Labels
enhancement New feature or request modelserver EMF.cloud Model Server v2

Comments

@ndoschek
Copy link
Contributor

ndoschek commented Jul 18, 2022

The incremental model update notifications in API v2 notify subscribers for patch entry per its corresponding patchModelUri separately.
In the use case of a managed multi-resourceSet that contains a semantic as well as a notation resource, a client that subscribed with the semanticResourceUri won't get notified for pure notation changes.

Problem scenario:
A diagram editor subscribes with the semanticResourceUri, notifications for adding/removing elements that affect both resources are received correctly once for the semanticResourceUri, usually followed by a refresh of the invovled models.
If the Model Server executes pure notation changes (e.g. change of routing points or element bounds), it will only notify subscribers that subscribed to the notationResourceUri.
In the case of the diagram editor, a first notation change seems valid as the command itself was successful, but the model beneath was not updated. On an undo the model does not get updated either. To the user it seems as if the undo/redo was not successful, but the Model Server executed the command correctly. If the user would close and re-open the diagram the correct model is displayed again.

Proposed solution:
Adding a subscription option that the subscriber gets notified about the whole map of Json patch entries at once (and would have to filter possible unsuitable patches).
In many current use cases we reload on incremental update notifications, hence the notification of the complete Json patch map for compound command changes is sufficient in this case.
If the option is not set actively, this solution should not change the current behavior and will not force adopters to filter the patches.

This solution includes the update of the ModelServerClientAPI in the Java client as well as the ModelServerClients in the following repos as well: emfcloud-modelserver-theia and modelserver-node.

@ndoschek ndoschek added enhancement New feature or request modelserver EMF.cloud Model Server v2 labels Jul 18, 2022
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Jul 26, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Use temporarily systempaths for dependencies to integration module and example project
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Jul 26, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Use temporarily systempaths for dependencies to integration module and example project
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Aug 1, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Use temporarily systempaths for dependencies to integration module and example project
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Aug 1, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Use temporarily systempaths for dependencies to integration module and example project
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Aug 4, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Sep 20, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

WIP
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Sep 27, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile and also build integration example
- Provide scripts for upgrading versions of example components

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 10, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 11, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 11, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 11, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Oct 11, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Nov 30, 2022
- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25
ndoschek added a commit to eclipse-emfcloud/modelserver-glsp-integration that referenced this issue Dec 13, 2022
* #25 Init TaskList minimal example

- Project template for ModelServer/Java GLSP Server/EMF Model/Theia Application
- Uses example model of modelserver-glsp-integration repo
- [client] Setup theia client application
- [glsp-server] Setup TaskList GLSP Java server
- [model-server] Setup TaskList Model Server
- Workspaces
  - Setup VSCode workspace with Tasks and Launch configs for all three components
  - Setup Eclipse workspace for Server components
- Add READMEs for all components
- Update Jenkinsfile to also build integration example

Remark:
- Currently, there is an issue with the update after pure notation changes (see also eclipse-emfcloud/emfcloud-modelserver#236)

Part of #25

* Address review comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request modelserver EMF.cloud Model Server v2
Projects
None yet
Development

No branches or pull requests

1 participant