It has been a busy milestone for the Orion project. The user interface had another major overhaul, and there were several tooling enhancements such as editor auto save and a new search page. There are also clear signs in this milestone of Orion maturing from an experimental platform to a true commercial scale tool platform, with work going into scalability, accessibility, globalization, and enterprise Java server deployment.
Navigation pane on editor page
The Orion editor page now supports a navigation pane on the left hand side of the page as an alternative to the outline pane. The navigation pane allows you to select other files to edit, browse up or down the folder hierarchy, and perform actions on files and folders much like the Navigator page.
New top banner
The banner at the top of each Orion page has been completely redesigned. The aim is to produce a clean, simple look that gives most of the page focus to the main page content such as the editor. The navigation breadcrumb has been folded into the top banner, and navigation links have been moved into a new drop-down menu in the top-left corner. Navigation links are split into two columns: the left column indicates the main of the application, and the right column contains context-sensitive links that are relative to whatever file or folder you are currently viewing. The user options menu is now a button to free up horizontal space. For more details on these design changes, see Orion developer Anton McConville’s blog post.
New search page
Searching file contents in Orion is now done from a new Search page. This page is accessed from the navigation menu in the top-left corner. All of the usual options for filtering and sorting search results are available in this page. You can also create a bookmark for frequently used searches from here. From the Navigator or Editor page, you can select Scope Search in the Navigation menu to begin a search that is narrowed down to a specific location. On the search page itself, the breadcrumb bar can be used to adjust the search scope up to any parent folder.
Importing code templates
As part of making importing code into Orion easier, this milestone has the first of two methods implemented. Any site can host a code template which can facilitate the import of a Zip file into a folder for a logged in user. As an example, see Ken Walker’s GitHub page. Located here is also the template for how to adapt your web page so that content can be imported into Orion. The second of the methods, due by 3.0 release, is to allow a link to begin a Git clone directly into a project for a logged in user.
The Orion editor now supports saving your changes automatically as you write, as well as automatically loading changes that occur to the file outside the editor. Auto-save is disabled by default but can be enabled from the editor options menu (spanner icon).
Browser compatibility check
Orion makes use of the latest emerging web application standards, and as such requires a modern HTML5 browser. If you attempt to use Orion on an older browser you will now be duly warned.
Orion WAR file deployment
Extensive work was done on the Orion Java server to support deployment of Orion-based applications as a Web ARchive (WAR) file. This included isolating Orion servlet code from the context path, allowing Orion servlets to be integrated as part of a larger web application in the same server container. Support for container-managed security was also added, enabling Single sign-on between Orion and other applications. The Orion build does not currently produce a WAR file, but a sample war file product is available for reference. More details are available in bug 377823.
Open shell to current location
In the past, the Orion shell page would always open at the root of your file system. Now, when opening the Orion shell page from the Navigator or Editor page, the current working directory will be set to the appropriate directory depending on where you navigated from.
Globalization testing was done on Orion in this milestone to ensure it supports user input in a variety of character sets. Testing was performed in Korean, Chinese, and Japanese, and several bugs were addressed. Notably, the Orion editor now supports automatically switching to variable line height mode where the current character set requires it.
Another round of accessibility testing was done on the Orion user interface this milestone, ensuring all elements are accessible to keyboard input and are useable with screen reader tools. A number of problems were addressed, and Orion developer Carolyn MacLeod wrote an informative series of tips on how to build accessible web UIs.
Server scalability and metadata storage
As part of a long term effort towards high scalability in Orion, the Java server’s internals had a major overhaul of its metadata persistence. In the past, metadata was persisted through the OSGi Preference API, which was not designed for this purpose and resulted in numerous problems. There is a tentative new API, IMetaStore through which all metadata persistence is now performed. It is now possible to plug in a completely different storage mechanism for Orion server metadata without code changes in the core of the Orion server code.