Skip to content

[Plugin|Doc] Enhance Plugin-Core Interaction Protocol #288

@StardustSeemsInk

Description

@StardustSeemsInk

🪦 Is your feature request related to a problem? Please describe.

The current interaction protocol between plugins and the KitX core does not provide a standardized way for plugins to expose their callable functions. This limitation makes it difficult for the KitX core and the plugins to dynamically discover and utilize the available functionalities.

🪧 Describe the solution you'd like

I would like to see the development of an enhanced plugin-core interaction protocol that includes a mechanism for plugins to explicitly expose a list of their callable functions. This would allow the core system and other plugins to easily identify and invoke these functions as needed.

🧾 Describe alternatives you've considered

One alternative we’ve considered is a manual registration process where plugin developers would have to update a central registry with their function list. However, this approach is error-prone and not scalable.
Another alternative is to use reflection to automatically detect functions, but this could lead to security and performance issues.
And most importantly, we shoud develop a doc that discribe the protocol

📎 Additional context

  • The protocol should be easy to implement for plugin developers.

  • It should ensure that only authorized functions are exposed to prevent security vulnerabilities.

This feature would significantly improve the interoperability and extensibility of our system, making it easier for developers to create powerful and integrated plugin solutions. Documentation and developer guidelines should be updated to reflect these changes, and a set of best practices for exposing functions should be established.

(This issue is created with the assistance of an LLM.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requesttrackingThis issue is tracking by another issue

    Type

    No type

    Projects

    Status

    Constructive

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions