framework_config.json

The framework_config.json file is an optional configuration file within your application's root directory. It supports some useful developer aids and other configurable options in the framework.

Properties

All properties are optional, as is framework_config.json itself. It does not need to be explicitly loaded because the framework loads it if it is present in the application directory.

Property Description
debuggingEnabled If true, enables debugging features that include:
  • Default error handler for service requests
  • ALT+f for FPS display
  • CTRL+SHIFT+l to log the current scene's HTML
  • CTRL+SHIFT+o to open the firebug-lite inspector, if installed
  • CTRL+SHIFT+v to view the framework version that is in use
escapeHTMLInTemplates If true, HTML escapes in any property substitution in templates, which is a good idea.
logEvents Causes events sent by the framework and mouse events received to be logged at info level.
logLevel Controls the logging levels:
  • Mojo.Log.LOG_LEVEL_ERROR = 0
  • Mojo.Log.LOG_LEVEL_INFO = 20
  • Mojo.Log.LOG_LEVEL_WARNING = 10

    For more information, see Logging.
timingEnabled If true, the timing statistics enable on the scene transitions. For more information, see Timing.
useNativeJSONParser If true, uses the native JSON parser, if available

Examples

A typical framework_config.json file includes logging levels, debug enable/disable, and timing enable/disable properties during development.

Example:

{
  "logLevel": 99,
  "timingEnabled": true,
  "logEvents": true,
  "debuggingEnabled": true,
  "escapeHTMLInTemplates": true
}

For release, you would turn off any debugging features, but leave other configuration options set.

Example:

{
  "logLevel": 0,
  "timingEnabled": false,
  "logEvents": false,
  "debuggingEnabled": false,
  "escapeHTMLInTemplates": true
}

Dynamic Configuration

You can also set these configurations dynamically during debugging sessions by using the palm-launch command from the terminal, passing the properties to be changed along with a special property, mojoConfig:true, as in this example, which enables timingEnabled:

$ palm-launch -p "{mojoConfig:true, timingEnabled:true}" com.palm.app.myapp