Configuration
From FiFormsWiki
This document gives an overview on how to configure the FiForms Framework. If you've just installed the FiForms Framework for the first time, we recommend that you use the graphical screen described below in "Initial Configuration." At the end of this document under Configuration#Configuration Elements is a reference for every configuration element (or parameter) that may be specified in the configuration.
Contents |
Configuration Files
Site-specific FiForms configuration is set up in the file localconfig.php located in the scripts folder. The localconfig.php file loads a default configuration by including FiForms_global.inc.php. Individual configuration elements can be overridden by setting elements of the array FIFORMS_CONFIG in localconfig.php.
Application-specific configuration is set in appconfig.php under each application folder (located at %APP_BASE%/%APP_NAME%/appconfig.php) or the application-specific PHP folder (located at %SCRIPT_PATH%/app/%APP_NAME%/appconfig.php). Elements set in appconfig.php override the site-wide configuration set in localconfig.php.
Please note: the localconfig.php files in the application-specific PHP directories should not be used for configuration. These are simply pointers to the site-wide localconfig.php mentioned above.
Also Note: Names enclosed in %% signs in this documentation indicate the names of configuration elements. For example, paths are often given like this:
%SCRIPT_PATH%/themes/
Let's assume that in a given installation, the script path was
C:/xampp/www/FiForms/scripts
Then this path would be
C:/xampp/www/FiForms/scripts/themes/
Configuration Elements
External Programs
XSLTPROC
xsltproc application used to transform XML if %PHPXSLT% is false. On Linux, this defaults to "xsltproc" and on Windows it defaults to "%APP_BASE%/bin/libxml2/xsltproc.exe".
XMLLINT
xmllint application used to validate XML. On Linux, this defaults to "xmllint" and on Windows it defaults to "%APP_BASE%/bin/libxml2/xmllint.exe".
UNZIP
unzip application used to extract zipfiles uploaded through the FiForms Admin interface. On Linux, this defaults to "unzip" and on Windows it defaults to "%APP_BASE%/bin/unzip/unzip.exe".
MYSQLDUMP
mysqldump application for exporting or backing up a database through the FiForms Admin interface. This defaults to "mysqldump." If mysqldump is not in your path, be sure to set it here if you want database backup functionality.
URI Configuration
SERVER_ADDRESS
The base URI to the root of the webserver i.e. http://localhost
URI
The URL to the FiForms scripts on the webserver i.e. http://localhost/FiForms/scripts This is the URI that is used to run PHP scripts which are located at SCRIPT_PATH.
PHPMYADMIN_URI
The URL to phpMyAdmin on this server, if it is installed.
Database Configuration
DEFAULT_SERVER
Name or IP address of MySQL Database server. Default is localhost.
DEFAULT_USER
User to connect to MySQL database. If you specify a valid user and password here, users will be able to use applications without logging in and will not be prompted to login. Leave this blank to force users to log in before accessing the forms.
DEFAULT_PASSWORD
If Configuration#DEFAULT_USER is specified, use this password to connect to the MySQL database.
DEFAULT_DATABASE
The name of the MySQL database schema to use by default, if none is specified in the form definition.
MYSQL_VERSION
Numerical value indicating the MySQL server version in use. This should be either 4 or 5 (decimal version, such as 4.1, 5.1 etc. is not needed).
HTTP Report Server Configuration
REPORT_OUTPUT_XMLNS
Boolean variable, If TRUE, then FiReports will declare the XML namespace in the output of all reports:
xmlns="http://xml.fiforms.org/FiReports/"
This defaults to FALSE for compatibility reasons. It is recommended to set this to TRUE for new application development.
ALLOW_USER_QUERIES
If TRUE, allow users to execute arbitrary SQL on the server. This is a HUGE security risk, and should be left disabled unless you are sure you know what you are doing, or you don't care about your data. Default is FALSE.
ALLOWED_SERVERS
Comma-seperated list of database servers that user-supplied SQL queries are allowed to connect to. Default is ",localhost" (localhost only). Can be set to "_ANY_" to allow connection to any arbitrary server on the network.
Debugging Options
QUERY_DEBUGGING
If TRUE, show all SQL queries in an HTML comment in the output of forms. Useful for debugging but also a slight security risk. Default is FALSE. This can be set in conjunction with SHOW_DEFINITION to show debugging and timing output for reports (in raw XML output).
SHOW_DEFINITION
If TRUE, allow showing of SQL statements in the XML output of reports. Default is FALSE. If set in conjuction with QUERY_DEBUGGING, this will display a debug option on the report parameter screen to include SQL and timing information in report output.
PERF_STAT
If TRUE, log page loads, queries, and performance statistics in the fiforms_performance database. See the article on Performance Tuning for more details. Default is FALSE.
USE_XHTML
If TRUE, FiForms will output strict XHTML. Otherwise, FiForms will output HTML. Default is FALSE.
See the article on XHTML Support in Fiforms.
CONNECT_EARLY
Establish MySQL database connection at an earlier point in building the FiForm. Normally not needed and defaults to false. Option is provided for backward compatibility with older versions of FiForms, where this was the default behaviour.
Application Registry
These variables are not set in localconfig.php but are built dynamically by the appreg.php scripts under each application.
AVAILABLE_APPS
An array containing the unix names of each application
AVAILABLE_APP_INFO
An associative, multi-dimensional array containing additional information about each application. Each element of the array is indexed by the application unix name, and is an associative array containing elements apptitle, appsummary, and appdatabase.
Behavior Options
MENU_POPUPS
Set to either 'default' or 'new'. If set to 'new', forms are always opened in a new tab, rather than the popup window as defined in the form definition. Default is 'default'.
MENU_XMLNS
Boolean variable. If true, then menu definitions are expected to be namespace qualified, with all elements in the namespace http://xml.fiforms.org/FiFormsMenu/ . This should always be set to TRUE for new development. Defaults to FALSE for backwards compatibility.
USE_COMBINED
Use the combined, single include file rather than multiple files in the FiForms-includes directory. Defaults to FALSE. (Experimental)
NEW_FILE_MODE
Octal file mode set to newly created files, such as applications files and forms. Defaults to 0775. Affects Linux and Unix-based Operating Systems (has no effect on Windows). (effective in version 1.1.1 and later)
NEW_FILE_GROUP
Group for newly created files. The webserver user must be a member of this group. Affects Linux and Unix-based Operating Systems (has no effect on Windows). (effective in version 1.1.1 and later)
NEW_DIR_MODE
Octal file mode set to newly created directories in applications. Defaults to 0775. Affects Linux and Unix-based Operating Systems (has no effect on Windows). (effective in version 1.1.1 and later)
NEW_DIR_GROUP
Group for newly created directories. The webserver user must be a member of this group. Affects Linux and Unix-based Operating Systems (has no effect on Windows). (effective in version 1.1.1 and later)
Login and Authentication System
UPDATEPW_HASH
sha1 hash of the online administrative password (used to protect system pages like the application creator, form creator, fiforms info page, etc when using Basic Authentication).
You can set the password manually by specifying the SHA1 here. On Linux, use a command similar to the following to generate the hash sum for a new password:
echo -n "password" | sha1sum
If you got "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8" then your password is definitely too weak... ;)
UPDATE_HOST
Determines which hosts have access to the administrative features of FiForms. Should be one of "any" or "localhost".
AUTH_MODULE
Full path to authentication module to use. Authentication modules are located under FiForms_includes, and include the files "FiForms_CookieAuth.inc.php" and "FiForms_BasicAuth.inc.php"
AUTH_REALM
The authentication realm used in HTTP Basic Authentication. Default is "FiForms".
AUTH_SERVER
The MySQL Server with the user privilege and authentication database for Cookie based authentication
AUTH_DB
Name of MySQL Database to use for privileges and authentication.
AUTH_USER
MySQL Login username with select privileges only on the database specified in AUTH_DB, as well as select, insert, update, delete privileges on the sessionmaster table in the same database.
AUTH_PASSWORD
Password for AUTH_USER
.


