Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [orion-dev] Plugin organization

+1 to what John said. In a sense, the desktop Eclipse approach of "everything is a plugin" does not apply 1:1 to Orion. Instead, the default approach should be "everything is a separate web page".

For example, to add Git functionality, the first thing to think about should not be "how can I write it as a plugin" but rather "how can I add useful separate web pages that expose Git functionality". Only after you have an answer to this latter question (say, you decide to have one page for working with git status und staged/unstaged changes, another for displaying history (git log) and yet another for working with branches), you can think about how to best link to these new pages from the existing UI.

Boris

Inactive hide details for John Arthorne---2011/03/03 09:57:47---Since we've grown a half dozen Orion plugins in the past week, John Arthorne---2011/03/03 09:57:47---Since we've grown a half dozen Orion plugins in the past week, our approach of dumping all plugins


From:

John Arthorne/Ottawa/IBM@IBMCA

To:

orion-dev@xxxxxxxxxxx

Date:

2011/03/03 09:57

Subject:

[orion-dev] Plugin organization

Sent by:

orion-dev-bounces@xxxxxxxxxxx




Since we've grown a half dozen Orion plugins in the past week, our approach of dumping all plugins and associated files in the root directory is becoming unmanageable. It is hard to differentiate plugin code from framework code this way, which will be important once we actually want to host these plugins on different servers from the framework. I took an initial cleanup step by putting all plugin HTML files in a new /static/plugins directory. Since the plugin file's location is essentially the plugin id, it was important to at least do this "breaking" step before M6. Further cleanup/organization of the various JS files used by the plugins can then be done without breaking anything. Once you pull the client from master you should flush your local storage to discard any installed plugins from the old location (invoke "localStorage.clear();" from your browser's _javascript_ console).

Also keep in mind when creating plugins that the decision point on when to move code into a plugin is different from Eclipse desktop. In Eclipse, creating a plugin is largely a packaging decision: "Would I ever want to install/run X without Y". In Orion, the decision largely depends on host separation: "Would I ever want to install X on a different web server from Y". Since code in a plugin will have significantly reduced privileges and a non-trivial performance overhead per plugin, we don't want to be creating Orion plugins lightly.

John_______________________________________________
orion-dev mailing list
orion-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/orion-dev


GIF image

GIF image


Back to the top