[orion-dev] Life as a plugin is pretty hard
As some of you know, I am building a specialized PaaS service and am using Orion as the development enviroment for the service. I am really happy to be able to build on Orion, building a professional web-based IDE on my own would have been impossible. So I am really thankful for your work on Orion.
One thing that sucks right now though is how the current design is limiting for plugins. If all you want to do is to plug into an existing page (for instance, to contribute an action), you are out of luck, because a plugin can't interact with the user, or present a result, or report progress, or access the project contents, or tap into other client services.
Unless you provide your own page. Then, it seems, you can do much of what the built-in Orion plugins can do. However, that is not solving the problem, that is just a workaround. Unless the plugin provider really wants to offer a completely new UI to their users, such as the console, hosting and git services do. But the majority of plugins will have no need for such (nor do users would want that).
Here is the question then: what is the direction going forward? Is there intent in making plugins more like 1st class citizens, allowing for much richer integration than possible today? Is there a technical limitation (security) that makes that impossible? Or maybe, if it is not impossible, is this something the team deems important and is looking into overcoming at some point, like some sort of model of trusted plugins?
As it stands now, I have been gathering a laundry list of weird quirks in my service which I don't think can be addressed without a significant change in Orion itself and how plugins work. I don't believe this is just a problem with some specific extension point, that can be addressed with a simple fix, it seems really an architectural characteristic, which makes it more of a strategic liability, and that is why I chose to ask here on orion-dev instead of on the newsgroup or on a bug report.
I'd be more than happy to help and test/evaluate any mechanisms the team comes up with and wants feedback on.
Thanks, and congrats on your first release!