IX::Conf - manage configuration variables for IX
use IX::Conf;
# pass the database handle when loading config variables
IX::Conf::load();
# reference a config variable called 'html_template_root'
$IX::Conf::x{html_template_root}
IX::Conf assumes there is a MySQL table in the database you are connected to called 'config'. It assumes that table to have the columns 'name' and 'value'. It does not presume to know what variables it will find in there.
This module is just a way to have global variables without having global variables, since they must be accessed via the package name (see SYNOPSIS). Also, they are easily identifiable as your 'globals' when you see them.
load()Loads all the name/value pairs in the %IX::Conf::x hash. This is the first routine run by IX when processing a web request via IX::run() or IX::runAjax(). You may also call it in your custom app after updating config variables.
preferencesInterface()Allow ADMINs to edit certain application data. This will be a child link in the 'Config' nav menu once boilerplate navigation is in place.
savePreferences()Saves preferences to 'config' table.
techConfigInterface()Allow TECH_ADMINs to edit certain application data which ADMINs probably should not.
saveTechConfig()Saves technical configuration to 'config' table.
update()Conf.pm's update() routine is run as part of the IX::IX::update() routine that a release manager could run at the command line. It may also be run independently, if you are only looking to update configuration variables and not perform the other actions of IX::IX::build().
default: no value
The unique integer id of an application defined in ARM.
default: no value
The secret token granting your application access to ARM.
default: https:// (to get you started)
This variable assumes you're using an ARM web service, which should only be an option (most might use local ARM authorization), so including this variable in IX::Conf is deprecated. Still, as things are now, it needs to be there for ARM web service users.
default: 1