Orion 1.0 M2 – New and Noteworthy

New features are still arriving at a rapid clip as we approach our 1.0 release, scheduled for late October 2012. This milestone has new goodies in JavaScript tools, global search, Git integration, editor functionality, and much more. Check out the new build running now on Orion Hub. Sign up for a free account at eclipse.org/orion. You can also download your own server from the download page. Read on below for all the details on what’s new.

Editor line wrapping

The Orion editor now supports automatic wrapping of long lines. This support is turned off in the Orion editing page by default, but can be enabled via Ctrl+Alt+W. Clients creating their own Orion text view can enable it using the wrapMode option.

New JavaScript content assist

The built in JavaScript content assist in Orion has been completely replaced. The new content assist uses simple code flow analysis to provide semantically accurate content assist. The functionality is largely the same as described in Andrew Eisenberg’s blog post, but with the following additions:

The jslint global keyword is recognized, e.g.:

The jslint browser option adds common browser content assist proposals, e.g.:

Proposals are now ordered according to lexical scopes, where the inner scopes are placed higher than outer scopes and the global scope (if available) is last, e.g.:

Below the inferred proposals are the non-inferred proposals, which are a list of all other known properties that cannot statically be determined to be in scope. Since Javascript is a dynamic language, type inferencing can never be completely accurate. Including non-inferred proposals is a way to come closer to completeness with content assist. Here is an example:

You can see that the type of val is assumed to be Object even though its type cannot be determined statically. The toString and toLocaleString methods come from Object. Under that are the non-inferred identifiers that include all other properties that begin with to, including those defined explicitly in file and that are from built in objects.

Important: If you have previously installed the third party esprima content assist plugin, you must uninstall it in order to avoid conflicts with new the plugin.

Search suggestions

When doing a global search, a list of suggestions now appears as you type. Currently this list shows matching recent searches, and saved searches.

Regular expression search

You can now search for a regular expression in the global search bar. To enable it, open the menu in the search bar, and select Regular expression. The Orion search index does not support regular expressions, so this search performs a manual crawl of the file system on every search. This kind of search will typically take much longer to run.

Phrase search

The global search bar now supports searching for a multi-word phrase. Simply enter multiple words separated by whitespace, and the search will find documents with those words in the same sequence. When searching for a phrase, wildcards are not supported.

Editor themes

A new editor theme settings page allows you to immediately preview changes to editor color settings. You can select from a list of available themes, or customize the appearance of individual elements (comments, keywords, etc).

Compare any two resources

You can now select any two files or directories in the Navigator page to compare them. Select the files to compare, and click Compare with each other in the Actions menu. Comparing two files will immediately open a compare editor showing the differences between the two files. Comparing two directories will show a list of added, removed, and changed files between the two directory trees. Click on changed files from this list to show differences in the compare editor. Differences are listed in alphabetical order by file, but can be changed to sort by folder from the Options menu.

Git review requests

You can now request a review from another user directly within Orion. From the Git Log page, click on the commit you want reviewed. Click Ask for review, and enter the name of the Orion user who you want a review from.

This will send an email to the user, with a link to a review request page for that commit. From this page you can directly review the commit, or fetch/cherry-pick the commit into a local repository to edit and merge the changes.

Save git credentials

Orion can now save your ssh private keys in the local browser to avoid having to provide it every time you access a remote. This feature can be enabled from the User Profile section of the Settings page. Saved credentials can also be deleted at any time from the same settings page.

Once enabled, a Don’t prompt me again option appears in the dialog where Git credentials are provided. This dialog also now supports loading a local ssh key file instead of pasting keys directly.

Note that these keys are stored in your browser local storage, in a way that a person with physical access to your computer can read them (much like the typical ssh private key files themselves).

Import zip over HTTP

You can now import a remote zip file directly into your workspace and have it unzipped automatically. In the Navigator page, select the folder to import into, and click Import from HTTP from the Actions menu.

Pro Tip: Because every folder in an Orion workspace can be served up in zip form, it is trivial to copy a directory tree from another Orion user. Select the folder to be copied, and open the Actions menu. Hover over Export as zip and copy the link to the clipboard. You can now send this link to a friend and they can import the zip directly into their workspace from yours, over HTTP.

Hierarchical outline

If you are using a hierarchical outliner with your editor (such as the JavaScript hierarchical outliner), you can now expand and collapse the editor entries.

Plugins can add content creation buttons

It is now possible for plugins to define buttons that appear in the Create New Content section in the navigator. The most common way to add content to Orion is to define a zip file that you wish to be extracted to form the contents of a new Orion folder. See the Developer Guide for more detail about the orion.navigate.content service extension.

Server announcements

The Administrator of the Orion server can now schedule server messages to appear on the login page for a predetermined date and duration. The title of the message appears below the splash screen area and clicking on More info… results in the display of a page of all the current server messages along with full descriptions.

New URL structure

The Orion workspace server has streamlined the URLs used to serve up files. The name of the top level folder is now included in the URL, rather than an auto-generated hash. The user name now also appears in the URL of workspace files to ensure locations are unique.

Pagination of user list

The Administrator page for editing user information is now paginated. In the case where a server has a large number of users the paginated list returns much faster than retrieving the entire list. In addition to this change, the userlist is now sorted making it easier to locate one in particular.

That’s all for 1.0 M2! Check back next month for announcements related to our 1.0 release.

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