[global]
# The settings in this file should not vary depending on the deployment
# environment. dev.cfg and prod.cfg are the locations for
# the different deployment settings. Settings in this file will
# be overridden by settings in those other files.

# The commented out values below are the defaults

# VIEW

# which view (template engine) to use if one is not specified in the
# template name
# tg.defaultview = "kid"

# The following kid settings determine the settings used by the kid serializer.

# Kid output method (e.g. html, html-strict, xhtml, xhtml-strict, xml, json)
# and formatting (e.g. default, straight, compact, newlines, wrap, nice)
# kid.outputformat="html default"

# kid.encoding="utf-8"

# The sitetemplate is used for overall styling of a site that
# includes multiple TurboGears applications
# tg.sitetemplate="<packagename.templates.templatename>"

# Allow every exposed function to be called as json,
# tg.allow_json = False

# Suppress the inclusion of the shipped MochiKit version, which is rather outdated.
# Attention: setting this to True and listing 'turbogears.mochikit' in 'tg.include_widgets'
# is a contradiction. This option will overrule the default-inclusion to prevent version
# mismatch bugs.
# tg.mochikit_suppress = True

# List of Widgets to include on every page.
# for example ['turbogears.mochikit']
# tg.include_widgets = []

# Set to True if the scheduler should be started
# tg.scheduler = False

# Set to True to allow paginate decorator redirects when page number gets
# out of bound. Useful for getting the real page id in the url
# paginate.redirect_on_out_of_range = True

# Set to True to allow paginate decorator redirects when last page is requested.
# This is useful for getting the real last page id in the url
# paginate.redirect_on_last_page = True

# Set session or cookie
# session_filter.on = True

#if $identity != 'none'
# VISIT TRACKING
# Each visit to your application will be assigned a unique visit ID tracked via
# a cookie sent to the visitor's browser.
# --------------

# Enable Visit tracking
visit.on=True

# Number of minutes a visit may be idle before it expires.
# visit.timeout=20

# The name of the cookie to transmit to the visitor's browser.
# visit.cookie.name="tg-visit"

# Domain name to specify when setting the cookie (must begin with . according to
# RFC 2109). The default (None) should work for most cases and will default to
# the machine to which the request was made. NOTE: localhost is NEVER a valid
# value and will NOT WORK.
# visit.cookie.domain=None

# Specific path for the cookie
# visit.cookie.path="/"

# The name of the VisitManager plugin to use for visitor tracking.
visit.manager="${identity}"

#if $identity == "sqlobject"
# Database class to use for visit tracking
visit.soprovider.model = "${package}.model.Visit"
identity.soprovider.model.visit = "${package}.model.VisitIdentity"
#else if $identity == "sqlalchemy"
# Database class to use for visit tracking
visit.saprovider.model = "${package}.model.Visit"
identity.saprovider.model.visit = "${package}.model.VisitIdentity"
#end if

# IDENTITY
# General configuration of the TurboGears Identity management module
# --------

# Switch to turn on or off the Identity management module
identity.on=True

# [REQUIRED] URL to which CherryPy will internally redirect when an access
# control check fails. If Identity management is turned on, a value for this
# option must be specified.
identity.failure_url="/login"

# If force_external_redirect is set to True, then the identity
# framework will use an external redirection.
# This is mainly used to make sure that if you use
# an https:// url in the failure_url, this will be respected.
identity.force_external_redirect=False

#if $identity=='sqlobject'
# identity.provider='${identity}'
#else
identity.provider='${identity}'
#end if

# The names of the fields on the login form containing the visitor's user ID
# and password. In addition, the submit button is specified simply so its
# existence may be stripped out prior to passing the form data to the target
# controller.
# identity.form.user_name="user_name"
# identity.form.password="password"
# identity.form.submit="login"

# What sources should the identity provider consider when determining the
# identity associated with a request? Comma separated list of identity sources.
# Valid sources: form, visit, http_auth
# identity.source="form,http_auth,visit"

#if $identity=='sqlobject'
# SqlObjectIdentityProvider
# Configuration options for the default IdentityProvider
# -------------------------

# The classes you wish to use for your Identity model. Remember to not use reserved
# SQL keywords for class names (at least unless you specify a different table
# name using sqlmeta).
identity.soprovider.model.user="${package}.model.User"
identity.soprovider.model.group="${package}.model.Group"
identity.soprovider.model.permission="${package}.model.Permission"

# The password encryption algorithm used when comparing passwords against what's
# stored in the database. Valid values are 'md5' or 'sha1'. If you do not
# specify an encryption algorithm, passwords are expected to be clear text.
#
# The SqlObjectProvider *will* encrypt passwords supplied as part of your login
# form.  If you set the password through the password property, like:
# my_user.password = 'secret'
# the password will be encrypted in the database, provided identity is up and
# running, or you have loaded the configuration specifying what encryption to
# use (in situations where identity may not yet be running, like tests).

# identity.soprovider.encryption_algorithm=None
#else
# SqlAlchemyIdentityProvider
# Configuration options for the default IdentityProvider
# -------------------------

# The classes you wish to use for your Identity model. Remember to not use reserved
# SQL keywords for class names (at least unless you specify a different table
# name using sqlmeta).
identity.saprovider.model.user="${package}.model.User"
identity.saprovider.model.group="${package}.model.Group"
identity.saprovider.model.permission="${package}.model.Permission"

# The password encryption algorithm used when comparing passwords against what's
# stored in the database. Valid values are 'md5' or 'sha1'. If you do not
# specify an encryption algorithm, passwords are expected to be clear text.
#
# The SqlAlchemyProvider *will* encrypt passwords supplied as part of your login
# form.  If you set the password through the password property, like:
# my_user.password = 'secret'
# the password will be encrypted in the database, provided identity is up and
# running, or you have loaded the configuration specifying what encryption to
# use (in situations where identity may not yet be running, like tests).

# identity.saprovider.encryption_algorithm=None
#end if
#end if

# compress the data sends to the web browser
# [/]
# gzip_filter.on = True
# gzip_filter.mime_types = ["application/x-javascript", "text/javascript", "text/html", "text/css", "text/plain"]

[/static]
static_filter.on = True
static_filter.dir = "%(top_level_dir)s/static"

[/favicon.ico]
static_filter.on = True
static_filter.file = "%(top_level_dir)s/static/images/favicon.ico"
