This Orion milestone saw some major structural changes under the covers of Orion. The Orion browser client had a major refactoring to make it easier to consume Orion components, and the new server based on Node.js made great progress. Some of the core Orion workspace concepts were retooled to enable capabilities such as live development of a web site over SFTP from Orion. Although the list of new “features” for end users in this milestone is relatively small, the Orion team is pretty excited about the direction we are going and the kinds of applications these structural changes will enable down the road.
Improved content assist inferencing
types and properties can now be inferred in more cases, such as:
- Type inferencing on array values.
- Inferring associative arrays, for example myObj['someProp']
- Inferring object properties based on usage analysis.
Previous releases of Orion made extensive use of Dojo for internationalization, DOM manipulation, widgets, and other helper functions. This hard-wired library choice made it difficult for consumers of Orion components to run with a different version of Dojo, or with alternative libraries such as jQuery or MooTools. In this milestone Orion has completely eliminated use of Dojo, making it much easier for people to consume parts of Orion into different kinds of web applications. For a deeper look at the motivation for this change and our longer term ideas, see Susan McCourt’s detailed blog post.
Orion on Node.js makes progress
The port of Orion running on Node.js is now available in the Node package registry as version 0.0.8. For complete details on how to install it and what it can do, see the Getting Started guide. Here is what’s working so far:
- Basic Navigator operations (Create file/folder, delete file/folder, copy/move/rename a file)
- Basic Editor operations (Edit file, save file, syntax highlighting, ETags)
- Plugin operations (Install/uninstall Orion plugins)
- Shell support for launching and debugging node applications (type "help node" in the Shell page to find out more)
- Shell support for Node package manager (works the same as the usual npm console command)
A very early preview of a new project concept is available in this milestone. Effectively a project provides a way to link content you are working on with external sources and targets. Over time this will simplify and streamline how you import your code to Orion tools, and how you deploy from Orion into your target environment. Currently, support is implemented to edit code and other sources directly on a remote SFTP server. For more details, see Anton McConville’s
blog post telling all about it.
New Shell page command parameter and return types
Commands contributed to the Shell page can now use the "file" and "blob" types to read and return Orion workspace file content. A Shell page user directs the output of such commands to their chosen workspace location with the new --output parameter.