A browser-based code editor and UI designer for Enyo 2 projects
Applications made using Ares 2 rely on the Enyo highly portable web technology: they are cross-platform (Linux/Mac/Windows, Android,/iOS/WindowsPhone/Windows8/webOS, Chrome/IE/Firefox/Opera), cross-form-factors (Desktop, Phone, Tablet, TV… etc).
Although Ares is still a work in progress, we have reached the point where we are opening the repo and will do further development in the open, so we encourage you to follow our progress and give us feedback as we push Ares forward.
Here are the main features you can start looking at today:
fsLocalHermes service). Ares can also be configured to use a per-user Dropbox account (via the
fsDropboxHermes service) as file storage. See below for more details.
The following features are in the works, and you should see them added as we move forward:
Depending on your network environment, you may need to setup a proxy URL to access Internet through a proxy server.
This proxy URL can be set up with:
http_proxyenvironment variable. I.e you can run node server with a command like
http_proxy=http://my-proxy.com:8080 node ide.js
globalProxyUrlparameter at the beginning of ide.json file to have something like `globalProxyUrl: "http://my-proxy.com:8080"'
By default, the service will get the proxy specified by
globalProxyUrl parameter or by
https_proxy environment variable or
http_proxy environment variable.
Language used by Ares 2 is english per default (and forced). See the
language configuration entry in ide.json.
If the related language does not exist, a language will be defined according to the locale hierarchy managed by the ilib library.
This forced value could be modified / disabled: another language code string value / null.
NB: Don't forget to restart Ares 2.
Install Node.js 0.10.19 (or later) & its associated NPM (Node Package Manager) from a binary distribution, for example at nodejs.org
ares-ide using NPM:
$ npm -d install ares-ide
-d options gives some minimal troubleshooting information, which is pretty useful as
ares-ide is a heavy package (more than 12 MB).
Once installed, run it using
node_modules\.bin\ares-ide.cmd) on Windows.
Please report the issues you find in our JIRA at https://enyojs.atlassian.net/ against the component named
NB: Since ares-0.2.12, ares is minified as it is installed
Start the IDE server: (e.g. using the Command Prompt, navigate to the ares directory and type
… or (Mac & Linux):
Get more information about the options using
$ ares-ide --help Ares IDE, a front-end designer/editor web applications. Usage: "node ./ide.js" [OPTIONS] Options: -h, --help help message [boolean] -T, --runtest Run the non-regression test suite [boolean] -b, --browser Open the default browser on the Ares URL [boolean] -p, --port port (o) local IP port of the express server (default: 9009, 0: dynamic) [default: "9009"] -H, --host host to bind the express server onto [default: "127.0.0.1"] -a, --listen_all When set, listen to all adresses. By default, listen to the address specified with -H [boolean] -c, --config IDE configuration file [default: "./ide.json"] -l, --level IDE debug level ('silly', 'verbose', 'info', 'http', 'warn', 'error') [default: "http"] -L, --log Log IDE debug to ./ide.log [boolean] -D, --dev-mode Load non-minified version of Ares and Enyo for Ares debug and development [boolean]
In case you want to access other parts of your machine's file-system, refer to the local filesystem service configuration
Once Ares is loaded in your browser, you can create a skeleton of an application with "Edit -> Create ... " menu. Once you've selected a directory to create a project, you will see a popup to specify the name, title and other parameters of your project.
To create a project skeleton, use the "Template" selector to choose the latest bootplate version. This way, your project will be created with a template of an application and the required enyo, layout and extra libraries.
The simplest way is to update the libraries inside your project.
For all libraries in
Be sure to run Ares with
-L) to capture the Ares server output in the file name
ide.log. Attach this log-file to you bug report on the ARES JIRA.
You may also want to increase the log verbosity, in order to better understand what is going wrong by yourself. The default verbosity level is
http. You may want o increase to
info or even
verbose. Lowest layer
silly is usually for Ares core developers.
$ node ide.js --level=info
See this list of known issues
Ares does not store any security token or credentials on the server. Client-side security tokens & credentials are stored either using Cookies or using HTML5
Ares's plugin architecture is made to allow extensions, both in its UI (browser client) & its server.
The service genZip defined in
ide.json of ares-project or
ide-plugin.json of Ares plugins allows to intanciate new Ares project from project templates such as "bootplate" or any customer specific project templates.
sources: of the service genZip lists the template definitions that are available at project creation time.
See the section "Project template service" in hermes/README.md for more information.
Ares plugins can bring additional functionality and configuration to Ares. An Ares plugin must follow these rules to be loaded as a plugin:
ide.jsonin its main directory, which:
At startup, the process "node ide.js":
../../node_modules/*/ide-plugin.json(production environment: npm installs Ares plugins aside Ares)
node_modules/*/ide-plugin.json(development environment: npm installed Ares plugin under the Ares source tree)
@PLUGINDIR@: the absolute location of each plugin root folder in the Ares server file-system.
@PLUGINURL@: the URL to the plugin root URL, taken relatively to the Ares main page.
@NODE@: the path to the Node.js executable in use. This is useful to start sub-process using the same executable
@CWD@: Current-Working-Directory of the Ares process
@INSTALLDIR@: Root folder of
ares-project, as it is loaded by Node.js. This is the expected location of the
@HOME@: the user's
$HOMEfolder on Mac OSX & Linux,
Ares plugin configuration are merged as follow:
The client code of an Ares plugin is defined by the property "
pluginUrl" of a service entry in "ide.json".
After being loaded, the new code must invoke
ServiceRegistry.instance.pluginReady(); to notify Ares that the client side code is ready.
See the function 'pluginReady' in the file 'services/source/ServiceRegistry.js'.
It is possible to customize the logo displayed on the top-right corner of Ares.
For this, load your logo in ares (recommended size is 42x42px). Change the following line in
utilities/source/Logo.js in the
To remove the logo's display from Ares, replace the call to
Proxy can be configured per service in Ares
ide.json configuration file. Sample
advanced proxy configuration is provided in
ide.json with the
To setup a proxy specific to a service: