webgui/etc/WebGUI.conf.original
Colin Kuskie f2c0a672f4 Add the shippingDrivers entry to the config file.
Have the update script remove the old shipping plugin and add the new shipping driver entry to config files.
Tests for Ship.t.  getDrivers and some "new" code for Shop::Ship.
2008-02-26 22:45:06 +00:00

478 lines
16 KiB
Text

# config-file-type: JSON 1
{
# Add a comma separated list of the names this site can use.
# The first site in the list will be used as the default
# sitename for generating offline URLs and other functions.
"sitename" : [ "www.example.com", "example.com"],
# Set to 1 if you want to use WebGUI's SSL functions, including encrypting user logins.
"sslEnabled" : 0,
# Rename the WebGUI Session cookie if you like.
"cookieName" : "wgSession",
# Explicitly set the domain that the WebGUI session cookie
# should be assigned to. Defaults to the domain that the user
# is browsing the site under.
# "cookieDomain" : ".example.com",
# Explicitly set the time to live for the WebGUI session cookie
# Defaults to +10Y. cookieTTL must follow the described format:
# Format should match /^\+?(\d+)([YMDhms]?)$/
# $2 qualifies the number in $1 as representing "Y"ears,
# "M"onths, "D"ays, "h"ours, "m"inutes, or "s"econds (if the qualifier is omitted,
# the number is interpreted as representing seconds).
# +1h = 1 hour
# +2D = 2 Days
# +3M = 3 Months
# +10Y = 10 Years (default)
# This may also be set to the word "session" to have cookies live
# for the current browser session only.
# "cookieTTL" : "+10Y",
# The location where the WebGUI server will be handling
# requests. This is normally just '/' or the root of the
# server, but on some installations it might be /webgui or
# /site1, /site2, etc. If this is set to anything other than
# '/' then a matching <Location /somepath> block should
# contain the WebGUI handler instead in the Apache
# VirtualHost configuration.
"gateway" : "/",
# The relative or fully qualified URL to the extras folder
# that comes with WebGUI.
#"caseInsensitiveOS" : "1",
# Enable this flag if you run or back up files on a case sensitive
# file system. This will ensure uniqueness in the uploads folder
"extrasURL" : "/extras",
# The filesystem path to get to the extras folder that ships
# with WebGUI.
"extrasPath" : "/data/WebGUI/www/extras",
# The relative for fully qualified URL to the uploads folder
# for this site where all attachments will be stored.
"uploadsURL" : "/uploads",
# The filesystem path to get to the uploads folder where all
# attachments for this site will be stored. This needs to be
# writable by your web server.
"uploadsPath" : "/data/WebGUI/www/uploads",
# Set this value to 1 if you want rich editors to use the
# WebGUI asset URLs for images rather than their real URLs
# in the uploads folder. The advantage of this is that users
# see short clean WebGUI controlled URLs. However, this is
# slower than the default.
"richEditorsUseAssetUrls" : 1,
# If you are not running your web server on the standard
# port (80) then use this setting to specify that.
#"webServerPort" : 80,
# What kind of cache do you wish to use? Available types are
# WebGUI::Cache::FileCache and WebGUI::Cache::Database.
# We highly recommend the database cache if you are running
# sites with more than a few hundred pages, or if you're
# running in a multi-server environment. The file cache is better
# for very small sites.
"cacheType" : "WebGUI::Cache::FileCache",
# Tell WebGUI where to store cached files. Defaults to the
# /tmp or c:\temp folder depending upon your operating system.
# "fileCacheRoot" : "/path/to/cache",
# Set this to 1 to disable WebGUI's caching subsystems. This is
# mainly useful for developers.
"disableCache" : 0,
# The database connection string. It usually takes the form of
# DBI:<driver>:<db>;host:<hostname>
"dsn" : "DBI:mysql:www_example_com;host=localhost",
# The username to authenticate to the above database.
"dbuser" : "webgui",
# The password to authenticate to the above database.
"dbpass" : "password",
# You can configure up to three read-only database slaves to
# increase WebGUI's read performance.
# "dbslave1" : {
# "dsn" : "DBI:mysql:www_example_com;host=dbslave1.example.com",
# "user" : "webgui",
# "pass" : "password"
# },
# "dbslave2" : {
# "dsn" : "DBI:mysql:www_example_com;host=dbslave2.example.com",
# "user" : "webgui",
# "pass" : "password"
# },
# "dbslave3" : {
# "dsn" : "DBI:mysql:www_example_com;host=dbslave3.example.com",
# "user" : "webgui",
# "pass" : "password"
# },
# You can configure a backup master database as a failover in case
# your primary database goes down. WebGUI will use this database until
# the original becomes available. However, this does nothing to change
# the settings of your database. If it was set up as a slave until the
# master went down, then some script will have to be written to convert
# it from a slave to a master.
# "failoverdb" : {
# "dsn" : "DBI:mysql:www_example_com;host=failover.example.com;port=3306",
# "user" : "webgui",
# "password" : "password"
# },
# Set this value if you wish to override all outbound emails to a specific
# user for testing purposes.
# "emailOverride" : "joe@example.com",
# By adding CIDR based subnets to the following array you can limit the
# subnets by which users can turn admin mode on.
"adminModeSubnets" : [ ],
# List the authentication plug-ins you wish to be available on
# this site.
"authMethods" : [ "LDAP", "WebGUI" ],
# List the merchant gateways you have installed and wish to be
# available on this site.
"paymentPlugins" : ["ITransact","Cash"],
# List the shipping drivers you have installed and wish to be
# available for configuration on the site.
"shippingDrivers" : ["WebGUI::Shop::ShipDriver::FlatRate"],
# Specify the list of template parsers available in the system.
"templateParsers" : ["WebGUI::Asset::Template::HTMLTemplate"],
# Specify the default template parser.
"defaultTemplateParser" : "WebGUI::Asset::Template::HTMLTemplate",
# Specify external helper apps that will enable WebGUI's search
# engine to index content in various uploaded file formats. The
# helpers must take the path to the file as an argument and
# return either text or html content.
"searchIndexerPlugins" : {
"txt" : "/bin/cat",
"readme" : "/bin/cat",
"html" : "/bin/cat",
"htm" : "/bin/cat"
},
# Enter the maximum number of assets that should be allowed to
# be created on this site. Keep in mind that a base install of
# WebGUI has around 300 assets. Enter zero (0) if you want to
# allow an unlimited number.
"maximumAssets" : 0,
# Specify a the list of assets you want to appear in your
# Add Content menus.
"assets" : [
"WebGUI::Asset::Snippet",
"WebGUI::Asset::Redirect",
"WebGUI::Asset::FilePile",
"WebGUI::Asset::Wobject::Article",
"WebGUI::Asset::Wobject::Collaboration",
"WebGUI::Asset::Wobject::DataForm",
"WebGUI::Asset::Wobject::Calendar",
"WebGUI::Asset::Wobject::EventManagementSystem",
"WebGUI::Asset::Wobject::Gallery",
"WebGUI::Asset::Wobject::HttpProxy",
"WebGUI::Asset::Wobject::Navigation",
"WebGUI::Asset::Wobject::Matrix",
"WebGUI::Asset::Wobject::Poll",
"WebGUI::Asset::Wobject::Product",
"WebGUI::Asset::Wobject::ProjectManager",
"WebGUI::Asset::Wobject::SQLReport",
"WebGUI::Asset::Wobject::Search",
"WebGUI::Asset::Wobject::Survey",
"WebGUI::Asset::Wobject::TimeTracking",
"WebGUI::Asset::Wobject::WeatherData",
"WebGUI::Asset::Wobject::MultiSearch",
"WebGUI::Asset::Wobject::StockData",
"WebGUI::Asset::Wobject::SyndicatedContent",
"WebGUI::Asset::Wobject::InOutBoard",
"WebGUI::Asset::File::ZipArchive",
"WebGUI::Asset::Wobject::WSClient",
"WebGUI::Asset::Wobject::SQLForm"
],
# Specify the list assets that are used for utility purposes only
# and are not typically used as a normal part of content
# management.
"utilityAssets" : ["WebGUI::Asset::Template", "WebGUI::Asset::RichEdit", "WebGUI::Asset::File::Image", "WebGUI::Asset::File"],
# Specify the list of assets you want to appear in your add
# content menus that should act as containers for other content.
# These items are typically not content themselves, but rather
# layout mechanisms.
"assetContainers" : [
"WebGUI::Asset::Wobject::Layout", "WebGUI::Asset::Wobject::Folder",
"WebGUI::Asset::Wobject::Dashboard", "WebGUI::Asset::Wobject::MessageBoard",
"WebGUI::Asset::Wobject::WikiMaster"
],
# Optionally specify a group id for assets to tell WebGUI what
# group a user needs to be part of in order to add that type of
# asset.
# "assetAddPrivilege" : {
# "WebGUI::Asset::Wobject::SQLReport" : 3,
# "WebGUI:::Asset::Template" : 4
# },
# Optionally add a "Save and Commit" button to assets so that you
# don't have to hit "Commit My Changes" seperately.
"enableSaveAndCommit" : 0,
# Optionally override the default UI Level of any asset. This
# determines whether the current user has the appropriate UI Level
# to add assets of that type.
# "assetUiLevel" : {
# "WebGUI::Asset::Wobject::WSClient" : 7,
# "WebGUI::Asset::RichEdit" : 4
# },
# Configure the UI Levels of the asset toolbar links.
"assetToolbarUiLevel" : {
"edit" : 1,
"delete" : 1,
"cut" : 1,
"copy" : 1,
"shortcut" : 5,
"editBranch" : 9,
"lock" : 5,
"export" : 9,
"changeUrl" : 9,
"promote" : 3,
"demote" : 3,
"manage" : 5,
"revisions" : 5,
"view" : 1
},
# You can override the UI Levels of any field in the edit form of
# any asset using the following variables. Basically just take the
# class name of the asset separated by underscores, and append
# _uiLevel to the end of it, then you can start specifying field
# names and associated UI Level.
# "WebGUI_Asset_Wobject_Article_uiLevel" : { "menuTitle" : 9, "url" : 8 },
# "WebGUI_Asset_RichEdit_uiLevel" : { "askAboutRichEdit" : 7, "preformatted" : 3 },
# If exportPath is defined, an "Export" toolbar icon will appear
# which allows you to export assets to static HTML. This folder
# needs to be writable by your web server.
# "exportPath" : "/path/to/export",
# If soapHttpHeaderOverride is set to 1 it will enable Web
# Service Client assets to override the default MIME types of
# SOAP/WDSL content
"soapHttpHeaderOverride" : 0,
# Enable streaming Image and File assets thru mod_perl process instead of
# simple redirect. WARNING has impact on performance.
"enableStreamingUploads" : "0",
# Specify the list of macros you wish to be processed on each page.
"macros" : {
"#" : "Hash_userId",
"/" : "Slash_gatewayUrl",
"@" : "At_username",
"AOIHits" : "AOIHits",
"AOIRank" : "AOIRank",
"AdminBar" : "AdminBar",
"AdminText" : "AdminText",
"AdminToggle" : "AdminToggle",
"AdSpace" : "AdSpace",
"AssetProxy" : "AssetProxy",
"CanEditText" : "CanEditText",
"D" : "D_date",
"EditableToggle" : "EditableToggle",
"Extras" : "Extras",
"FetchMimeType" : "FetchMimeType",
"FileUrl" : "FileUrl",
"GroupAdd" : "GroupAdd",
"GroupDelete" : "GroupDelete",
"GroupText" : "GroupText",
"H" : "H_homeLink",
"International" : "International",
"L" : "L_loginBox",
"LastModified" : "LastModified",
"LoginToggle" : "LoginToggle",
"Page" : "Page",
"PageTitle" : "PageTitle",
"PageUrl" : "PageUrl",
"RandomAssetProxy" : "RandomAssetProxy",
"RandomThread" : "RandomThread",
"RootTitle" : "RootTitle",
"Spacer" : "Spacer",
"SubscriptionItem" : "SubscriptionItem",
"SubscriptionItemPurchaseUrl" : "SubscriptionItemPurchaseUrl",
"Thumbnail" : "Thumbnail",
"User" : "User",
"a" : "a_account",
"c" : "c_companyName",
"e" : "e_companyEmail",
"r" : "r_printable",
"u" : "u_companyUrl"
},
#Specify any LDAP aliases for synchronizing user profiles to LDAP
"ldapAlias" : {
"firstName" : "givenName",
"lastName" : "sn",
"email" : "mail",
"companyName" : "o"
},
# Define the subnets that WebGUI should expect Spectre communication
# to come from. All other subnets will be ignored. The subnet
# should be listed in CIDR notation.
"spectreSubnets" : [ "127.0.0.1/32" ],
# Define the IP Address that should be used by WebGUI to connect
# to Spectre. Depending upon your cluster configuration, this may
# or may not be the same as the information in spectreSubnets.
"spectreIp" : "127.0.0.1",
# Define the port number WebGUI should use to connect to Spectre
"spectrePort" : 32133,
# Define the workflow activities that are available in the editing
# process and what object types they support.
"workflowActivities" : {
"None" : ["WebGUI::Workflow::Activity::DecayKarma", "WebGUI::Workflow::Activity::TrashClipboard", "WebGUI::Workflow::Activity::CleanTempStorage",
"WebGUI::Workflow::Activity::CleanFileCache", "WebGUI::Workflow::Activity::CleanLoginHistory", "WebGUI::Workflow::Activity::ArchiveOldThreads",
"WebGUI::Workflow::Activity::TrashExpiredEvents", "WebGUI::Workflow::Activity::CreateCronJob", "WebGUI::Workflow::Activity::DeleteExpiredSessions",
"WebGUI::Workflow::Activity::ExpireGroupings", "WebGUI::Workflow::Activity::PurgeOldAssetRevisions",
"WebGUI::Workflow::Activity::ExpireSubscriptionCodes", "WebGUI::Workflow::Activity::PurgeOldTrash",
"WebGUI::Workflow::Activity::GetSyndicatedContent", "WebGUI::Workflow::Activity::ProcessRecurringPayments",
"WebGUI::Workflow::Activity::SyncProfilesToLdap", "WebGUI::Workflow::Activity::SummarizePassiveProfileLog",
"WebGUI::Workflow::Activity::SendQueuedMailMessages","WebGUI::Workflow::Activity::CleanDatabaseCache",
"WebGUI::Workflow::Activity::CalendarUpdateFeeds","WebGUI::Workflow::Activity::NotifyAdminsWithOpenVersionTags"],
"WebGUI::User" : ["WebGUI::Workflow::Activity::CreateCronJob", "WebGUI::Workflow::Activity::NotifyAboutUser"],
"WebGUI::VersionTag" : ["WebGUI::Workflow::Activity::CommitVersionTag", "WebGUI::Workflow::Activity::RollbackVersionTag",
"WebGUI::Workflow::Activity::TrashVersionTag", "WebGUI::Workflow::Activity::CreateCronJob",
"WebGUI::Workflow::Activity::UnlockVersionTag", "WebGUI::Workflow::Activity::NotifyAboutVersionTag",
"WebGUI::Workflow::Activity::RequestApprovalForVersionTag", "WebGUI::Workflow::Activity::ExportVersionTagToHtml"]
},
# Enter the graphing plugins that you want to enable for your site.
"graphingPlugins" : [
"WebGUI::Image::Graph::Pie",
"WebGUI::Image::Graph::XYGraph::Bar",
"WebGUI::Image::Graph::XYGraph::Line"
],
# Here you can define the dictionaries that are available through the tinyMCE spellchecker. You should set
# id to the name the dictionary is known by ASpell (eg. en or en_US or nl), use the name parameter to set
# the name the dictionary is displayed with in tinyMCE. To set the default dictionary please set the 'default'
# parameter.
#"availableDictionaries" : [
# {
# "id" : "en_US",
# "name" : "English",
# "default" : "1"
# },
# {
# "id" : "nl",
# "name" : "Dutch"
# }
#],
# Optional script to run upon successful login. The script can contain macros
# ex: /data/WebGUI/sbin/doLogin.pl --configFile=dev.localhost.localdomain.conf --loginPage=^PageUrl();
"runOnLogin" : "",
# Optional script to run upon successful logout. The script can contain macros
# Example: /data/WebGUI/sbin/doLogout.pl --configFile=dev.localhost.localdomain.conf --logoutPage=^PageUrl();
"runOnLogout" : "",
# URL handlers are used to associate functionality with a URL via a regular expression.
"urlHandlers" : [
{ "^/extras" : "WebGUI::URL::PassThru" },
# { "^/icons" : "WebGUI::URL::PassThru" },
# { "^/documentation/pdf" : "WebGUI::URL::PassThru" },
# { "^/my-custom-application$" : "WebGUI::URL::PassThru" },
# { "^/server-status$" : "WebGUI::URL::PassThru" },
# { "^/perl-status$" : "WebGUI::URL::PassThru" },
{ "^/uploads/dictionaries" : "WebGUI::URL::Unauthorized" },
{ "^/uploads" : "WebGUI::URL::Uploads" },
{ "^/\\*give-credit-where-credit-is-due\\*$" : "WebGUI::URL::Credits" },
{ "^/abcdefghijklmnopqrstuvwxyz$" : "WebGUI::URL::Snoop" },
{ ".*" : "WebGUI::URL::Content" }
],
# Content handlers are used to produce content from the content URL handler.
"contentHandlers" : [
"WebGUI::Content::Prefetch",
"WebGUI::Content::Maintenance",
"WebGUI::Content::Operation",
"WebGUI::Content::Setup",
"WebGUI::Content::Asset",
"WebGUI::Content::NotFound"
]
}