Skip to main content

Configuration files

You can find the configuration files in conf/ in the code editor, or in src/main/resources/conf/ in the project directory. The configuration files are organized by function or by module, as follows:
These configuration files support hierarchical cascading of the files via the open source Fig project. This section describes the most important configuration files in the /config folder:
  • config/twigkit.conf: Global configuration settings.
  • config/cors.conf: Cross-Origin Resource Sharing (CORS) configuration.
  • config/platforms/fusion/fusion.conf: Specify Fusion platform settings.
  • config/platforms/fusion/data.conf: Specify which Fusion query profile to use.
  • config/security/fusion.conf: Configure the Fusion security realm.

config/twigkit.conf

The App Studio application looks up global settings from a twigkit.conf configuration file that the application tries to locate relative to config on the runtime classpath.

config/cors.conf

CORS or Cross-Origin Resource Sharing is a recent W3C effort to introduce a standard mechanism for enabling cross-domain requests from web browsers to servers that wish to handle them. App Studio supports CORS filtering by default. You can control the options for the particular header attributes using the cors.conf file at the root of the /conf folder.

Hierarchical configuration

To make version control and specialization of configuration easier, the configuration is loaded hierarchically. For example, in the /platforms directory are subdirectories for /fusion and /solr:
Within the /fusion folder is /fusion/fusion.conf, which may contain the following general attributes:
Within the same folder, you might find one or more configuration files which inherit or extend this one, such as data.conf or people.conf. To access a given configuration, use dot notation, such as platforms.fusion.data or platforms.fusion.people. The configuration system will traverse the hierarchy (no matter how deep) and aggregate the configuration files, overwriting attributes from higher-level files when those attributes also appear in lower-level files. For example, if fusion.conf contains a defaultQuery attribute and you create internal.conf which also contains a defaultQuery, then the value from internal.conf is used. This allows you to create variations on the same platform configuration. You can then refer to any platform instance in other configuration files or in the search:platform tag:
In this case App Studio will use the platform as configured centrally, irrespective of the search engine behind it, effectively abstracting the data provider from the view.

Configuration locations

The configuration files can be placed outside of the application and centrally accessed by multiple instances. To reference these in a different location, set the twigkit.conf system property to the absolute file path of the /conf folder, like this:

Adding special characters to key names in configuration files

To add special characters to key names in configuration files you need to escape the special characters. For example, if a key name contained a whitespace, such as My key: value then you would need to escape the whitespace for the configuration to be correctly loaded. In this case, the correct syntax would be:
This rule does not just apply to whitespace but any special character that you may wish to use within a key name.

Cookies

AppKit uses three cookies: JSESSIONID for authentication, and tk.query.ctx_null and tk.session to track session metadata.
  • JSESSIONID is used by Spring Security for authentication and to maintain the session for the user
  • tk.query.ctx_null stores the current query term to track whether the query is refined
  • appkitRequestCookie is used to prevent Cross-Site Request Forgery (CSRF) when using social features