Community
Participate
Working Groups
Orion plugins that are embedded html in an iframe need to have a title. Many (most?) of them already have a <title> in the Plugin.html, but there are some that don't. It is possible that a third party plugin may not have one. We should add a <title> element if there isn't one already.
The "name" field that is passed in to the PluginProvider constructor is (usually) the same as the plugin title. So the attached patch simply uses the "name" as the title text if there isn't one already.
New Gerrit change created: https://git.eclipse.org/r/60619
Looking at this bug brought up a few questions: 1) Is the "name" supposed to be the same as the title? (It is usually the same, but some plugins have slightly different values for name and title). 2) If the name and title are supposed to be the same, then why the duplication? Perhaps plugins should just supply the name (if they have both .js and .html)? 3) Note that most (but not all) of the plugin names (and all of the titles) are not NLS'ed... shouldn't they be? (This is another argument for only supplying a name, because it can be NLS'ed more easily). 4) Same with "description" - most descriptions are not NLS'ed... shouldn't they be?
For reference, here's a list of all the plugins in orion.client and their title; name, version, and description: cFDeployPlugin.html cFDeployPlugin.js name: "Cloud Foundry Deploy", version: "1.0", description: "This plug-in integrates with Cloud Foundry." cFPlugin.html cFPlugin.js name: "Cloud Foundry", version: "1.0", description: messages["thisPluginIntegratesWithCloud"] genericDeploymentWizardPlugin.html gitPlugin.html gitPlugin.js name: "Orion Git Support", version: "1.0", description: "This plug-in provides Git Support to the Orion File Service.", helpPlugin.html <title>Help Plugin</title> helpPlugin.js name: "Help Plugin", //$NON-NLS-0$ version: "1.0", //$NON-NLS-0$ description: "Help plugin that contributes Orion's Help content" //$NON-NLS-0$ javascriptPlugin.html <title>Orion JavaScript Support</title> javascriptPlugin.js name: javascriptMessages['pluginName'], //$NON-NLS-1$ version: "1.0", //$NON-NLS-1$ description: javascriptMessages['pluginDescription'] //$NON-NLS-1$ imageViewerPlugin.html <title>Image Viewer</title> imageViewerPlugin.js name: "Orion Image Viewer Plugin", version: "1.0", //$NON-NLS-0$ description: "This plug-in provides a viewer for image files." jsonEditorPlugin.html <title>JSON Editor</title> jsonEditorPlugin.js name: "Orion JSON Editor Plugin", version: "1.0", //$NON-NLS-0$ description: "This plug-in provides an editor for JSON files." webEditingPlugin.html <title>Web Editing Plugin</title> webEditingPlugin.js name: "Orion Web Editing Plugin", version: "1.0", description: "This plugin provides editor link support for the navigator." embeddedToolingPlugin.html <title>Orion JavaScript Support</title> javascriptPlugin.html <title>Orion JavaScript Support</title> webToolsPlugin.html <title>Orion web tools Support</title> asyncUpperPlugin.html authenticationPlugin.html authenticationPlugin.js name: "Orion User Authentication", version: "1.0", description: "This plugin provides a user authentication service to support user verification and logout." commentPlugin.html delimiterPlugin.html delimiterPlugin.js name: "Orion Line Delimiter Converter", version: "1.0", description: "This plugin provides a editor commands to convert line delimiters to DOS or UNIX." embeddedToolingPlugin.html embeddedToolingPlugin.js name: "Pluggable editor tooling support", version: "1.0", description: "This plugin provides the core language tooling support for the Orion pluggable editor." fileClientPlugin.html fileClientPlugin.js name: "Orion File Service", version: "1.0", description: "This plugin provides file access to a user's workspace.", GerritFilePlugin.html GerritFilePlugin.js name: "Gerrit File Plugin", version: "1.0", description: "Gerrit File Plugin" GitHubFilePlugin.html GitHubFilePlugin.js name: "GitHub File Plugin", version: "1.0", description: "GitHub File Plugin" googleAnalyticsPlugin.html googleAnalyticsPlugin.js name: "Google Analytics Plugin", version: "1.0", description: "Google Analytics Plugin" HTML5LocalFilePlugin.html jslintPlugin.html <title>JSLint plugin</title> jslintPlugin.js name: "Orion JSLint Service", version: "1.0", description: "This plugin provides JSLint functionality for validating JSON." arduinoPlugin.html <title>Orion Arduino Support</title> arduinoPlugin.js name: "Orion Arduino Tool Support", version: "1.0", description: "This plugin provides Arduino tools support for Orion." cPlugin.html <title>Orion C Support</title> cPlugin.js name: "Orion C Tool Support", version: "1.0", description: "This plugin provides C tools support for Orion." cppPlugin.html <title>Orion C++ Support</title> cppPlugin.js name: "Orion C++ Tool Support", version: "1.0", description: "This plugin provides C++ tools support for Orion." csharpPlugin.html <title>Orion C# Support</title> csharpPlugin.js name: "Orion C# Tool Support", version: "1.0", description: "This plugin provides C# tools support for Orion." dockerPlugin.html <title>Orion Editor Docker Support</title> dockerPlugin.js name: "Orion Editor Docker Tool Support", version: "1.0", description: "This plugin provides Docker tools support for the Orion editor." erlangPlugin.html <title>Orion Erlang Support</title> erlangPlugin.js name: "Orion Erlang Tool Support", version: "1.0", description: "This plugin provides Erlang tools support for Orion." gitFilePlugin.html <title>Orion Git File Support</title> gitFilePlugin.js name: "Orion Git File Support", version: "1.0", description: "This plugin provides Git file syntax highlighting for Orion." goPlugin.html <title>Orion Go Support</title> goPlugin.js name: "Orion Go Language Tool Support", version: "1.0", description: "This plugin provides Go language tools support for Orion." hamlPlugin.html <title>Orion Haml Support</title> hamlPlugin.js name: "Orion Haml Tool Support", version: "1.0", description: "This plugin provides Haml tools support for Orion." jadePlugin.html <title>Orion Jade Support</title> jadePlugin.js name: "Orion Jade Tool Support", version: "1.0", description: "This plugin provides Jade tools support for Orion." javaPlugin.html <title>Orion Java Support</title> javaPlugin.js name: "Orion Java Tool Support", version: "1.0", description: "This plugin provides Java tools support for Orion." launchPlugin.html <title>Orion Launch File Support</title> launchPlugin.js name: "Orion Launch File Tool Support", version: "1.0", description: "This plugin provides tools support for Orion Launch files." luaPlugin.html <title>Orion Lua Support</title> luaPlugin.js name: "Orion Lua Tool Support", version: "1.0", description: "This plugin provides Lua tools support for Orion." markdownPlugin.html <title>Orion Extended Markdown Support</title> markdownPlugin.js name: "Orion Extended Markdown Language Tool Support", version: "1.0", description: "This plugin provides extended Markdown language tools support for Orion." objectiveCPlugin.html <title>Orion Objective-C Support</title> objectiveCPlugin.js name: "Orion Objective-C Tool Support", version: "1.0", description: "This plugin provides Objective-C tools support for Orion." phpPlugin.html <title>Orion PHP Support</title> phpPlugin.js name: "Orion PHP Tool Support", version: "1.0", description: "This plugin provides PHP tools support for Orion." pythonPlugin.html <title>Orion Python Support</title> pythonPlugin.js name: "Orion Python Tool Support", version: "1.0", description: "This plugin provides Python tools support for Orion." rubyPlugin.html <title>Orion Ruby Support</title> rubyPlugin.js name: "Orion Ruby Tool Support", version: "1.0", description: "This plugin provides Ruby tools support for Orion." smartyPlugin.html <title>Orion Smarty Support</title> smartyPlugin.js name: "Orion Smarty Tool Support", version: "1.0", description: "This plugin provides Smarty tools support for Orion." swiftPlugin.html <title>Orion Swift Support</title> swiftPlugin.js name: "Orion Swift Tool Support", version: "1.0", description: "This plugin provides Swift tools support for Orion." vbPlugin.html <title>Orion VB.NET Support</title> vbPlugin.js name: "Orion VB.NET Tool Support", version: "1.0", description: "This plugin provides VB.NET tools support for Orion." xmlPlugin.html <title>Orion XML Support</title> xmlPlugin.js name: "Orion XML Tool Support", version: "1.0", description: "This plugin provides XML tools support for Orion." xqueryPlugin.html <title>Orion XQuery Support</title> xqueryPlugin.js name: "Orion XQuery Tool Support", version: "1.0", description: "This plugin provides XQuery tools support for Orion." yamlPlugin.html <title>Orion YAML Support</title> yamlPlugin.js name: "Orion YAML Tool Support", version: "1.0", description: "This plugin provides YAML tools support for Orion." languageToolsPlugin.html <title>Orion Languages Tool Support</title> languageToolsPlugin.js name: "Orion Languages Tool Support", version: "1.0", description: "This plugin provides tooling for languages that are not included in other core Orion plugins." lowerPlugin.html orionPlugin.html orionPlugin.js name: "Orion Core Support", version: "1.0", description: "This plug-in provides the core Orion support.", pageLinksPlugin.html <title>Page Links Plugin</title> pageLinksPlugin.js name: "Orion Page Links", version: "1.0", description: "This plugin provides the top-level page links for Orion." preferencesPlugin.html preferencesPlugin.js name: "Orion Preferences", version: "1.0", description: "This plugin provides access to user preferences.", sampleCommandsPlugin.html sampleFilePlugin.html editorDelegatedPlugin.html sitePlugin.html sitePlugin.js name: "Orion Site Service", version: "1.0", description: "This plugin provides virtual site support for hosting client web applications from your Orion workspace.", taskPlugin.html taskPlugin.js name: "Orion Task Management Service", version: "1.0", description: "This plugin provides access to the tasks a user is currently running or ran recently, and provides management of those tasks.", toRGBPlugin.html upperPlugin.html webdavFilePlugin.html webEditingPlugin.html <title>Web Editing Plugin</title> webEditingPlugin.js name: "Orion Web Editing Plugin", version: "1.0", description: "This plugin provides editor link support for the navigator." xhrPlugin.html shellLogProviderPlugin.html <title>Shell Log Provider Plugin</title> shellLogProviderPlugin.js name: "Orion Log Provider Service", version: "1.0", description: "This plugin provides shell access to Orion log service." shellPagePlugin.html <title>Shell Page Plugin</title> shellPagePlugin.js name: "Orion Shell Page Service", version: "1.0", description: "This plugin integrates access to Orion's Shell page into other Orion pages." shellPlugin.html userservicePlugin.html userservicePlugin.js name: "Orion User Profile", version: "1.0", description: "This plugin supports access and modification of a user's profile information.", webToolsPlugin.html <title>Orion Web Tools Support</title> webToolsPlugin.js name: messages["pluginName"], //$NON-NLS-1$ version: "1.0", //$NON-NLS-1$ description: messages["pluginDescription"] //$NON-NLS-1$ consolePlugin.html <title>Console Plugin</title> consolePlugin.js name: "Console Plugin", version: "0.1", description: "A plugin to add a link to the tty shell" fileClientPlugin.js name: "Orion Node File Service", version: "1.0", description: "This plugin provides file access to a user's workspace.", nodePlugin.html <title>Node.js plugin</title> nodePlugin.js name: "Node Support", version: "1.0", description: "Provides control for Node.js functionality." pageLinksPlugin.html <title>Page Links Plugin</title> pageLinksPlugin.js name: "Orion Page Links", version: "1.0", description: "This plugin provides the top-level page links for Orion."
Another question that came up when I was debugging this: 5) Why is the "Orion Core Support" plugin (plugins/orionPlugin.html) loaded twice on an editor page that's open on a file? (i.e. after refresh page, I see "Orion Core Support" loaded, then "Orion JavaScript Tool Support", then "Orion Core Support" again).
(In reply to Carolyn MacLeod from comment #5) > Another question that came up when I was debugging this: > 5) Why is the "Orion Core Support" plugin (plugins/orionPlugin.html) loaded > twice on an editor page that's open on a file? > (i.e. after refresh page, I see "Orion Core Support" loaded, then "Orion > JavaScript Tool Support", then "Orion Core Support" again). JavaScript plugin loads the orion bootstrap which loads the orionPlugin again. This was done so that the JS Plugin can access the file system.
(In reply to Silenio Quarti from comment #6) > JavaScript plugin loads the orion bootstrap which loads the orionPlugin again. > This was done so that the JS Plugin can access the file system. Ah, ok. Thanks.
Abandoned the gerrit change and fixed with: http://git.eclipse.org/c/orion/org.eclipse.orion.client.git/commit/?id=f4e0c007315adf996d5b63238f4e7172206a58d7