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

[New Feature]: Enhancing WSO2 MI Mediators #3625

Open
SanojPunchihewa opened this issue Sep 23, 2024 · 8 comments
Open

[New Feature]: Enhancing WSO2 MI Mediators #3625

SanojPunchihewa opened this issue Sep 23, 2024 · 8 comments
Assignees

Comments

@SanojPunchihewa
Copy link
Contributor

Description

The use of the Mediators in MI is burdensome for new users. This feature aims to simplify the UI/UX experience and make them intuitive for new users.

Describe your problem(s)

Most of the mediator's UIs contain product specific naming conventions which are incomprehensible for a new user. Furthermore, the user may need to provide different properties or configurations as well.

Describe your solution(s)

To overcome this issue, we need to simplify the UI schemas and make them intuitive while hiding unnecessary properties and configurations.

  1. Review and analyse existing mediators and configurations
  2. Improve the UI/UX of mediators while hiding unnecessary properties and configurations from the user
  3. Design and develop the new Variable Mediator to allow users to store and manage values dynamically during mediation

Related issue(s) (optional)

No response

Suggested label(s) (optional)

No response

Suggested assignee(s) (optional)

No response

@SanojPunchihewa
Copy link
Contributor Author

SanojPunchihewa commented Oct 3, 2024

  • Since this feature requires improvements for the MI runtime, VSCode UI plugin and the VSCode language server, as per the initial discussions we will be introducing new set of mediators which will be available on MI VSCode plugin according to the project runtime version the user defined when creating the integration project. ie for old projects, the already existing mediators can be used without any issue.

  • The Log mediator will be improved to allow the user to configure a string template as the message.

@SanojPunchihewa
Copy link
Contributor Author

SanojPunchihewa commented Oct 14, 2024

  • A new mediator was proposed encapsulating the clone and aggregate mediators, where the user can simply provide the configs to aggregate the results leading to a smooth user experience. Currently, the aggregate mediator will be invoked only if we have used a call mediator in our clone sequences, hence making it impossible to use it without a call mediator. I have omitted this limitation in the proposed mediator, where the user can simply use any mediator in the clone sequences. I have completed a PoC of this mediator and verified a simple use case as well.

@SanojPunchihewa
Copy link
Contributor Author

  • Had a discussion on the PoC and currently evaluating the feasibility of few other approaches
  • Had a design review discussion to finalize the UIs for the selected mediators

@SanojPunchihewa
Copy link
Contributor Author

  • Developing and testing a new PoC for the clone and aggregate mediators as per the last discussion

@SanojPunchihewa
Copy link
Contributor Author

SanojPunchihewa commented Oct 30, 2024

  • Tested the PoC for the clone and aggregate mediators and found that there is some discrepancy in tracing and currently looking into that
  • Introduce a new Variable mediator, where the users can define variables and refer to them later in the sequence flow. Related PR Add new variable mediator wso2-synapse#2225

@SanojPunchihewa
Copy link
Contributor Author

  • Fixed the issues related to tracing and nested use cases in the proposed PoC
  • Start work on designing the revamped UI schemas

@SanojPunchihewa
Copy link
Contributor Author

@SanojPunchihewa
Copy link
Contributor Author

SanojPunchihewa commented Nov 14, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant