Define a configuration file in XML
Contents
This example uses a XML configuration file that has the name <GUID>.xml where the GUID is that of the To Translator instance associated with the channel.
This is by no means the only possible choice. The configuration could be stored in a remote database for instance if you are dealing with a farm of Iguana servers.
The myconfig module provides a convenient interface to initialize and save to to this file. It’s layered over the more generic config module. This is the source to myconfig:
require('config') myconfig = {} -- The Default configuration local Config=[[ <config sending_app='My Application' sending_facility='Acme' /> ]] function myconfig.Get(ChannelGuid) if ChannelGuid then return config.Load(ChannelGuid, Config) end return config.File(config.TO, Config) end
You can see the module gives the default version of the configuration file.
For the web application to use this module it passes in the GUID of the Translator instance. For the channel itself the interface to obtain the configuration file is simpler. This screen shot shows it nicely:
In this context we can omit passing the GUID of the Translator instance since it picks it up automatically. By initializing the Config object outside of the main function it means we only read the configuration file once when the channel is started. This is more efficient.