Orion 0.3 M2 – New and Noteworthy

Here are some of the more noteworthy things available in milestone build M2 (September 23, 2011) which is now available for download. This milestone is now also running on Orion Hub. Visit http://eclipse.org/orion to request an account.

Hyperlinks are now supported in the Orion editor. Simply hold down the Ctrl or Cmd key, and hover over a link for it to be underlined. Clicking the link will navigate the browser to that URL.

Editor folding

The Orion editor now supports code folding. This is currently only available in JavaScript files, where block comments can now be folded. Hovering over the ruler annotation for folded text will show the folded region in a tooltip.

Better error/warning indicators

There have been several improvements to how errors are presented in the editor:

  • The editor can now differentiate between errors and warnings.
  • Errors and warnings are underlined in the text in addition to the usual ruler annotations.
  • The error annotation in the ruler shows a small ‘+’ icon when there are multiple errors on a line
  • The hover text on errors now includes an icon, and show multiple errors per line

The editor no longer depends on Dojo

The Orion editor no longer has any dependency on Dojo. This makes it much easier to reuse the editor within other JavaScript frameworks, and makes the overall editor package smaller.

Editor projection and annotation model

Powering all the nifty new editor features in this milestone is a new pluggable editor annotation and projection model. In layman’s terms, this means that code outside of the editor can define what regions are foldable, where hyperlinks should be shown, and how to display various kinds of annotations. This model also supports an open-ended set of annotations, meaning editor clients can add support for other kinds of annotations such as bookmarks, search results, breakpoints, etc. These are powerful new building blocks for those looking to build the Orion editor into their own custom application or environment.

Cross-site authentication

Orion now supports logging into multiple sites at once. This allows you to use plugins from multiple domains at once, logging into each server independently when services from different plugins are needed. Clicking on the profile menu in the top right corner of the page will show all domains you are currently logged into, and what services are requesting authentication.

OpenID login enabled on Orion Hub

The previous release of Orion supported OpenID authentication, but enabling it meant that any user with a valid OpenID could create their own account. An Orion administrator can now enable OpenID login, while restricting it to users who already have accounts on that server. Based on this new support, you can now log into http://orionhub.org with an OpenID that you have previously added on your OrionHub profile settings page.

Outline provider service

A new service has been added, orion.edit.outliner that allows a plugin to contribute an outline model to the Orion editor. There are already various examples of this service cropping up on the web, such as Mark Macdonald’s JavaScript outliner based on uglify.js, and John J. Barton’s JavaScript outliner based on nonymous. Nonymous is a neat little library for generating names for anonymous JavaScript functions.

If you have multiple outliners installed, you can switch between them using a drop-down menu at the top of the editor’s outline panel.

Validators can now contribute warnings

Plugins can now contribute warnings as well as errors by providing an orion.edit.validator service implementation. This has been used in the Orion JSLint plugin to provide warnings for unused variables in JavaScript. Note that these warnings currently appear on the function declaration rather than the line where the variable is declared, due to a lack of line information in the data coming back from JSLint.

New search results page

The search results page has been completely redesigned. You will now see a tree of search results organized by folder. All matches in each file are now shown, and clicking a match will navigate to the corresponding line in the editor. Toolbar buttons can be used to navigate between search results, and to expand or collapse the results tree.

WebDAV file plugin

An implementation of the orion.core.file service is now available for working against a WebDAV server. With this plugin, you can now use Orion tools hosted on one server to develop files hosted on a different WebDAV server.

The above features are just the ones that are new since the previous milestone build. See the New & Noteworthy category on this blog for a complete listing of new features in past milestones and releases.

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