Orion 0.2 M8 – New and Noteworthy


From glorious Orion, plunge beneath
The stream of tireless Ocean, when the air
Is turmoil, and the sea is mad with storm;
The Fall of Troy, by Quintus Smyrnaeus

The lazy days of summer may be approaching in the northern hemisphere, but the Orion team is still hard at work! This milestone brings a host of new features for Orion end users and adopters. You can give the new build a try on Orion Hub. If you don’t already have an account, you can request one at eclipse.org/orion. If you want to install the Orion server yourself, you can also download it.

Note: If you have used previous milestones on Orion Hub, you will probably need to clear local storage. Sorry! We hope to improve our handling of migration across different Orion builds in the near future.

Landing page

Orion now includes a landing page that is shown when you first login. This page shows recently used projects, and helps with getting started on some common tasks in Orion. Plug-ins can contribute sections to the landing page by registering a service of type orion.help.task.

Key bindings on all pages

All Orion pages now support key bindings. For example type ‘t’ in the Navigator to quickly navigate to a file with a particular name. To help you remember what key bindings are available, you can type ‘?’ on any page to popup a list of available key bindings (or Ctrl+’?’ in the editor).

Integrated help

Orion now includes an integrated help system. Click the question mark icon in the top right corner of any page to navigate to the help system. We will be fleshing out further help content here over the coming weeks.

64-bit Mac build

64-bit Mac OS X has joined the line-up of platforms for which the Orion server is routinely built.

Mac console window

When an Orion server is launched on Macintosh, a console window is now shown. This makes it easier for you to know the server is running, and allows you to see the console log output. You can stop the server at any time by typing “close” into the console.

Orion application branding

The Orion application now has branding, rather than using the default Eclipse launcher branding. Therefore the executable is now called either orion.exe (Windows) or orion (everywhere else), and has a shiny new icon.

Git init

You can now create a new Git repository from the Repositories page (‘git init’). Select any existing folder in your workspace to become a Git project, or create a new folder from the dialog.

Updated Git clone dialog

The Git clone dialog has been improved and simplified. It will now create a folder in your workspace automatically to store the new clone. You can still select a destination folder if want to. You will now only be prompted for credentials if they are required for your connection type.

Updated Git log page

The Git Log page has been improved. Clicking on any commit will now bring up a detail pane showing the commit hash tag, author information, and a list of files changed by that commit. Click the icon next to each file to view a diff showing the changes made in that commit.

Updated Git repository page

The Repositories page has seen a number of improvements. You can now see all local branches, and all configured Remotes and their branches. From this page you can now add and remove remotes, create and delete branches, and perform common operations such as checkout, merge, and fetch.

Copy/Move selection dialog

When you copy or move a file, you can now open a dialog to select the destination folder, as an alternative to the copy/paste approach. Copy and move are accessed from the More menu that appears when files are selected in the Navigator.

Syntax highlighting improvements

Further improvements have been made to the Orion syntax highlighting engine. Multi-line syntax rules are how supported, and improvements have been to incremental syntax updating as you type. Some nested rules are now supported, as well as some highlighting of syntax errors in HTML. In the example below, the incorrect comment terminator is highlighted in red.

Extensible editor lookup

Plug-ins can now contribute new editor types by registering a service of type orion.navigate.openWith. Below is the snippet from Orion that contributes Orion’s default web editor. Note that this service is completely declarative so no concrete service implementation is required in this case.

  // Register our editor for html, js, css, xml
  (function() {
    var serviceImpl = {};
    var serviceProperties = {
      name: "Orion web editor",
      href: "/edit/edit.html#${Location}",
      validationProperties: {Name: "*.(css|js|html|txt|xml)"}
    };
    provider.registerServiceProvider(
      "orion.navigate.openWith", 
      serviceImpl, 
      serviceProperties);
  }());

Transitioned to RequireJS modules

Orion has been fully transitioned to use RequireJS modules. This allows Orion scripts to be reused in a modular fashion by other applications, and helps with dependency management. The RequireJS build system is used to produce minified JavaScript for all pages, making this Orion milestone noticeably snappier to load than previous builds.

Moved to Dojo 1.6.1

Orion has moved to Dojo 1.6.1. This enables use of RequireJS to import dojo components, and allows Orion to work well on Internet Explorer 9.

Server configuration file

A new server configuration file has replaced the assortment of system properties and preference settings used to configure the server. This makes installing new Orion builds easier because you can just drop in your configuration file and run. See the Server administration guide for more details.

Cleaned up service names

All Orion service names have been reviewed and made consistent. While this breaks any existing plug-ins out there today, it positions Orion for better server compatibility going forward. You can see a list of services currently available in our nascent
Orion Developer Guide.

Consumable editor

The scripts that make up the Orion source code editor have been reorganized to make it easier for other applications to consume a functional source editor without dragging in too much infrastructure. The editor-related objects have also been renamed to clarify their roles. The text view is the basic text editing widget, and the editor is the text view
bundled with key bindings and commands such as search and replace, undo/redo, an annotation ruler, etc. Check out the minimal editor and embedded editor examples here.

This entry was posted in New & Noteworthy. Bookmark the permalink.