Categories:
Aura Complex Logic Framework configuration
Description of the configuration required by the Complex Logic Framework, both operational configuration and configuration of plugins
Introduction
The configuration of the Complex Logic Framework has two different purposes, each of them supported by a configuration file:
-
General operational configuration
General configuration for the Complex Logic Framework performance. -
Plugins configuration
Specific configuration for each plugin developed over the CLF.
General operational configuration
The file bootstrap.cfg contains the Complex Logic Framework operational config sections. This file is included in the CLF repository, within the folder:
~/aura-complex-logic-[country_code]/config/etc/bootstrap.cfg
⚠️ OBs must not modify these fields. If any modification is required, it must be adjusted after approval by the Aura Platform Team
The file follows the general structure shown hereunder:
[logging]
handlers = { . . . }
loggers = { . . . }
root = { . . . }
Logging
[logging]
handlers = {
'hdl1':{
'class':'logging.StreamHandler',
'formatter':'console',
'level': 'DEBUG'
},
'hdl2':{
'class':'logging.StreamHandler',
'formatter': 'simple',
'level': 'DEBUG'
}
}
loggers = {
'plugins': {
'level': 'DEBUG',
'handlers':[
'hdl1'
],
'filters': [],
'propagate': False
}
}
root = {
'level': 'DEBUG',
'handlers':[
'hdl2'
]
}
The main fields are explained below. However, for more details, developers are kindly requested to read the Python logging documentation.
-
handlers: This field configures a dictionary with different logging handlers. Each key is the name of a handler, and is composed of the following parameters:class: It is configured with Python logging handlers (See Python documentation).formatter: It configures the format of logs. It must be filled with the labelsjson,string,consoleorsimple.level: It is referred to the level of the logging event. It must be filled with the labelsINFO,ERROR,WARNorDEBUG.
-
loggers: The corresponding value is a Python dictionary in which each key is a logger name and each value is a dictionary that describes how to configure the corresponding Logger instance:level(optional parameter): Level of the logger.handlers(optional parameter): List of IDs of the handlers for this logger.filters(optional parameter): List of IDs of the filters for this logger.
-
root: This field includes the configuration for the root logger.level(optional parameter): Level of the logger.handlers(optional parameter): List of IDs of the handlers for this logger.
Plugins Configuration
The file complex_logic.json includes the specific configuration for each plugin. It is included in the following path of the CLF repository:
~/aura-complex-logic-[country_code]/config/plugins/complex_logic.json
⚠️ OBs must not modify these files. If any modification is required, it must be adjusted after approval by the Aura Platform Team
{
"aura_clf_XX.plugins.plugin_1_name.plugin_1_class_name": {
"config": {
"sound_disabled_channels": ["channel_1", "channel_2"],
}
},
...
"aura_clf_XX.plugins.plugin_N_name.plugin_N_class_name": {}
}
Each plugin requires a specific configuration. This will be defined in a JSON file with the following structure:
- Class path: Path and identifier for the plugin.
- Open dictionary including the specific configuration of the plugin.
Enabling/disabling sound responses
Within the configuration dictionary of each plugin, you can include the sound_disabled_channels field to specify in which channels sound responses (both positive and negative) should be disabled for that plugin. This field must be a list of channel prefixes.
For example, if a channel prefix is included in this list, the plugin will not play any sound in its responses when the interaction occurs through that channel.
Currently, the configuration added in this file is not included in the production phase, therefore this file should only list the Plugins class path and keep an empty dictionary as configuration.
Disabling contingency or fallback modes for tv search use case
For the tv search use case, in the configuration dictionary of the plugin aura_clf_video.plugins.tv_search_plugin.TvSearchPlugin, you can include the contingency_disabled_channels field to specify if the contingency or fallback search mode is disabled for a specific channel. This field must be a list of channel prefixes.
{
"aura_clf_video.plugins.tv_search_plugin.TvSearchPlugin": {
"config": {
"contingency_disabled_channels": ["channel_1", "channel_2"],
}
},
...
}