Skip to content
Snippets Groups Projects
olat.properties 70.1 KiB
Newer Older
Alan Moran's avatar
Alan Moran committed
########################################################################
#
# Sample configuration file for OpenOlat
Alan Moran's avatar
Alan Moran committed
#
# This is the main OpenOlat configuration file. You should ensure that
# you have read and understood the OpenOlat documentation beforehand.
Alan Moran's avatar
Alan Moran committed
# In all likelihood you will need to alter some of the settings
# below to suit your environment
#
# You should begin by creating an empty olat.local.properties file and put it in the tomcat lib dir e.g. /tomcat/lib
# or if you are inside eclipse you may put it to webapp/WEB-NF/src directory
# Spring searches on the classpath for this file and will overwrite the default properies from this file.
gnaegi's avatar
gnaegi committed
# Check the olat administration tab for a setup menu entry for more info.
Alan Moran's avatar
Alan Moran committed
#
# Windows users: please use forward slashes throughout in file and
# directory settings e.g., C:/TEMP
#
########################################################################
# Application directories (absolute paths required!) Empty values point to java.io.tmpdir which can also be
# overwritten with vm parameter -Djava.io.tmpdir=/home/user/data
########################################################################

userdata.dir.comment=runtime application data directory. Empty value points to java.io.tmpdir
userdata.dir=

archive.dir.comment=directory for deleted userdata/repository enties. Empty value points to [java.io.tmpdir]/deleted_archive
archive.dir.values=${userdata.dir}/deleted_archive
archive.dir=${userdata.dir}/deleted_archive
Alan Moran's avatar
Alan Moran committed

log.dir.comment=log directory of the olat.log file. Must correspond with your log4j.xml
Alan Moran's avatar
Alan Moran committed
log.dir.values=${userdata.dir}/logs. Empty value points to [java.io.tmpdir]/logs
log.dir=${userdata.dir}/logs
log.dir.comment=name of the olat log file, e.g. olat.log. Must correspond with your log4j.xml
log.filename=olat.log
Alan Moran's avatar
Alan Moran committed

folder.root.comment=name of the repository root. Empty value points to [java.io.tmpdir]/bcroot
folder.root.values=${userdata.dir}/bcroot
folder.root=${userdata.dir}/bcroot
Alan Moran's avatar
Alan Moran committed
folder.maxulmb.comment=limits on upload size and quotas should be set in MB
srosse's avatar
srosse committed
folder.sendDocumentToExtern=true
folder.sendDocumentLinkOnly=true
# file size limit for HTML and text editor is 1MB
folder.editFileSizeLimitBytes=1048576
#force download of the files
folder.force.download=true
folder.force.download.values=true,false
Alan Moran's avatar
Alan Moran committed

########################################################################
# Application settings
########################################################################

# Initial setting for the system default locale
# (used on the OLAT login page as well as when creating new user accounts)
# NOTE: Once set at runtime via the admin GUI (System configuration -> Languages)
# this default setting will be overridden by the values in
Alan Moran's avatar
Alan Moran committed
# ${userdata.dir}/system/configuration/org.olat.core.util.i18n.I18nModule.properties
defaultlang=en

bps's avatar
bps committed
#will be set by maven
project.build.home.directory=


# The language that is used as a fallback in case the system does not find a key in
# the users language nor in the default language. Note that in this language all
# keys must exist! Since developers only add the 'de' and 'en' keys it is strongly
Alan Moran's avatar
Alan Moran committed
# recommended that you don't set it to any other value that this. If unsure, use the default 'de'.
fallbacklang=de
fallbacklang.comment=Set this only to a language that is 100% translated when compared to 'de'
fallbacklang.values=de,en

# Initial setting for enabled languages: comma separated list of lang keys.
Alan Moran's avatar
Alan Moran committed
# Example:
# enabledLanguages=en,de,fr,it,es,da,cs,el,ru,pl,zh_CN,zh_TW,lt,fa,pt_PT,pt_BR,tr,hu,sq,in,ar,rm,af,iw,vi,mn
# or
# Set to 'all' to enable all languages that can be found in the source code
# Example:
# enabledLanguages=all
# NOTE: Once set at runtime via the admin GUI (System configuration -> Languages)
# this default setting will be overridden by the values in
Alan Moran's avatar
Alan Moran committed
# ${userdata.dir}/system/configuration/org.olat.core.util.i18n.I18nModule.properties
enabledLanguages=en,de,fr,it,es

# determines the character set of files written to the file system
Alan Moran's avatar
Alan Moran committed
# e.g.: US-ASCII, ISO-8859-1, UTF-8
# abort system startup when no UTF-8 capable file system is detected. In production this should be set to
# true to prevent accidental startup with another encoding which leads to a big data mess
enforce.utf8.filesystem=true
# global on/off config for resume
history.resume.enabled=true
# default settings for the resume function in case feature is available
history.resume.enabled.default=ondemand
history.resume.enabled.default.values=none,auto,ondemand
# the owner of repository-entries of deleted users
deletionModule.adminUserName=administrator
Alan Moran's avatar
Alan Moran committed

# Session timeout configuration.
# Note that this are default values only. If you want to change the configuration, open the administration panel
# in OpenOlat and change the values there. They are stored in olatdata/system/configuration/ and will override
# the values from the olat.local.properties file.
# a) Session timeout in seconds for not-authenticated sessions (login screen etc).
#    Keep small to prevent denial of service attacks. Default is 5 minutes.
session.timeout=300
# b) Session timeout in seconds for authenticated users and guest users. Default is two hours.
session.timeout.authenticated=7200
# Extend the 5 minutes session timeout for following user agents (comma separated)
session.timeout.extended.for=Microsoft
Alan Moran's avatar
Alan Moran committed
########################################################################
# SMTP (mail) settings
########################################################################

# mail support can be disabled by leaving the following entry blank or
# setting it to the keyword 'disabled' (without quotes!)
smtp.host=localhost
Alan Moran's avatar
Alan Moran committed
# if required by your local SMTP you may need to provide credentials
smtp.user=
smtp.pwd=
# enable SSL if your smtp server supports it
Alan Moran's avatar
Alan Moran committed
smtp.sslEnabled=false
smtp.sslCheckCertificate=false
smtp.starttls=false
# timeout in milliseconds
smtp.timeout=8000
# smtp.from will override the mail envelope, leave it empty to set it to the first reply-to address
# local mail domain where the return address is allowed to be set to the sender accounts email address.
# if the sender or all the recipients are in this domain the senders mailaddress otherwise the fromemail (see below) will be in the from header.
fromdomain=
# system mails will be sent from this address (from local domain with valid reverse dns):
fromemail=no-reply@your.domain
# the plain text name of the from mail address usually displayed by the email client
fromname=OpenOlat eLearning Server (${server.domainname})
# set this email to a mail address in your domain (used as reply-to address)
adminemail=webmaster@your.domain
# set this email to a mail address in your domain (used for 'ask for help here' type of messages that do not have special address)
supportemail=${adminemail}
# set this email to a mail address in your domain (used to tell users how to apply for more quote disk space)
quotaemail=${supportemail}
# set this email to a mail address in your domain (used to notify when users are deleted from the system)
deleteuseremail=${supportemail}
# set this email to a mail address in your domain (used for red-screen error reports)
erroremail=${adminemail}
gnaegi's avatar
gnaegi committed
# maximum size for email attachments (in MB)
Alan Moran's avatar
Alan Moran committed
mail.attachment.maxsize=5

# Enable the intern email inbox and outbox
mail.intern=true
mail.showInboxRecipientNames=true
mail.showInboxMailAddresses=false
mail.showOutboxRecipientNames=true
mail.showOutboxMailAddresses=false
mail.receiveRealMailUserDefaultSetting=true
Alan Moran's avatar
Alan Moran committed

########################################################################
# User registration, login and deletion settings
########################################################################

# permit self registration
registration.enableSelfRegistration=true
# enable/disable the link self registration on the login page
registration.enableSelfRegistration.login=true
registration.enableSelfRegistration.login.values=true,false
# enable/disable the direct link to registration
registration.enableSelfRegistration.link=true
registration.enableSelfRegistration.link.values=true,false
# enable/disable the validation of an e-mail address by sending an e-mail
registration.email.validation=true
registration.email.validation.values=true,false
# registration made in GUI are valid for how many hours (default 2 days)
registration.valid.hours.gui=48
# registration made in REST are valid for how many hours (default 30 days)
registration.valid.hours.rest=720
# a list of domains separated with a comma
registration.domainList=
Alan Moran's avatar
Alan Moran committed
# send an email when new users register
registration.enableNotificationEmail=false
# set this email to a mail address in your domain
registration.notificationEmail=${adminemail}
Alan Moran's avatar
Alan Moran committed
# ask user to accept a disclaimer at first login. Use i18n tool to customize disclaimer message
registration.enableDisclaimer=true
# add a second checkbox to the disclaimer, e.g. for a privacy statement
Alan Moran's avatar
Alan Moran committed
registration.disclaimerAdditionalCheckbox=false
# add a third checkbox to the disclaimer, e.g. for the terms of use
registration.disclaimerAdditionalCheckbox2=false
Alan Moran's avatar
Alan Moran committed
# add a link to the disclaimer with a file download
# if set to true you can add downloadable disclaimer files in olatdata/customizing/disclaimer/
# the names of the files can be configured in the i18n key org.olat.registration:disclaimer.filedownloadurl
Alan Moran's avatar
Alan Moran committed
registration.disclaimerAdditionaLinkText=false

# setting for the bean interceptor in the registration process, disabled mean that no interceptor
# is desired. Standard implementation are: byShibbolethAttribute which generate a username based
# from a shibboleth attribute, byEmail which generate a username based on the email from the user
gnaegi's avatar
gnaegi committed
# which try to register itself
Alan Moran's avatar
Alan Moran committed
registration.preset.username.values=disabled,byEmail,byShibbolethAttribute
registration.preset.username=disabled
# setting for byEmail implementation: a domain restriction to preset the username
registration.preset.username.domain=

# settings for byShibbolethAttribute implementation:
# allowChanges the new user to changes its username (only when using byShibbolethAttribute)
registration.preset.username.allowChanges=true
# the shibboleth attribute to use to preset the username
registration.preset.username.shibbolethAttribute=Shib-SwissEP-UniqueID

# provide guest login on the dmz page
Alan Moran's avatar
Alan Moran committed
login.enableGuestLoginLinks=true
guest.login=${login.enableGuestLoginLinks}
# provider guest url in groups and courses
guest.login.links=${login.enableGuestLoginLinks}

Alan Moran's avatar
Alan Moran committed
# allow invitation login
login.invitationLogin=true
invitation.login=${login.invitationLogin}

Alan Moran's avatar
Alan Moran committed
# Allow users to login using alternatively their email address or username
login.using.username.or.email.enabled=true

# Regex to validate username of new users. If yo change this property,
# Make sure to change the translation of $org.olat.user\:form.checkUsername accordingly.
username.regex=[0-9a-z\\.\\-@_]{4,32}

# permit users to change their own passwords
# (if you set this to false, nobody can can change their pws!)
Alan Moran's avatar
Alan Moran committed
password.change.allowed=true
# Password syntax checks
password.min.length=4
password.max.length=128

# Values to restrict letters, digits and special signs
# atLeastX:    min X letters (X = 1/2/3)
# disabled:    The check is disabled. Letters/Digits/Specials are allowd in any quantity
# forbidden:   Letters/Digits/Specials not allowed
# validateSeparately: Ignore this rule and use password.min.letters.uppercase / password.min.letters.lowercase instead

# By default, a password has to have at least one letter.
password.letters=atLeast1
password.letters.uppercase=disabled
password.letters.lowercase=disabled
# By default, a password has to have at least one digit or special sign.
password.digits.special.signs=atLeast1
password.digits=disabled
password.special.signs=disabled

# Are these values forbidden as part of the password?
password.forbidden.username=false
password.forbidden.firstname=false
password.forbidden.lastname=false

# Password ageing policy
password.change.valid.hours.gui=48
password.change.valid.hours.rest=720
password.max.age=0
password.max.age.author=${password.max.age}
password.max.age.groupmanager=${password.max.age}
password.max.age.poolmanager=${password.max.age}
password.max.age.usermanager=${password.max.age}
password.max.age.rolesmanager=${password.max.age}
password.max.age.learnresourcemanager=${password.max.age}
password.max.age.curriculummanager=${password.max.age}
password.max.age.qualitymanager=${password.max.age}
password.max.age.lecturemanager=${password.max.age}
password.max.age.linemanager=${password.max.age}
password.max.age.principal=${password.max.age}
password.max.age.administrator=${password.max.age}
password.max.age.sysadmin=${password.max.age}
Alan Moran's avatar
Alan Moran committed
#notifications intervals the user can choose from. Disabled those you do not want by setting them to "false"
notification.interval.never=true
notification.interval.monthly=true
notification.interval.weekly=true
notification.interval.daily=true
notification.interval.half-daily=true
notification.interval.four-hourly=true
notification.interval.two-hourly=true
#default notification interval. Make sure this interval is enabled!!
notification.interval.default=daily
notification.interval.default.values=never,monthly,weekly,daily,half-daily,four-hourly,two-hourly
#notification cron job
notification.cronjob.expression=0 10 */2 * * ?
# Request to delete account
allow.request.delete.account=false
allow.request.delete.account.disclaimer=false
request.delete.account.mail=

####################################################
# Groups
####################################################

group.user.create=true
group.user.create.values=true,false
# Authors can create groups. (Group managers and system administrators can create groups in any case)
group.author.create=true
group.author.create.values=true,false
# Show the contact form in the business group card to send mails to group members or the coaches
group.card.contact.values=never,always,groupconfig
# Users can download member list of groups (default, can be overridden for each group)
group.userlist.download.default.allowed=false
group.userlist.download.default.allowed.values=true,false
# Behavior when manually adding a user to a group. There are two workflow elements regarding data privacy
# a) Email notification: is the notification email about the new group membership mandatory or optional?
#    Default is true for normal users and optional for users with role author, usermanager, groupmanager or administrator
group.mandatory.enrolment.email.users=true
group.mandatory.enrolment.email.authors=false
group.mandatory.enrolment.email.usermanagers=false
group.mandatory.enrolment.email.rolesmanagers=false
group.mandatory.enrolment.email.groupmanagers=false
group.mandatory.enrolment.email.learnresourcemanagers=false
group.mandatory.enrolment.email.poolmanagers=false
group.mandatory.enrolment.email.curriculummanagers=false
group.mandatory.enrolment.email.lecturemanagers=false
group.mandatory.enrolment.email.qualitymanagers=false
group.mandatory.enrolment.email.linemanagers=false
group.mandatory.enrolment.email.principals=false
group.mandatory.enrolment.email.administrators=false
group.mandatory.enrolment.email.systemadmins=false

# b) Invitation only or direct membership: is the new group membership immediate or is it only an invitation
#    that must be accepted by the invited user?
#    Default is invitation-only for normal users and immediate group membership without the need to accept
#    for users with the role author, usermanager, groupmanager or administrator
group.accept.membership.users=true
group.accept.membership.authors=false
group.accept.membership.usermanagers=false
group.accept.membership.rolesmanagers=false
group.accept.membership.learnresourcemanagers=false
group.accept.membership.poolmanagers=false
group.accept.membership.curriculummanagers=false
group.accept.membership.lecturemanagers=false
group.accept.membership.qualitymanagers=false
group.accept.membership.linemanagers=false
group.accept.membership.principals=false
group.accept.membership.systemadmins=false
# Allow leaving groups created by learners
group.leaving.group.created.by.learners=true
# Allow leaving groups created by authors
group.leaving.group.created.by.authors=true
# Allow configuration of this settoing on a per-groupe base
group.leaving.group.override=true

#enable managed groups
group.managed=false
group.managed.values=true,false

Alan Moran's avatar
Alan Moran committed
####################################################
Alan Moran's avatar
Alan Moran committed
####################################################

# enable / disable the course assessment mode
assessment.mode=enabled
assessment.mode.values=enabled,disabled

####
Alan Moran's avatar
Alan Moran committed
# Olat -> default assessmentplugin
# Onyx -> The Onyx-Testplayer (onyxassessmentplugin) can be downloaded at http://www.olat.de/onyx.
# 		  The Testplayer is one element of the Onyx-Testsuite and has been designed,
Alan Moran's avatar
Alan Moran committed
#  		  developed and tested by BPS - Bildungsportal Sachsen GmbH - http://www.bps-system.de
#         OLAT makes no representations or warranties of any kind, either express or implied,
Alan Moran's avatar
Alan Moran committed
#         nor shall OLAT have any liability whatsoever to any person using Onyx, with respect to its functionality.
#         For all questions and help concerning the Onyx-Testplayer and the Onyx-Testsuite
Alan Moran's avatar
Alan Moran committed
#         including any support write to support@bps-system.de
####
assessmentplugin.activate=Olat

########################################################################
# QTI 2.1 QtiWorks
########################################################################

# Enable or disable the Math Extension of QtiWorks (need Maxima)
qti21.math.assessment.extension.enabled=false
qti21.math.assessment.extension.enabled.values=true,false

#Enable digital signature of the assessment results
qti21.digital.signature.enabled=false
#Path to a PFX certificate (with X509 certificate, private and public key)
qti21.digital.signature.certificate=

#Try an other encoding to open the ZIP files during import of tests
qti21.import.encoding.fallback=

########################################################################
# QTI 1.2 DEPRECATED , WILL BE REMOVED IN A FURTHER RELEASE
########################################################################
qti12.edit.resources.enabled=false
qti12.create.resources.enabled=false
qti12.survey.create.resources.enabled=false
qti12.survey.create.course.nodes.enabled=false
########################################################################
# Certificates
########################################################################
# Send a copy of the certificates mails to someone
certificate.linemanager=false
#####
# Help course and context help
#####
# Enable the help system. This create context help links all over the system that points to the help system configured by the help.plugin variable.
# By default, the help opens the manual hosted in a confluence wiki at confluence.openolat.org. If you want to build your own help system, write
# your own help plugin and configure it here.
# Define the plugin which generate the help URL
help.plugin=ooConfluenceLinkHelp
help.plugin.values=ooConfluenceLinkHelp,courseHelp
# Settings for the courseHelp plugin
# Note that when you use courseHelp, the context help will be disabled. Only the help button in the top navigation will be available and open the help course
help.course.softkey=OLAT::help-course_de.zip
Alan Moran's avatar
Alan Moran committed
########################################################################
# OLAT technical settings
########################################################################
# OLAT instance ID (effects a unqiue namesapce for addressable items)
Alan Moran's avatar
Alan Moran committed
# ID should be no longer than 10 characters!
instance.id=myopenolat
# The issuer is the entity that issues a set of claims. An issuer
# identifier is a case sensitive URL using the https scheme that contains
# scheme, host, and optionally, port number and path components and no
# query or fragment components.
instance.issuer.identifier=https://${instance.id}.openolat.org

Alan Moran's avatar
Alan Moran committed
# by creating a theme under webapp/WEB-INF/static/themes you can
# customize the OLAT application to your liking (see the example
# theme for futher information.
Alan Moran's avatar
Alan Moran committed
# you can also configure a theme via the admin GUI which takes precedence
# To create your own theme please read webapp/WEB-INF/static/themes/themes.README
layout.theme=openolat
layout.theme.values=light,openolat,yourowntheme
srosse's avatar
srosse committed
layout.coursetemplates.blacklist=
# Absolute path to directory where custom themes are loaded from (optional)
layout.custom.themes.dir=${userdata.dir}/customizing/themes
bps's avatar
bps committed

# CSS class prefixes from the content.css file that are to be displayed in
# the menu in the HTML editor. Default is /\.b_/ (javaScript regexp)
html.editor.css.class.prefix=/\.b_/

srosse's avatar
srosse committed
# test user generation
user.generateTestUsers=false
# debug mode for developers. If olat.debug is set to true you must also set project.build.home.directory to your source code
bps's avatar
bps committed
olat.debug.comment=for developers: Set to true to enable visual debugging by the red/green bug icon on the upper left corner of olat
bps's avatar
bps committed

Alan Moran's avatar
Alan Moran committed
# cache localization files (unless in development mode)
localization.cache=true
# required only for performance and functional testing
allow.loadtest.mode=false

# Whether or not the gui demo site should be enabled=shown. Note that when set to true the
# two other conditions must be met to show the site: user must be administrator and
# olat.debug must also be set to true. When olat.debug=false, the flag has no meaning whatsoever.
guidemo.enabled=true

########################################################################
########################################################################
# enable / disable homeSite. Those are the tools visible in the personal menu
site.minimalhome.enabled=true
# enable / disable menu items from home site
#note: orders, mail and EP are disabled via module-config
minimalhome.ext.efficiencystatement=true
minimalhome.ext.otherusers=true
minimalhome.ext.notelist=true
minimalhome.ext.userfolder=true
minimalhome.ext.notifications=true
minimalhome.ext.portfolio=true
minimalhome.ext.bookings=true
minimalhome.ext.calendar=true
minimalhome.ext.mysettings=true
minimalhome.ext.myprofile=true
minimalhome.ext.password=true

# The my courses and group sites are meant for learners to find their courses and groups
site.mycourses.enable=true
site.groups.enable=true
# The coaching site is visible to users with coaching rights to better support coaching users accross multiple courses
site.coaching.enable=true
# The repository and question pool site are authoring environments only
site.repository.enable=true
site.questionpool.enable=true
# When enabling the portfolio site you should set minimalhome.ext.portfolio to false to not have two separate entry points
site.portfolio.enable=false

# Enable/disable the whole catalog feature
repo.catalog.enable=true
# Enable/disable the catalog site as a catalog-only site and the catalog admin site
site.catalogadmin.enable=true
# Enabl/disable the browsing of catalog in the course site
repo.catalog.browsing.enable=true

# Portal site - deprecated since OO 10 release, use the my courses instead
site.portal.enable=false
Alan Moran's avatar
Alan Moran committed
# Portlets enabled by default
portlet.didYouKnow.enabled=true
portlet.groups.enabled=true
portlet.bookmarks.enabled=true
portlet.notes.enabled=true
portlet.notifications.enabled=true
portlet.efficiencyStatements.enabled=true
portlet.quickstart.enabled=true
portlet.calendar.enabled=true
portlet.repository.student.enabled=true
portlet.repository.student.entries=6
portlet.repository.teacher.enabled=true
portlet.repository.teacher.entries=6
# the info message portlet is a counterpart of the course building block
# course.node.infomessage, see further down this file.
portlet.infomessages.enabled=true
Alan Moran's avatar
Alan Moran committed
# Optional portlets, disabled by default
portlet.shiblogin.enabled=false
portlet.infomsg.enabled=false
# the links from the links portlet are configure here: webapp/WEB-INF/olat_portals_links.xml
Alan Moran's avatar
Alan Moran committed
portlet.links.enabled=false
# the institutions are configure here : webapp/WEB-INF/olat_portals_institution.xml
Alan Moran's avatar
Alan Moran committed
portlet.institution.enabled=false
portlet.system.events.enabled=false
# sysinfo portlet settings (files are editable if hosted on local server) (system.events)
portlet.sysinfo.url=../../raw/${build.version}/events.html
portlet.sysinfo.filepath=pathToYourEventsFile/static/events.html

#enable managed courses
repo.managed=false
repo.managed.values=true,false

# The course database: a REST key-value store that can be used in single pages to
# implement all kind of fancy things that need a storage, e.g. build your own
# survey or "I've read this" checkbox. Course authors have the possibility do
# download the course db with the values from all users and check for values using
# expert rules
course.db.enabled=false

srosse's avatar
srosse committed
########################################################################
gnaegi's avatar
gnaegi committed
# Top navigation configuration
srosse's avatar
srosse committed
########################################################################
topnav.impressum=false
topnav.search=true

########################################################################
# WebDAV
########################################################################
webdav.enabled=true
#webdav manager (show or don't webdav links in GUI)
Alan Moran's avatar
Alan Moran committed
webdav.links.enabled=true
#sort courses using semester terms for better discoverability. Only
#usefull when semester terms are defined in admin area and used by courses
webdav.termsfolders.enabled=true
# User agents for which the basic authentication should never be proposed
webdav.basic.authentication.black.list=Microsoft Office Excel,Microsoft Excel,Microsoft-WebDAV-MiniRedir
########################################################################
gnaegi's avatar
gnaegi committed
# Image and PDF scale/thumbnail options
########################################################################
thumbnail.provider=java
# java is a pure java implementation (which use PDFBox too), magick use ImageMagick and
# GhostScript. For the magick one, you must add the path to convert and gs command line
# in your PATH environnment variable.
thumbnail.provider.values=java,magick

Alan Moran's avatar
Alan Moran committed
########################################################################
# Shared resources - used only to generate sample configurations
########################################################################

# User a value of '0' if you do not want to enable SSL.
# If SSL is enabled, don't forget to uncomment the SSL section in the sample
# configuration file
# Eg. 8443, 443 (must not be empty, even if standard port 443 is used). Use 0 to disable SSL
server.port.ssl=0

#if migrating from a context as /olat to the ROOT context in tomcat
server.legacy.context=

# mobile context used to redirect
mobile.context=/mobile

Alan Moran's avatar
Alan Moran committed
########################################################################
# Web application container (e.g., Tomcat) settings
########################################################################

# hosted application fully qualified domain name (e.g., DNS CNAME)
# omit references to protocol/scheme (e.g., HTTP(S))
server.domainname=localhost
# the port on which the container is listening
server.port=8080
# OLAT JMX server port (must be unique per node in a cluster)
jmx.rmi.port=3000

########################################################################
# MathJAX CDN
########################################################################

mathjax.cdn=//mathjax.openolat.org/mathjax/2.7-latest/
mathjax.config=TeX-AMS-MML_HTMLorMML
# find \( \), \[ \], $$ to trigger MathJax rendering
mathjax.markers=true
Alan Moran's avatar
Alan Moran committed
########################################################################
# Database settings
########################################################################
# set to false if your db user does not have enough privileges upgrading the database.
# After manually upgrading the DB you have to add an entry like this to the olatdata/system/installed_upgrades.xml file
# <string>Database update</string><boolean>true</boolean>
auto.upgrade.database=true
db.vendor=mysql
gnaegi's avatar
gnaegi committed
db.vendor.values=mysql,postgresql,oracle
db.vendor.values.comment=supported vendors currently include "mysql", "postgresql" and "oracle"
# The local data source works out of the box with the Hikari database connection pool. However, we stronlgy
# recommend using a jndi container managed data source for better stability and realibility.
# When using jndi, make sure you copy the database connector to your application server lib directory and remove it from
db.source=local
db.source.values=local,jndi
db.source.values.comment=supports jdbc connections created locally (local) or search them with a jndi name (jndi)

Alan Moran's avatar
Alan Moran committed
# the server hosting the database
db.host=localhost
db.host.port=3306
db.host.port.values=3306 (mysql default), 5432 (postgresql default)

# jndi name to find the jdbc connections
db.jndi=
db.jndi.values=java:comp/env/jdbc/OpenOLATDS

Alan Moran's avatar
Alan Moran committed
db.name=olat
db.user=olat
db.pass=olat

#this option is currently only for oracle
db.default.schema=olat

# Special options for mysql database. Set useOldUTF8Behavior=true if
Alan Moran's avatar
Alan Moran committed
# your mysql database is setup up with iso-latin (or any other) encoding.
# Remove the useOldUTF8Behavior parameter if you use native UTF-8 on the
# database (recommended when setting up a new system)
db.url.options.mysql=?useUnicode=true&characterEncoding=UTF-8
Alan Moran's avatar
Alan Moran committed

# enable database debugging (seldom required except for developers)
db.show_sql=false
# configure the Hikari pool with hibernate (c3p0 is only for legacy purpose and backwards compatibilty)
db.hibernate.hikari.minsize=${db.hibernate.c3p0.minsize}
db.hibernate.hikari.maxsize=${db.hibernate.c3p0.maxsize}
# 0 to disable leak detection, otherwise a value in milliseconds
db.hibernate.hikari.leakDetectionThreshold=0

Alan Moran's avatar
Alan Moran committed
db.hibernate.c3p0.minsize=20
db.hibernate.c3p0.maxsize=50

########################################################################
# Infinispan
########################################################################

#Use the jndi name if you want to retrieve the cache manager from JBoss AS
infinispan.jndi=
infinispan.jndi.values=,java:jboss/infinispan/openolatha

########################################################################
# Velocity Templating Engine
########################################################################
velocity.parser.pool.size=20
velocity.parser.pool.size.comment=20 is Velocity default value, use more when you get errors in the logfile. Only necessary on high load configurations.
Alan Moran's avatar
Alan Moran committed
########################################################################
# Instant Messaging / chat
Alan Moran's avatar
Alan Moran committed
########################################################################

# As of 8.4 no external instant messaging server is needed. Configuration
# of the instant messaging / chat infrastructure is done in the admin GUI
instantMessaging.enable=true
########################################################################
# Calendar
########################################################################

# Enable or not the calendar feature in OpenOlat
calendar.enabled=true
calendar.enabled.values=true,false
# Enable personal calendar (if calendar is enabled)
calendar.personal.enabled=true
calendar.personal.enabled.values=true,false
# Enable group calendar (if calendar is enabled)
calendar.group.enabled=true
calendar.group.enabled.values=true,false
# Enable the calendar tool in course (if calendar is enabled)
calendar.course.tool.enabled=true
calendar.course.tool.enabled.values=true,false
# Enable the calendar course element in course (if calendar is enabled)
calendar.course.element.enabled=true
calendar.course.element.enabled.values=true,false
# Enable managed calendars
calendar.managed=false
calendar.managed.values=true,false
########################################################################
# Social sharing options
########################################################################
# Enable social sharing features
social.share.enabled=true
# List of perma-link share buttons, normally visible in the footer of the page.
social.share.link.buttons=twitter,facebook,google,delicious,digg,mail,link
social.share.link.buttons.values=twitter,facebook,google,delicious,digg,mail,link

Alan Moran's avatar
Alan Moran committed
########################################################################
# Translation tool settings (translation infrastructure required!)
########################################################################

# note: when enabled the language customisation tool is not available! (only enabled or disabled allowed as values!)
is.translation.server=disabled
# Path to the CVS "olat3" project that contains the languages DE and EN
bps's avatar
bps committed
# During development this is normally /workspace/olat/src/main/java
bps's avatar
bps committed
# Path to any directory that contains
# translatable packages other than DE and EN which are in the application source directory
Alan Moran's avatar
Alan Moran committed
# During development this is normally ${i18n.application.src.dir}
i18n.application.opt.src.dir = ${i18n.application.src.dir}

########################################################################
########################################################################
# which roles see the administrative user properties
usersearch.adminProps.users=disabled
usersearch.adminProps.authors=enabled
usersearch.adminProps.usermanagers=enabled
usersearch.adminProps.rolesmanagers=enabled
usersearch.adminProps.groupmanagers=enabled
usersearch.adminProps.learnresourcemanagers=enabled
usersearch.adminProps.poolmanagers=enabled
usersearch.adminProps.curriculummanagers=enabled
usersearch.adminProps.lecturemanagers=enabled
usersearch.adminProps.qualitymanagers=enabled
usersearch.adminProps.linemanagers=enabled
usersearch.adminProps.principals=enabled
usersearch.adminProps.administrators=enabled
usersearch.adminProps.systemadmins=enabled
# which roles are allowed to see the last visited date of group, course and other learning resources
user.lastlogin.visible.users=disabled
user.lastlogin.visible.authors=enabled
user.lastlogin.visible.usermanagers=enabled
user.lastlogin.visible.rolesmanagers=enabled
user.lastlogin.visible.groupmanagers=enabled
user.lastlogin.visible.learnresourcemanagers=enabled
user.lastlogin.visible.poolmanagers=enabled
user.lastlogin.visible.curriculummanagers=enabled
user.lastlogin.visible.lecturemanagers=enabled
user.lastlogin.visible.qualitymanagers=enabled
user.lastlogin.visible.linemanagers=enabled
user.lastlogin.visible.principals=enabled
user.lastlogin.visible.administrators=enabled
user.lastlogin.visible.systemadmins=enabled
usersearch.autocomplete.users=enabled
usersearch.autocomplete.authors=enabled
usersearch.autocomplete.usermanagers=enabled
usersearch.autocomplete.rolesmanagers=enabled
usersearch.autocomplete.groupmanagers=enabled
usersearch.autocomplete.learnresourcemanagers=enabled
usersearch.autocomplete.poolmanagers=enabled
usersearch.autocomplete.curriculummanagers=enabled
usersearch.autocomplete.lecturemanagers=enabled
usersearch.autocomplete.qualitymanagers=enabled
usersearch.autocomplete.linemanagers=enabled
usersearch.autocomplete.principals=enabled
usersearch.autocomplete.administrators=enabled
usersearch.autocomplete.systemadmins=enabled

# the maximum of identities returned by search (-1 is unlimited)
usersearch.maxResults=-1
usersearch.maxResults.values=-1,20,50
#send user informations with the request in the tunnel cours ebuilding block
userinfos.tunnelcoursebuildingblock=disabled

########################################################################
# Other user related settings
########################################################################
# When user full name is displayed, is it "Lastname, Firstname" (default) or "Firstname Lastname"
userDisplayName=userDisplayName_lastname_firstname
userDisplayName.values=userDisplayName_firstname_lastname, userDisplayName_lastname_firstname

# An additional image attached to the user profile, eg. for the company logo.
# Diplayed on the users vising card
user.logoByProfile=disabled
user.logoByProfile.values=enabled,disabled

# Set whether a user has to have an email address.
user.email.mandatory=true
# Set whether the email address of a user has to be unique or not.
# If it is not unique, some features are disabled,
# e.g. password reset, login with email address.
user.email.unique=true

# Set to false to make user portrait / avatar image read-only 
# Does not apply to users with administrator role in usermanagement
user.portrait.managed=false

Alan Moran's avatar
Alan Moran committed
########################################################################
# Fulltext Search settings
########################################################################
# Enable search-service for only one node per cluster [ enabled | disabled ]
search.service=enabled
# The full text indexer can be configured in two ways:
# 1) Start indexer during startup and restart periodicaly in a given interval
srosse's avatar
srosse committed
generate.index.at.startup=false
# but only if startup is during the restart window...
Alan Moran's avatar
Alan Moran committed
restart.window.start=0
restart.window.end=24
search.permanent.index.path=perm_index
search.index.tempIndex=temp_search_index
search.index.tempSpellcheck=temp_spellcheck_index
search.index.pdfBuffer=temp_pdf_text_buf

search.pdf.external=false
search.pdf.external.command=convertpdf.sh

# Interval in millisecond after which the indexer should run again. O means: do not run again
srosse's avatar
srosse committed
search.indexing.restart.interval=0
# 2) Enable triggering indexer via cron-job instead at startup [ enabled | disabled ]
Alan Moran's avatar
Alan Moran committed
# When enabled , configure 'generate.index.at.startup=false'
# Example '0 0 3 * * ?' start indexer at 03:00 ever day. If you do not provide a valid
# expression but have set search.indexing.cronjob=enabled, the system will generate a
# cron expression that triggers the indexer every four hour depending on your tomcat.id variable
search.indexing.cronjob.expression=0 0 3 * * ?
#examples:
# never fire: 0 0 0 1 1 ? 3000
# size of the thread pools for the text extractors
search.folder.pool.size=4

########################################################################
# REST API
########################################################################

gnaegi's avatar
gnaegi committed
# enable/disable the rest api
restapi.enable=false
restapi.enable.values=true,values

gnaegi's avatar
gnaegi committed
# Access to the /restapi/system without authentication if the IP
# of the client is in the list of IPs separated by comma. This is used for monitoring purpos
restapi.ips.system=
restapi.ips.system.values=192.168.1.200,192.168.1.201

Alan Moran's avatar
Alan Moran committed
########################################################################
########################################################################

# Calculate the course statistics
statistics.cronjob.expression=0 10 5 * * ?

########################################################################
# Shibboleth
Alan Moran's avatar
Alan Moran committed
########################################################################

#The auth provider you set to default will be the one you see when you access the loginpage, alternate providers are shows as links below
#enable and or set the basic login provider (username/password) on the loginpage active and or default
olatprovider.enable=true
olatprovider.default=true
Alan Moran's avatar
Alan Moran committed
# if you change this all current users will no longer be able to login!
default.auth.provider.identifier=OLAT

# Oauth / social providers as default
oauth.default=false

shibboleth.enable=false
#enable and or set the generic shib login provider on the loginpage active and or default
shibbolethGeneric.enable=false
shibbolethGeneric.default=false
#enable and or set the custom uzh shib login provider on the loginpage active and or default
shibbolethUZH.enable=false
shibbolethUZH.default=false

Alan Moran's avatar
Alan Moran committed
#these settings are university of zurich specific
shibboleth.wayfSPEntityID=
shibboleth.wayfSPHandlerURL=
shibboleth.wayfSPSamlDSURL=
shibboleth.wayfReturnUrl=
shibboleth.wayfReturnMobileUrl=$shibboleth.wayfReturnUrl
#you can manually add additional IDP servers. See org/olat/portal/shiblogin/_content/portlet.html
Alan Moran's avatar
Alan Moran committed
#for an example
shibboleth.wayf.additionalIDPs=

# set the name of the Shibboleth attribute used to identify authorized users
shibboleth.uid.shib=
shibboleth.uid.handler=

#Shibboleth attribute to use if a user logs in the first time.
shibboleth.preferred.language.shib=
shibboleth.preferred.language.handler=

#Apply author role automatically to users according to the value of a Shibboleth attribute.
#The contains parameter can have multiple values separated by commas. The value of the
#Shibboleth attribute has to match one value of the contains parameter to apply the author role.
shibboleth.role.mapping.author.enable=false
shibboleth.role.mapping.author.shib=
shibboleth.role.mapping.author.contains=

#Define which Shibboleth attributes are mapped to OLAT user properties
#and how the attributes are mapped. Use a handler to transform the from
#Shibboleth delivered value to the desired form. If no handler is
#configured the DoNothing handler is used. Set delete to false to avoid
#the deletion of the user property value if Shibboleth delivers no value.
#The mandatory user properties are never deleted by the synchronization.
shibboleth.user.mapping.handler.values=DoNothing,FirstValue,SchacGender
#These attributes are mandatory to create new users.
shibboleth.user.mapping.email.shib=
shibboleth.user.mapping.email.handler=
shibboleth.user.mapping.first.name.shib=
shibboleth.user.mapping.first.name.handler=
shibboleth.user.mapping.last.name.shib=
shibboleth.user.mapping.last.name.handler=
#Further attributes may be mapped if wanted.
shibboleth.user.mapping.key1.shib=
shibboleth.user.mapping.key1.olat=
shibboleth.user.mapping.key1.handler=
shibboleth.user.mapping.key1.delete=
shibboleth.user.mapping.key2.shib=
shibboleth.user.mapping.key2.olat=
shibboleth.user.mapping.key2.handler=
shibboleth.user.mapping.key2.delete=
shibboleth.user.mapping.key3.shib=
shibboleth.user.mapping.key3.olat=
shibboleth.user.mapping.key3.handler=
shibboleth.user.mapping.key3.delete=
shibboleth.user.mapping.key4.shib=
shibboleth.user.mapping.key4.olat=
shibboleth.user.mapping.key4.handler=
shibboleth.user.mapping.key4.delete=
shibboleth.user.mapping.key5.shib=
shibboleth.user.mapping.key5.olat=
shibboleth.user.mapping.key5.handler=
shibboleth.user.mapping.key5.delete=
shibboleth.user.mapping.key6.shib=
shibboleth.user.mapping.key6.olat=
shibboleth.user.mapping.key6.handler=
shibboleth.user.mapping.key6.delete=
shibboleth.user.mapping.key7.shib=
shibboleth.user.mapping.key7.olat=
shibboleth.user.mapping.key7.handler=
shibboleth.user.mapping.key7.delete=
shibboleth.user.mapping.key8.shib=
shibboleth.user.mapping.key8.olat=
shibboleth.user.mapping.key8.handler=
shibboleth.user.mapping.key8.delete=
shibboleth.user.mapping.key9.shib=
shibboleth.user.mapping.key9.olat=
shibboleth.user.mapping.key9.handler=
shibboleth.user.mapping.key9.delete=
shibboleth.user.mapping.key10.shib=
shibboleth.user.mapping.key10.olat=
shibboleth.user.mapping.key10.handler=
shibboleth.user.mapping.key10.delete=
shibboleth.user.mapping.key11.shib=
shibboleth.user.mapping.key11.olat=
shibboleth.user.mapping.key11.handler=
shibboleth.user.mapping.key11.delete=
shibboleth.user.mapping.key12.shib=
shibboleth.user.mapping.key12.olat=
shibboleth.user.mapping.key12.handler=
shibboleth.user.mapping.key12.delete=
shibboleth.user.mapping.key13.shib=
shibboleth.user.mapping.key13.olat=
shibboleth.user.mapping.key13.handler=
shibboleth.user.mapping.key13.delete=
shibboleth.user.mapping.key14.shib=
shibboleth.user.mapping.key14.olat=
shibboleth.user.mapping.key14.handler=
shibboleth.user.mapping.key14.delete=
shibboleth.user.mapping.key15.shib=
shibboleth.user.mapping.key15.olat=
shibboleth.user.mapping.key15.handler=
shibboleth.user.mapping.key15.delete=
shibboleth.user.mapping.key16.shib=
shibboleth.user.mapping.key16.olat=
shibboleth.user.mapping.key16.handler=
shibboleth.user.mapping.key16.delete=
shibboleth.user.mapping.key17.shib=
shibboleth.user.mapping.key17.olat=
shibboleth.user.mapping.key17.handler=
shibboleth.user.mapping.key17.delete=
shibboleth.user.mapping.key18.shib=