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

WebTerminal plugins #40

Closed
nikitaeverywhere opened this issue Dec 11, 2015 · 3 comments
Closed

WebTerminal plugins #40

nikitaeverywhere opened this issue Dec 11, 2015 · 3 comments
Milestone

Comments

@nikitaeverywhere
Copy link
Member

How about to let people make WEB Terminal plugins? Having WebTerminal API made, I see the good way for people to contribute their own features and applications like #32 specifically for WebTerminal.

Plugin will consist of two parts: client and server (optional) code. It can both extend client functionality by adding, f.e. new commands or GUI features, and also implement any server-side handlers.

This requires a good WebTerminal API, by the way, but I see all this quite implementable.

@nikitaeverywhere nikitaeverywhere added this to the 4.0.0 milestone Dec 11, 2015
@eduard93
Copy link
Contributor

Where's API specks?

@nikitaeverywhere
Copy link
Member Author

@eduard93, API specs don't exists yet, just turn on your imagination! 😊 This discussion should answer a question if we need a CWT plugin mechanism to be build at all, not focusing on the technical details, and is there anybody interested in extending CWT functionality in that way.

Talking about API, suggesting in short:
From the client side, there will be full access to DOM and core terminal elements as well as print(), prompt() functions, etc.
From the server [optional] side, I think, there's almost one purpose to call server-side methods stored inside custom class. WebTerminal/Plugins/*.cls with any required methods implemented such as onSessionBegin(), onSessionEnd(), onMessage(), onCustomMessage(), etc.

Also, after people find plugins useful, it will be a good idea to make plugin mechanism a little global like CPM do, by adding in-terminal commands like /plugins (lists available plugins), /plugins install ... /plugins uninstall ....

@nikitaeverywhere
Copy link
Member Author

Closed for now. The "plugins" functionality should go with the package manager.

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

2 participants