######################################################################## # # Sample configuration file for OpenOlat # # This is the main OpenOlat configuration file. You should ensure that # you have read and understood the OpenOlat documentation beforehand. # 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. # Check the olat administration tab for a setup menu entry for more info. # # 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 log.dir.comment=log directory of the olat.log file. Must correspond with your log4j.xml 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 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 folder.maxulmb.comment=limits on upload size and quotas should be set in MB folder.maxulmb=100 folder.quotamb=200 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 ######################################################################## # 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 # ${userdata.dir}/system/configuration/org.olat.core.util.i18n.I18nModule.properties defaultlang=en #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 # 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. # 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 # ${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 # e.g.: US-ASCII, ISO-8859-1, UTF-8 defaultcharset=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 # 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 ######################################################################## # 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 smtp.port= # if required by your local SMTP you may need to provide credentials smtp.user= smtp.pwd= # enable SSL if your smtp server supports it 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 smtp.from= # 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} # maximum size for email attachments (in MB) 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 ######################################################################## # 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 # 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= # send an email when new users register registration.enableNotificationEmail=false # set this email to a mail address in your domain registration.notificationEmail=${adminemail} # 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 registration.disclaimerAdditionalCheckbox=false # add a third checkbox to the disclaimer, e.g. for the terms of use registration.disclaimerAdditionalCheckbox2=false # 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 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 # which try to register itself 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 login.enableGuestLoginLinks=true guest.login=${login.enableGuestLoginLinks} # provider guest url in groups and courses guest.login.links=${login.enableGuestLoginLinks} # allow invitation login login.invitationLogin=true invitation.login=${login.invitationLogin} # 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!) 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} #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 #################################################### # Standard users can create 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=groupconfig 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 # that can be configured: # 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.groupmanagers=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.administrators=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 #################################################### # assessment config #################################################### # enable / disable the course assessment mode assessment.mode=enabled assessment.mode.values=enabled,disabled #### # 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, # 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, # 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 # 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 ######################################################################## # Certificates ######################################################################## # Send a copy of the certificates mails to someone certificate.bcc= 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. help.enabled=true # 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 ######################################################################## # OLAT technical settings ######################################################################## # OLAT instance ID (effects a unqiue namesapce for addressable items) # ID should be no longer than 10 characters! instance.id=myopenolat # Issuer of the OpenOlat users. # 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 # 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. # 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 layout.coursetemplates.blacklist= # Absolute path to directory where custom themes are loaded from (optional) layout.custom.themes.dir=${userdata.dir}/customizing/themes # 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_/ # 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 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 olat.debug=false # 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 ######################################################################## # OLAT sites / tabs ######################################################################## # 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.catalog.enable=true 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 # 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 # 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 portlet.links.enabled=false # the institutions are configure here : webapp/WEB-INF/olat_portals_institution.xml 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 ######################################################################## # Top navigation configuration ######################################################################## topnav.impressum=false topnav.search=true ######################################################################## # WebDAV ######################################################################## webdav.enabled=true #webdav manager (show or don't webdav links in GUI) webdav.links.enabled=true auth.digest.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 ######################################################################## # 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 ######################################################################## # 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 ######################################################################## # 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 ######################################################################## # 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 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 # the OpenOlat release. 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) # 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 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 # 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 # 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 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. ######################################################################## # Instant Messaging / chat ######################################################################## # 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 ######################################################################## # 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 # During development this is normally /workspace/olat/src/main/java i18n.application.src.dir= # Path to any directory that contains # translatable packages other than DE and EN which are in the application source directory # During development this is normally ${i18n.application.src.dir} i18n.application.opt.src.dir = ${i18n.application.src.dir} ######################################################################## # User search / privacy ######################################################################## # 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 # which roles see the autocompletion 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 ######################################################################## # 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 generate.index.at.startup=false # but only if startup is during the restart window... restart.window.start=0 restart.window.end=24 search.index.path=search_index 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 search.indexing.restart.interval=0 # 2) Enable triggering indexer via cron-job instead at startup [ enabled | disabled ] # When enabled , configure 'generate.index.at.startup=false' search.indexing.cronjob=enabled # 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 ######################################################################## # enable/disable the rest api restapi.enable=false restapi.enable.values=true,values # 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 ######################################################################## # Statistics ######################################################################## # Calculate the course statistics statistics.cronjob.expression=0 10 5 * * ? ######################################################################## # Shibboleth ######################################################################## #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 # 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 #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 #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= shibboleth.user.mapping.key18.olat= shibboleth.user.mapping.key18.handler= shibboleth.user.mapping.key18.delete= shibboleth.user.mapping.key19.shib= shibboleth.user.mapping.key19.olat= shibboleth.user.mapping.key19.handler= shibboleth.user.mapping.key19.delete= shibboleth.user.mapping.key20.shib= shibboleth.user.mapping.key20.olat= shibboleth.user.mapping.key20.handler= shibboleth.user.mapping.key20.delete= # The attribute translator can be used to simplify ugly shibboleth attribute identifiers and mask them with nicer names. # If unsure, use the emptyAttributeTranslator to not mask any shib attributes. The switchAttributeTranslator should only # be used when participating in SWTICH AAI. shibboleth.attribute.translator=emptyAttributeTranslator shibboleth.attribute.translator.values=emptyAttributeTranslator,userMappingAttributeTranslator,switchAttributeTranslator ######################################################################## # Clustering settings ######################################################################## # set to Cluster to enable, otherwise use SingleVM to disable cluster features cluster.mode=SingleVM # each node requires a unique ID (1-64) starting at "1" node.id=1 tomcat.id=${node.id} # certain servies (e.g., notifications, course logger etc. are not # cluster capable and can only run on a single node - set this to # enabled on that node cluster.singleton.services = enabled # JMS broker url's where the path (localhost:61700) - defines teh local adress and local port : # SingleVM jms.broker.url jms.broker.url=vm://embedded?broker.persistent=false search.broker.url=vm://embedded?broker.persistent=false index.broker.url=vm://embedded?broker.persistent=false certificate.broker.url=vm://embedded?broker.persistent=false # Cluster (remote) jms.broker.url #jms.broker.url=failover:(tcp://localhost:61616?wireFormat.maxInactivityDuration=0) #search.broker.url=failover:(tcp://localhost:61616?wireFormat.maxInactivityDuration=0) #if you use the jndi connection jms.broker.jndi=OpenOLATConnectionFactory sysbus.broker.jndi=topic/sysbus search.broker.jndi=queue/searchQueue index.broker.jndi=queue/indexQueue certificate.broker.jndi=queue/certificateQueue ##### #query cache config for singlevm/cluster ##### hibernate.cache=enabled hibernate.cache.values=enabled,disabled #cluster need hibernate.caching.cluster.class set and hibernate.caching.singlevm.class empty and second level cache to false #for the cluster version you have to add treecache.xml to the classpath, see olat3/conf/trecache.xml for an example hibernate.caching.singlevm.class=net.sf.ehcache.hibernate.SingletonEhCacheProvider #hibernate.caching.cluster.class=org.hibernate.cache.jbc2.SharedJBossCacheRegionFactory hibernate.caching.cluster.class=org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory hibernate.caching.use.query.cache=true hibernate.use.second.level.cache=true hibernate.connection.timeout=120 ######################################## # LDAP configuration parameters (optional) # for advanced config options see webapp/WEB-INF/src/serviceconfig/org/olat/ldap/_spring/olatextconfig.xml ######################################## ldap.enable=false # is ldap your default provider? true or false ldap.default=false ldap.activeDirectory=false # The date format is not the same for OpenLDAP (yyyyMMddHHmmss'Z') or # ActiveDirectory (yyyyMMddHHmmss'.0Z') ldap.dateFormat=yyyyMMddHHmmss'Z' ldap.dateFormat.values=yyyyMMddHHmmss'Z',yyyyMMddHHmmss'.0Z' # The LDAP Provider from the Oracle's JDKs (standard and JRockit) allows the use of multiple LDAP servers. # Write the URLs of all the servers with a space as separator and a trailing slash. ldap.ldapUrl=ldap://ldap.openolat.org:389 ldap.ldapUrl.values=ldap://ldap1.openolat.org:389/ ldap://ldap2.openolat.org:389/ ldap://ldap3.openolat.org:389/ # Connection timeout in milliseconds ldap.connectionTimeout=15000 # System user: used for getting all users and connection testing ldap.ldapSystemDN=CN=Frentix,OU=Benutzer,DC=openolat,DC=org ldap.ldapSystemPW=ldap4olat # List of bases where to find users. To use multiple bases you must edit the config file manually ldap.ldapBases=OU=Students,DC=openolat,DC=org # SSL configuration for LDAP ldap.sslEnabled=false ldap.trustStoreLocation=/usr/lib/j2sdk1.5-sun/jre/lib/security/cacerts ldap.trustStorePwd=changeit ldap.trustStoreType=JKS # Create LDAP users on the fly when authenticated successfully ldap.ldapCreateUsersOnLogin=true # When users log in via LDAP, the system can keep a copy of the password as encrypted # hash in the database. This makes OLAT more independent from an offline LDAP server # and users can use their LDAP password to use the WebDAV functionality. # If you have a mixed environment where some users have webDAV passwords and some have # only local OLAT user accounts, you have to set this flag to 'true. # When setting to true (recommended), make sure you configured password.change.allowed=false # unless you also set ldap.propagatePasswordChangedOnLdapServer=true ldap.cacheLDAPPwdAsOLATPwdOnLogin=true # Change the password on the LDAP server too ldap.propagatePasswordChangedOnLdapServer=false # Reset the password lock timeout on the active directory in case it is # an active directory and also remove user from failed login list ldap.resetLockTimoutOnPasswordChange=true # Define an external url where the users can change their password ldap.changePasswordUrl= # When the system detects an LDAP user that does already exist in OLAT but is not marked # as LDAP user, the OLAT user can be converted to an LDAP managed user. # When enabling this feature you should make sure that you don't have a user 'administrator' # in your ldapBases (not a problem but not recommended) ldap.convertExistingLocalUsersToLDAPUsers=false # Users that have been created vial LDAP sync but now can't be found on the LDAP anymore # can be deleted automatically. If unsure, set to false and delete those users manually # in the user management. ldap.deleteRemovedLDAPUsersOnSync=false # Sanity check when deleteRemovedLDAPUsersOnSync is set to 'true': if more than the defined # percentages of user accounts are not found on the LDAP server and thus recognized as to be # deleted, the LDAP sync will not happen and require a manual triggering of the delete job # from the admin interface. This should prevent accidential deletion of OLAT user because of # temporary LDAP problems or user relocation on the LDAP side. # Value= 0 (never delete) to 100 (always delete). ldap.deleteRemovedLDAPUsersPercentage=50 # Should users be created and synchronized automatically on OLAT startup? Set this option to # 'true' to create and sync all LDAP users in a batch manner on each OLAT startup.If you set # this configuration to 'false', the users will be generated on-the-fly when they log in # For the cron syntax see http://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html ldap.ldapSyncOnStartup=true # Independent of ldap.ldapSyncOnStartup, users can be created / synced in a batch manner # peridically. Set ldap.ldapSyncCronSync=true if you want such a behaviour and set an # appropriate cron expression to define the interval. The default cron expression will # sync the LDAP database with the OLAT database each hour. ldap.ldapSyncCronSync=${ldap.ldapSyncOnStartup} ldap.ldapSyncCronSyncExpression=0 0 * * * ? # Configuration for syncing user attributes during login or cron and batch sync (examples are # for an active directory) ldap.ldapUserObjectClass=person # Filter that uses the user object class. Can be exteded to include group memberships as well. Default is a standard object class filter. ldap.ldapUserFilter=(objectClass=${ldap.ldapUserObjectClass}) # Example for more complex filter: # ldap.ldapUserFilter=(&(objectClass=${ldap.ldapUserObjectClass})(memberOf=CN=OpenOLATAccess,OU=Students,DC=openolat,DC=org)) # Attribute to resolve the DN of the suer during login (value is the internal attribute) ldap.ldapUserCreatedTimestampAttribute=whenCreated ldap.ldapUserLastModifiedTimestampAttribute=whenChanged # OpenLDAP is userPassword, ActiveDirectory is unicodePwd ldap.ldapUserPassordAttribute=userPassword # Define mapping of user attributes. Only the mandatory attributes are defined here, see the # config file for advanced user attributes mapping ldap.attributename.useridentifyer=sAMAccountName ldap.attributename.email=mail ldap.attributename.firstName=givenName ldap.attributename.lastName=sn # Attribute used as username to log in. Note: the configured login attribute MUST be one of the mapped attributes below, e.g. genericTextProperty1 # If the login attribute should not be visible in OO, then disable the OO user property in all contexts. ldap.login.attribute=${ldap.attributename.useridentifyer} #mappings from ldap-attrib to olat-userproperty ldap.attrib.gen.map.ldapkey1= ldap.attrib.gen.map.olatkey1= ldap.attrib.gen.map.ldapkey2= ldap.attrib.gen.map.olatkey2= ldap.attrib.gen.map.ldapkey3= ldap.attrib.gen.map.olatkey3= ldap.attrib.gen.map.ldapkey4= ldap.attrib.gen.map.olatkey4= ldap.attrib.gen.map.ldapkey5= ldap.attrib.gen.map.olatkey5= ldap.attrib.gen.map.ldapkey6= ldap.attrib.gen.map.olatkey6= ldap.attrib.gen.map.ldapkey7= ldap.attrib.gen.map.olatkey7= ldap.attrib.gen.map.ldapkey8= ldap.attrib.gen.map.olatkey8= ldap.attrib.gen.map.ldapkey9= ldap.attrib.gen.map.olatkey9= ldap.attrib.gen.map.ldapkey10= ldap.attrib.gen.map.olatkey10= ldap.attrib.gen.map.ldapkey11= ldap.attrib.gen.map.olatkey11= ldap.attrib.gen.map.ldapkey12= ldap.attrib.gen.map.olatkey12= ldap.attrib.gen.map.ldapkey13= ldap.attrib.gen.map.olatkey13= ldap.attrib.gen.map.ldapkey14= ldap.attrib.gen.map.olatkey14= ldap.attrib.gen.map.ldapkey15= ldap.attrib.gen.map.olatkey15= ldap.attrib.gen.map.ldapkey16= ldap.attrib.gen.map.olatkey16= ldap.attrib.gen.map.ldapkey17= ldap.attrib.gen.map.olatkey17= ldap.attrib.gen.map.ldapkey18= ldap.attrib.gen.map.olatkey18= ldap.attrib.gen.map.ldapkey19= ldap.attrib.gen.map.olatkey19= ldap.attrib.gen.map.ldapkey20= ldap.attrib.gen.map.olatkey20= #static mappings, olat-userproperties will be filled with given value ldap.attrib.static.olatkey1= ldap.attrib.static.value1= ldap.attrib.static.olatkey2= ldap.attrib.static.value2= ldap.attrib.static.olatkey3= ldap.attrib.static.value3= #properties only to be synced on first sync ldap.attrib.sync.once.olatkey1= ldap.attrib.sync.once.olatkey2= ldap.attrib.sync.once.olatkey3= # sync group from a LDAP groups ldap.ldapGroupBases= ldap.ldapGroupBases.values=ou=groups,dc=openproject,dc=org # the object class of groups ldap.ldapGroupObjectClass=groupOfNames ldap.ldapGroupFilter=(objectClass=${ldap.ldapGroupObjectClass}) # the marker attribute for coaches ldap.coachRoleAttribute=employeeType ldap.coachRoleValue=coach # sync group from a list of separated ids saved in an attribute of # the DLAP user ldap.user.groupAttribute= ldap.user.groupAttribute.values=o ldap.user.groupAttributeSeparator=, ldap.user.coachedGroupAttribute= ldap.user.coachedGroupAttribute.values=o ldap.user.coachedGroupAttributeSeparator=, # sync authors ldap.authorsGroupBases= ldap.authorRoleAttribute= ldap.authorRoleValue= # sync user managers ldap.userManagersGroupBases= ldap.userManagerRoleAttribute= ldap.userManagerRoleValue= # sync group managers ldap.groupManagersGroupBases= ldap.groupManagerRoleAttribute= ldap.groupManagerRoleValue= # sync question pool managers ldap.qpoolManagersGroupBases= ldap.qpoolManagerRoleAttribute= ldap.qpoolManagerRoleValue= # sync curriculum managers ldap.curriculumManagersGroupBases= ldap.curriculumManagerRoleAttribute= ldap.curriculumManagerRoleValue= # sync learning resource managers ldap.learningResourceManagersGroupBase= ldap.learningResourceManagerRoleAttribute= ldap.learningResourceManagerRoleValue= ##### # Build properties ##### application.name=OpenOlat build.version=14.1a build.identifier=openolat141a-dev build.repo.revision=local-devel ##### # OpenOlat user activity logging: anonymous logging will skipp all tracking loggings and only log actions # of type admin and statistic ##### log.anonymous=false ######################################## # Simple message service ######################################## message.enabled=false message.provider=Dummy message.provider.values=Dummy,WebSMS #Features using the sms message.reset.password.enabled=true message.ask.by.first.login=true #WebSMS configuration websms.username= websms.password= ######################################## # Access control ######################################## #module on/off resource.accesscontrol.enabled=true #The user has a menu item in home to see the list of access resource.accesscontrol.home.overview=true #access methods available method.token.enabled=true method.free.enabled=true method.paypal.enabled=false method.auto.enabled=false # Properties to configure the Shibboleth implementation of the auto access method # attributes to use for search (comma separated) method.auto.shib.identifiers.values=internalId,externalId,externalRef method.auto.shib.identifiers= # Name of the Shibboleth attributes with the keys method.auto.shib.shib= # Splitter to split the parsed value in keys method.auto.shib.splitter.values=Semicolon method.auto.shib.splitter= ######################################## # Paypal (need a business account) ######################################## # API USERNAME, Replace RHS with your API user name you obtained from sandbox/live server. paypal.security.user.id= # API PASSWORD, Replace RHS with your API password you obtained from sandbox/live server. paypal.security.password= # API SIGNATURE ,If you are using the 3 token credential then you should uncomment the following # line and specify/change the signature on the RHS of the = sign. The module only implements the # 3 token credential. paypal.security.signature= # APPLICATION ID, Replace RHS with your application id paypal.application.id= # Replace the RHS with the email address you used to signup at http://developer.paypal.com paypal.sandbox.email= # Email of the first receiver/merchant paypal.first.receiver.email= # Use the sandbox server paypal.sandbox=false paypal.sandbox.values=true,false # Only change this if you really know what you do paypal.data.format=XML paypal.data.format.values=XML,JSON,SOAP11 ######################################## # Course specific settings ######################################## #whether to display current course participant count in the course toolbox course.display.participants.count=true #whether to display infobox on assessable coursenodes course.display.infobox=true #whether to display changelog on assessable coursenodes course.display.changelog=true ######################################## # Course building blocks, every course building block can be disabled by adding a property here and reference it in # appropriate spring config file (by default are course bb are enabled) ######################################## course.node.linklist.enabled=true course.node.checklist.enabled=false course.node.checklist.deprecated=false course.node.dateenrollment.enabled=false # The LTI course element course.node.basiclti.enabled=true # Force the use of a launch page (or not) course.node.basiclti.force.launchpage=false course.node.portfolio.enabled=true course.node.infomessage.enabled=true course.node.members.enabled=true #deduplicate the list in the members list. course.node.members.deduplicate.list=true course.node.vc.enabled=false course.node.cp.enabled=true course.node.scorm.enabled=true course.node.podcast.enabled=true course.node.blog.enabled=true # The project broker course.node.projectbroker.enabled=true # The test QTI course.node.test.enabled=true # The self test QTI course.node.selfttest.enabled=true # The survey QTI course.node.survey.enabled=true # The form survey course.node.form.survey.enabled=true # The modern check list course.node.modern.checklist.enabled=true # The file dialog course element course.node.dialog.enabled=true # The course enrollment course.node.en.enabled=true # the contact / mail course element course.node.co.enabled=true ######################################## # Options for e-portfolio ######################################## #List of styles avaialbe for the e-portfolio maps. The separator is a , portfolio.map.styles=default,comic,leather,epmst-green,epmst-blue,epmst-red portfolio.map.styles.values=default,comic,leather,epmst-green,epmst-blue,epmst-red #offer a list of all maps shared to public. Don't enable if > 500 public maps exist! The maps can still be viewed by opening a users vcard. portfolio.offer.public.map.list=true ######################################## # Options for content editor ######################################## ceditor.image.styles=o_image_classic,o_image_border,o_image_shadow,o_image_frame,o_image_polaroid,o_image_round ceditor.image.title.styles=o_image_title_dark,o_image_title_bright,o_image_title_standard ceditor.table.styles=b_gray,b_blue,b_green,b_yellow,b_red ######################################## # Options for evaluation ######################################## # Possible file size limitations (in MB) in the file upload element of an evaluation form forms.file.upload.limit.mb=5,10,20,50 # Set the limit of session to show in the report (e.g. the print view) forms.report.max.sessions=100 ######################################## # Curriculum ######################################## curriculum.enabled=true curriculum.enabled.values=true,false ######################################## # Organisation ######################################## organisation.enabled=true organisation.enabled.values=true,false ######################################## # Lectures / absences ######################################## lecture.enabled=false lecture.enabled.values=true,false # Default values for the lectures controlled assessment mode lecture.assessment.mode.enabled=false lecture.assessment.mode.lead.time=10 lecture.assessment.mode.followup.time=10 lecture.assessment.mode.admissible.ips= lecture.assessment.mode.seb.keys= ######################################## # User to user relations ######################################## relation.role.enabled=enabled relation.role.enabled.values=enabled,disabled ######################################## # Options for Virtual Classrooms ######################################## #Adobe connect vc.adobe.enabled=false vc.adobe.protocol=http vc.adobe.port=80 vc.adobe.baseurl=localhost # The account used is defined by the following admin. account vc.adobe.adminlogin= vc.adobe.adminpassword= #The type of user accounts vc.adobe.providerid=connect9 vc.adobe.providerid.values=connect9,dfn vc.adobe.guestAccessAllowed=true #Vitero vc.vitero.enabled=false vc.vitero.protocol=http vc.vitero.port=8080 vc.vitero.baseurl=localhost vc.vitero.contextPath=vitero vc.vitero.adminlogin=admin vc.vitero.adminpassword=007 vc.vitero.customerid=1 vc.vitero.olatTimeZoneId=Africa/Ceuta vc.vitero.olatTimeZoneId.values=c.f. listing of Vitero vc.vitero.deleteVmsUserOnUserDelete=true #Open meetings vc.openmeetings.enabled=false vc.openmeetings.protocol=http vc.openmeetings.port=5080 vc.openmeetings.baseurl=localhost vc.openmeetings.contextPath=openmeetings vc.openmeetings.adminlogin=admin vc.openmeetings.adminpassword=0007 vc.openmeetings.customerid=1 #GoTo Meetings vc.gotomeetings.enabled=false vc.gotomeetings.consumerKey= ######################################## # Options for card2brain ######################################## card2brain.enabled=false card2brain.enterpriseLoginEnabled=false card2brain.privateLoginEnabled=false card2brain.baseUrl=https://card2brain.ch/grails/SSO/lti.dispatch?alias=%s card2brain.peekViewUrl=https://card2brain.ch/box/%s/embed card2brain.verifyLtiUrl=https://card2brain.ch/grails/SSO/verifyLti.dispatch ######################################## # Options for Edubase and Edubook ######################################## edubase.enabled=false edubase.readerUrl=https://app.edubase.ch/ edubase.readerUrl.unique=true edubase.ltiLaunchUrl=https://reader.silkcodeapps.de/lookup/srv/v2/lti/basicLaunch/ edubase.infoverUrl=https://reader.silkcodeapps.de/lookup/srv/v2/information/infodocvers/%s ######################################## # Options for edu-sharing # You have to configure public keys in the admin section in the GUI of OpenOlat. ######################################## edusharing.enabled=false edusharing.url=https://edusharing.example.org/edu-sharing/ edusharing.app.id= # IP address of the OpenOlat instance edusharing.host= edusharing.ticket.valid.seconds=10 # User attribute to pass as userid to edu-sharing edusharing.user.identifier.key=email edusharing.user.identifier.key.values=username,email # Names of user attributes are configurable in edu-sharing. Use the same names here. edusharing.auth.key.userid=userid edusharing.auth.key.lastname=lastname edusharing.auth.key.firstname=firstname edusharing.auth.key.email=email edusharing.auth.affiliation.id=${instance.id} edusharing.auth.affiliation.name=${instance.id} ######################################## # Options for Collabora Office ######################################## collabora.enabled=false collabora.baseUrl=https://collabora.example.org/ collabora.data.transfer.confirmation.enabled=false collabora.usage.restricted.authors=false collabora.usage.restricted.coaches=false collabora.usage.restricted.managers=false ######################################## # Options for OnlyOffice ######################################## onlyoffice.enabled=false onlyoffice.baseUrl=https://onlyoffice.example.org/ onlyoffice.api.path=web-apps/apps/api/documents/api.js onlyoffice.data.transfer.confirmation.enabled=false onlyoffice.usage.restricted.authors=false onlyofficeusage.restricted.coaches=false onlyoffice.usage.restricted.managers=false ######################################## # Options for Office 365 ######################################## office365.enabled=false office365.baseUrl=https://office365.example.org/ office365.data.transfer.confirmation.enabled=false office365.usage.restricted.authors=false office365.usage.restricted.coaches=false office365.usage.restricted.managers=false ######################################## # Options for monitoring ######################################## monitoring.enabled=true monitoring.instance.description=OpenOlat instance monitored.probes=Runtime,System,Database,Memory,OpenOLAT,Release,Environment,Indexer monitoring.dependency.server=myserver ######################################## # Options for document pool ######################################## # Enable the document pool based on taxonomies site.docpool.enable=false # Define the document pool name as it appears when mounted via WebDAV. Best is to use only plain # vanilla ASCII characters docpool.webdav.mountpoint=doc-pool docpool.webdav.mountpoint.values=doclibrary,hfm,topics... ######################################## # Options for library ######################################## sites.enable.library=false site.library.enabled=${sites.enable.library} library.repository.entry.key= library.notify.afterupload= library.notify.afterfreeing= ######################################## # Options for video resource ######################################## # Video resource, course node and site video.enabled=true video.coursenode.enabled=true video.site.enable=false video.marker.styles=o_video_marker_gray,o_video_marker_blue,o_video_marker_green,o_video_marker_yellow,o_video_marker_red # Enable transcoding if you want to create optimized version of your video for delivery. video.transcoding.enabled=false # The transcoding process can run locally in s separate process using HandBrake. In that # case, the binary "HandBrakeCLI" must be installed in your system and available to the # java environment of your system. Only HandBrakeCLI in version > 1 is supported. # Alternatively, you can disable local transcoding and implement a shell script that runs # on another server which reads from the o_vid_transcoding table to separate transcoding # from the main server. For larger installations it is recommendet to run the transcoding # on a dedicated server video.transcoding.local=true # Use tasklist to limit CPU usage if you set video.transcoding.local=true video.transcoding.taskset.cpuconfig=0,1 video.transcoding.taskset.cpuconfig.values=0,1 to indicate usage of 2 cores, set empty value to disable taskset (e.g. on osx not available) # List of transcoding versions to be generated by the transcoder video.transcoding.resolutions=1080,720,480 video.transcoding.resolutions.values=2160,1080,720,480 # The preferred resolution if multiple video versions are available and the user has no # customized setting. Should be a values from video.transcoding.resolutions video.transcoding.resolution.preferred=720 # Which profile should be used while transcoding. "Fast" delivers better quality, but taks # roughly twice the time for transcoding. "Fast" has about one third larger file size. In # short: "Fast" for better quality at the cost or resources, "Very Fast" for smaller files # at the cost of quality. video.transcoding.profile=Very Fast video.transcoding.profile.values=Fast,Very Fast # Where to store transcoded versions. This can be located on another path in case the # transcoding service is working on another physical server or you just want it to use # another (cheap) disk. By default it is also located in the olatdata dir. # The master video files are kept in the olatdata directory, this is only about the # transcoded versions. # If you set video.transcoding.local=false and use an external script for transcoding, this # other script must have access to this video.transcoding.dir as well to store the transcoded # videos. Make sure the access permissions are implemented in a way so that the OpenOlat process # can always delete the files from this video.transcoding.dir directory (when deleting the # master video) video.transcoding.dir=${folder.root}/transcodedVideos video.transcoding.dir.values=${folder.root}/transcodedVideos, /mount/cheap/disk/transcodedVideos ############################################################################### # Options for the live stream course node ############################################################################### live.stream.enabled=false # Buffer time to switch from the announcement page to the live stream (in minutes) # and vice versa. live.stream.buffer.before.min=5 live.stream.buffer.after.min=5 live.stream.edit.coach=false