NAME

IX::Conf - manage configuration variables for IX


SYNOPSIS

  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}


REQUIREMENTS

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.


DESCRIPTION

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.


METHODS

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().


VARIABLES

ARM_app_id

default: no value

The unique integer id of an application defined in ARM.

ARM_app_token

default: no value

The secret token granting your application access to ARM.

ARM_service_url => 'https://',

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.

ARM_service_soap_uri => 'https://',

ARM_service_type => 'XMLRPC', =head2 ad_account_descriptor => '', =head2 ad_port => '389', =head2 ad_host => '', =head2 add_feed_link => '0', =head2 application_name => 'Custom IX Application', =head2 app_doc_dir => '', =head2 authmode => 'manual', =head2 authsystems => 'Guest', =head2 contact_data_prompt_interval => '6', =head2 contact_us_url => '', =head2 crash_help_html => 'IX error: please contact our Help Desk...', =head2 development_servers => '', =head2 domain => '', =head2 guest_account_descriptor => 'Guest Account', =head2 guest_domain_exclusions => '', # comma-delimited list =head2 html_template_root => '', =head2 html_template_root_default => 'skins/', =head2 max_password_age => '24', =head2 oid_account_descriptor => '', =head2 oid_base_dn => 'cn=Users', =head2 oid_host => '', =head2 oid_port => '389', =head2 production_servers => '', =head2 reply_to_address => '',

require_javascript

default: 1

session_timeout => '1440', # 24 hours, lenient =head2 test_recipient => '', =head2 user_directory_base_dn => '', =head2 user_directory_port => '389', =head2 user_directory_server => '', =head2 web_document_root => '/', =head2 web_script_name => '/',