Orion 5.0 – New and Noteworthy

Orion 5.0 is now available! Check it out now on OrionHub, or download your own server. An updated JavaScript implementation of the Orion server is also available from npmjs.org. The following are some of the notable new features and changes in Orion 5.0. Make sure you also check out the 5.0 M1 news for other features added earlier in the 5.0 release.

New Orion look and feel

New Orion users have consistently reported that they found our cluster of iconic Actions and Navigation buttons confusing. Developers often have trouble finding the commands they are familiar with in their old desktop-based tools. So, finally we are caving to user demand and incorporating some familiar navigation elements such as a menu bar and context menus. You can find more details on the various UI changes further down in this post. User feedback has been a tremendously important part of these changes, and we strongly encourage all users to continue providing this feedback as the design evolves. Please don’t hesitate to raise bugs, report feedback on the orion mailing list, or grab us in person at conferences such as EclipseCon.

The old Navigation menu has been replaced by a narrow band on the left hand side with links to all of Orion’s different pages. All links are contextual and will navigate you to the closest corresponding page related to the artifact you are currently viewing. For example when editing a file, navigating to Git Status will show Git status for the repository containing the file you were just editing. Icons in the navigation bar match the page icon in your browser tab, to help you keep things straight. You can collapse the navigation bar at any time by clicking the toggle button in the top left hand corner of each page.

New navigation bar

The Actions menu, and some navigation elements, have been replaced with a more traditional menu bar. The key binding shortcuts have been added to the menu label for all commands that have them. The options to toggle between navigation and outline panels have been moved to the View menu.

Menu bar

Context menu in Navigation pane

Context menus have been added on files and folders in the Navigation pane. In these menus you will find the most common file operations such as copy, paste, rename, compare, etc. You will also find commands for navigating to other pages related to that file or folder.

Context menus

Content assist enhancements

The Orion content assist infrastructure has had a major overhaul. Orion content assist is now:

  • Faster. Computing, loading, and rendering of content assist proposals has been made much snappier.
  • More stylish. The proposals have been styled, so that the value to be inserted is highlighted, and peripheral information such as type information and descriptions are less distinct. Also, template proposals have been moved to a different section with a colored background to separate them from completions inferred from the current context. Highlighting of the current proposal has been improved, and scrollbars now only show when needed.
  • Easier to use. Content assist will now trigger automatically in the places where you most expect it to, such as after typing ‘.’ in JavaScript or opening a tag in HTML. Also, if you invoke content assist and there is only one possible match, it will be inserted automatically. Finally, the Home/End keys can now be used to quickly navigate around the proposal list.

To give you a feel for the overall changes, here is a comparison of content assist in Orion 5.0, versus the previous release:

Improved content assist

Content assist for popular Node.js libraries

Orion has added indexes to support content assist for some of the most popular Node.js libraries. On the database front there is now content assist for Redis, MySQL, Postgres, and MongoDB. Content assist is now also available for the AMQP messaging library, and the Express.js framework. Templates for popular code snippets with these various libraries are also available. Orion plugins can now contribute indexes for other libraries using the orion.core.typedef service.

Fully configurable JavaScript syntax validation

Orion is now almost fully converted over to the fantastic eslint library for JavaScript syntax validation. The only exception is script tags in HTML files, which are still validated with jslint for now. A huge advantage of eslint is its configurability. As a result, we now expose a large selection of lint configuration options on the Validation settings page.

50m2-validation-settings

Syntax validation of JSON

Orion now provides syntax validation for JSON files.

JSON syntax validation

Improved Gerrit support

Orion is steadily making progress towards support for Gerrit workflows. In the current release the following features have been added to make it easier to use Orion with Gerrit:

Support to attach a Gerrit change-id to your commits:

Gerrit change id in commit dialog

Git push without tags. When pushing a change to Gerrit for review you don’t want to push tags as well. The Push button now has a drop-down menu on the right that provides a Push Branch option to push commits only.

Push branch without tags

Push for review. When a contributor wants to submit a proposed patch for review in Gerrit, they push to a special branch with the format refs/for/[branchName]. Previously Orion always assumed pushes occurred to heads branches. Now, when you select Push followed by More, you can enter a branch name such as refs/for/master to push a change for review that is intended for the master branch.

Git push to Gerrit for review

New pluggable syntax highlighting system

The Orion editor has adopted a new syntax highlighting framework, designed specifically for Orion. Notable improvements include better performance, and built in support for more languages (currently JavaScript, JSON, XML, CSS, HTML, Java, PHP, Python, Ruby, and YAML). Syntax highlighting for additional languages can be provided by plugins. In addition, the syntax highlighting framework can be used with the standalone Orion editor, which is handy if you want a smaller package for embedding in your web application.

For more details on the new syntax highlighting framework, checkout this recent blog post on Planet Orion.

Filter by folder when searching for files

When using the Orion Find File command, you can now filter the results list based on keywords in the directory path by specifying a second search term in the find box. This is very handy when there are a large number of duplicates of the same file name and you want to quickly narrow down to a particular match.

50m2-find-file-filter

Edit while comparing files

When you select two files and pick Compare with each other from the context menu, the resulting compare page now allows you to edit both files directly within the compare editor. Unsaved changes are indicated by an asterisk next to the name, and Save buttons appear above each editor. Saving changes on either side will cause the comparisons to be updated immediately.

50m2-edit-compare

Last but not least, deploy to Cloud Foundry!

Within the Orion client we’ve enabled being able to push an application directly from Orion to any compatible PaaS provider leveraging the Cloud Foundry APIs. If you already have an OrionHub account, you can click here to clone a simple Cloud Foundry example into a new project. Once you’ve cloned the project, you can see in the readme that you need to setup the deployment information on the Orion Cloud Settings Page. See the readme for a couple of example destinations. Once you’ve done that, you can simply press the Deploy button to push the app. You’ll need to edit your credentials for the PaaS provider and then the app is packaged and delivered just like the terminal cf push command. In the following diagram you can see the Deploy button and the new section regarding deployments including status of the running app and the URL for the resulting App.

Cloud Foundry from Orion

CloudFoundry from Orion

Not all the commands and features in the v6 Cloud Foundry command line are supported but we’ll continually add capabilities throughout the Orion 6.0 timeline and into the future.

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

2 Responses to Orion 5.0 – New and Noteworthy

  1. joe says:

    Any chance you know how to manage my connections in the import/export sftp list? Mine got a little cluttered. Thanks for this awesome blog. It is more usefull then the actual documentation. Couldn’t find the answer in the docs.

Comments are closed.