Configuration

Jaxer has serveral configuration files. This documentation will attempt to help you look for what's where in order to better manage your applications.

Apache Configuration

The Apache Server configuration is located in /opt/AptanaJaxer/Apache22/conf/httpd.conf. In most situations there shouldn't be any need to change these values from their default values for most standard use. Most users aquainted with Apache, this file should be straightforward. The listening port, user, group, modules, root directory, and privileges for the Apache server can be found here. Though for Jaxer to work, the line Include conf/extra/jaxer.httpd.conf must be included at the end.

Jaxer Http Configuration

The Jaxer Http Server configuration is located in /opt/AptanaJaxer/Apache22/conf/extra/jaxer.httpd.conf. The configuration contains the setting for what port the Jaxer worker listens on, specific rules to how to treat certain directory names, such as jaxer-include. And an alias pass through for the client configuration.

Jaxer Configuration

The Jaxer configuration is ambiguously named, as it contains general configuration files for several parameters that Jaxer used globally, so the only sensible name for it is the 'Jaxer Configuration'. The file can be found at /opt/AptanaJaxer/jaxer/framework/config.js. This configuration file contains serveral attributes, such as to include "Jaxer" in the "X-Powered-By" header from the server, and where the Client and Server framework files are located on the file system.

Jaxer Manager Configuration

The Jaxer Manager Configuration file is located at /opt/AptanaJaxer/local_jaxer/conf/JaxerManager.cfg. This configuration file is for the Jaxer Manager which manages the multiple Jaxer instances which actually execute the server callback requests. In this file you can change the minimum and maxium number of Jaxer Processes on the system, as well as the timeout to kill unresponsive Jaxer instances.

Jaxer Apps Configuration

The Jaxer Apps configuration is located at /opt/AptanaJaxer/local_jaxer/conf/configApps.js. The Jaxer App concept is an intruiging concept that wasn't very well documented in the original Aptana release. The concept behind it is that an given Jaxer installation can have multiple 'Apps' associated with it.

In this context an 'App' is a collection of pages for a specific server side web application contained in a given directory. Each 'App' can be defined by a name, a path, a default database connection, and any additional functions associated with that application defined in this name space.

In more practical terms, say you have a web service for an education instituion. You might have three different paths for the different users to utitilize different aspects of that application, such as /students/, /teachers/, and /administrators/. Jaxer will allow you to define an 'App' for each one of these paths, and define a default database to connect to outside of the document root.

So for instance, even if a single database is shared with all apsects of the application for /students/, /teachers/ and /administrators/, you can define default database connections with different usernames and permissions. So that the default /students/ connection will only have read-only permissions for the database user. Note that these permissions will need to be handled by the database you are using. But the default connection can be defined with configApps.js in Jaxer.

Another component is that you can define gloabl functions for each one of these apps. If for /teachers/ the function 'checkSchedule' is used often and needs to be included in serveral pages, then it can be defined here once and used through out the application.

One thing to keep in mind is that because the 'Apps' definition is outside of the document root, it's unlikely that these parameters and functions will be viewable through most normal conventions of being accessed from the web server. However it's also worth noting that because these parameters are not specifically included in their respective file directories, that these settings can be lost if not archived adequetely, so keep this in mind when using the 'Apps' configuration.