Eclipse Orion 8.0

Release Date
Deliverables

The main deliverables for the Orion 8.0 release are a multi-user server based on a Java runtime and a single-user server based on a Node.js runtime.

With each of these two runtimes, the client code representing the features of Orion will be served to a supported browser and allow additional functionality to be installed client side through a plug-in framework.

Primary support is for Web programming languages, however any file type can be edited.

The multi-user Java Server provides enhancements not found in the Node.js server including Git support, long running tasks, authentication, and a global search service.

Compatibility

Orion aims to provide compatibility for plugins. Plugins written for previous versions of Orion, that only use well documented services, will continue to work in Orion 8.0.

Documented server REST API has only changed in compatible ways. Existing client code running against previous versions of the Orion server (either Java or Node) will continue to work in Orion 8.0.

No compatibility is provided within Orion server code, on either Java or Node servers.

Internationalization

All client side messages are externalized, and if additional language packs are present they will be used, based on the browser's language settings. Server strings are not externalized.

Target Environments

Java7 Based runtime for the Orion Server

Node.js (> v0.10.21) Based runtime for the Orion Node Server

Client Side Browser Support

  • Chrome/Chromium 40+
  • Firefox 37+
  • IE 11+
  • Safari 7+
Themes

Language Tools

This release will invest heavily in more mature language tools for JavaScript, HTML, and CSS. We will introduce the concept of Quick Fixes, and provide fixes for common coding problems. We will also introduce a concept of semantic hovers, which allow language tools to insert hover information relevant to the current code position. We will provide an initial set of hovers for images, colors, fonts, and reference documentation. We will also introduce hyper-linked navigation within hovers. This feature will initially allow navigation between related JavaScript, HTML, and CSS files.

Server Scalability

We will complete work to support clustering of multiple Orion server instances over the same data. This work will include proper file-based locking of metadata, and separation of instance-private from shared server persistent state. This release will also deliver a completely new implementation of global search to remove our usage of Lucene/Solr. While Lucene provides fast performance, it lacks accuracy and features needed for code search, and makes scaling Orion up to large user bases more complex.

Metrics

Software as a service allows for a more immediate cycle of feedback and improvement based on analysis of user behavior. We will introduce deeper metrics gathering infrastructure that allow for gathering and analysis of aggregate, anonymous behavior such as types of commands invoked, file types edited, pages used, etc. We will also instrument client side exception handling to allow teams to focus their defect fixing on the most common failures. Downloaded copies of the Orion server will continue to be free of tracking - each Orion server administrator must enable metrics using their own Google Analytics account.