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

Remove need for explicit definition of client actions [Upgrade to GLSP 2.0] #308

Closed
Tracked by #303
rsoika opened this issue Nov 8, 2023 · 0 comments
Closed
Tracked by #303
Labels
GLSP Core Good for newcomers
Milestone

Comments

@rsoika
Copy link
Member

rsoika commented Nov 8, 2023

See: eclipse-glsp/glsp-server@v1.0.0...v2.0.0

GLSP-1117: Remove need for explicit definition of client actions

Refactor the base GLSP protocol to allow the client to tell the server which actions it is going to handle i.e. which actions should be forwarded to the client

  • Add clientActions array to InitializeClientSessionParams. This means the client now has to pass the action kinds it wants to handle as part of the initalize request
  • Refactor ClientSessionManager API directly use the InitializeClientSessionParams object for creating new sessions. This means that the ClientSessionManager can also access the generic args properties that might have been passed with the initialize request.
  • Replace ClientActionHandler with ClientActionForwader a separate component that is not part of the server-side action handlers.
  • Remove configureClientActions method from DiagramModule as the explicit configuration is no longer needed
  • Refactor ClientIdModule to ClietnSessionModule responsible for injection session specific configuration like the clientId and the clientActions

What does this mean for Open-BPMN:

In the old version we used the method

 @Override
    protected void configureClientActions(MultiBinding<Action> binding) {
        super.configureClientActions(binding);
        binding.add(BPMNPropertyPanelUpdateAction.class);
    }

in the BPMNDiagramModule to tell the client which kind of actions we send.
Our BPMNPropertyPanelUpdateAction is send by the server in case of complex updates of the property panel. The goal is to tell the property Panel that it must init a complete new layout procedure. For example adding a new Event or Diagram Definition. This situation needs a complete panel update on the client

How to solve?

Currently we have no information about this - see eclipse-glsp/glsp#1150

@rsoika rsoika added the GLSP Core Good for newcomers label Nov 8, 2023
@rsoika rsoika added this to the 1.2.0 milestone Nov 8, 2023
rsoika added a commit that referenced this issue Nov 13, 2023
Issue #308
@rsoika rsoika closed this as completed Feb 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GLSP Core Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant