Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 427033 - Investigate the idea of installed libraries
Summary: Investigate the idea of installed libraries
Status: RESOLVED WONTFIX
Alias: None
Product: Orion
Classification: ECD
Component: JS Tools (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 449074
Blocks:
  Show dependency tree
 
Reported: 2014-01-30 14:01 EST by Michael Rennie CLA
Modified: 2015-05-08 10:21 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Rennie CLA 2014-01-30 14:01:03 EST
Ken and I were talking about ways to make library integration(s) better, and one idea we came up with was an installed library - basically all the support for a given library in one package that could be used by the JS tools (or Orion in general).

For example - MongoDB - we currently have an index file for it, but there also could be templates, API doc, etc that could be contributed. So rather than N different contributions (one for index, N for templates, etc) we could have a new extension point that would allow a 'library' to be defined that could in turn provide all the stuff related to that particular library.

Thoughts? Ideas?
Comment 1 Simon Kaegi CLA 2014-01-30 15:39:16 EST
What problem are we solving here? Is there some some sort of perf problem with a plugin contributing multiple services related to a library or ...?
Comment 2 Michael Rennie CLA 2014-01-31 09:06:15 EST
(In reply to Simon Kaegi from comment #1)
> What problem are we solving here? Is there some some sort of perf problem
> with a plugin contributing multiple services related to a library or ...?

There is no performance issues, there are few problems that we could be solving here:

1. make it easier for contributors to extend the JS tools. For example, rather than a contributor having to use N extension points and merge stuff together (imagine a 3rd party providing JS templates; how would that get properly merged / sorted in with the default JS templates) they could contribute a library object to our one extension point and we handle all the merging, etc.

2. If in the future we wanted to have UI that would allow users to configure/enable/disable a library it would be far easier to just filter out that contribution (the whole lib) rather than filter contributions from a pile of extensionpoints  

3. Think of one of these libraries like the installed JRE from Eclipse - everything you need is contributed in one place, easy to configure - for example a library object might look like:

{
  getIndex: function(){},
  getTemplateProposals: function(){},
  getKeywordProposals: function(){},
  getCompletionProposals(): function(){},  
  getAPIDocumentation: function() {},
  getPreferenceId: String,
  isAutoLoading(): Boolean
}
Comment 3 Michael Rennie CLA 2014-11-05 12:57:49 EST
I could see the script mapping also playing a role here, each library could provide a mapping to find its files (in their default location)
Comment 4 Michael Rennie CLA 2015-05-08 10:21:41 EDT
With the support in the tools being provided as Tern plugins, we no longer need the idea of an 'installed library'.

See bug 432940 for Tern support.

Closing wontfix.