Re: [OpenOLAT] Getting content of course using olat rest api

1,244 views
Skip to first unread message

Florian Gnägi

unread,
Apr 3, 2013, 2:12:51 PM4/3/13
to open...@googlegroups.com
Hi Peter

You have to move to OpenOLAT to use the newer REST API functions. I would recommend upgrading to OpenOLAT 8.3.5. The original OLAT project from UZH has stalled and does not support the REST API anymore, the version you referred from BPS is based on an older code base which does not include the last two years of OpenOLAT development. 

If you need help migrating to OpenOLAT just let us know. An update from an unmodified OLAT 7.2 should no be a big issue. 

Best regards
Florian

Am 03.04.2013 um 18:40 schrieb makal...@gmail.com:

Hi,
I'm using olat rest api, which is on my university server (olat v. 7.2.1.0). I successfully logged in and I can get list of courses, which are visible to me. Now I'm stuck on getting content of any course. I tried many methods described in documentation (http://demo.bps-system.de/olatce/restapibeta/api/doc#d2e2), but none of them gave me content of course. Then I found in this topic: https://groups.google.com/forum/#!msg/openolat/gYnqGaoRy-w/u5IuZKtHCrgJ that I have to use runstructure (/repo/courses/{courseId}/runstructure), but I get 401 (not authorized) error, although when I'm using olat from my browser I can view this course. From the other hand I also tried to download some files from course (/repo/courses/{courseId}/resourcefolders/coursefolder). I can get list of links, but when I'm trying to get some element from this list I get 404 (not found) error.

Any help will be apprenticed,
Best Regards,
Peter

--
--
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google
Groups-Gruppe "OpenOLAT".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an open...@googlegroups.com
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an
openolat+u...@googlegroups.com
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/openolat?hl=de
-------------------------------------------------------------------------------------------------------------------
OpenOLAT - infinite learning - http://www.openolat.org
 
---
You received this message because you are subscribed to the Google Groups "OpenOLAT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openolat+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

--------------------------------------------------------------------
professional services for the e-learning system OpenOLAT and OLATpro
 hosting - operating - support - development - mobile - consulting
--------------------------------------------------------------------

frentix  GmbH
Florian Gnägi, Geschäftsführer
Hardturmstrasse 76
CH-8005 Zürich, Switzerland

skype:gnaegi  twitter:gnaegi  xing:Florian_Gnaegi 
--------------------------------------------------------------------



Stéphane Rossé

unread,
Apr 6, 2013, 3:28:50 AM4/6/13
to open...@googlegroups.com, makal...@gmail.com
Hi

In OpenOLAT 8.3 go in OpenOLAT > Administration tab > Core functions > REST API and you have there a link to the current documentation.

Best regards
Stéphane Rossé

Le vendredi 5 avril 2013 15:25:36 UTC+2, makal...@gmail.com a écrit :
Thanks for the answer. I'd try to update to OLAT 8.3.5. I have a question anyway: is there any other (better) documentation of rest api than this one: http://demo.bps-system.de/olatce/restapibeta/api/doc#d2e301 ? I can't find anything else.

Stéphane Rossé

unread,
Apr 7, 2013, 2:23:51 PM4/7/13
to open...@googlegroups.com, makal...@gmail.com
Hi

You don't have to comment the onyx properties onyx.ssl=false and the others. They are needed to start OpenOLAT. If you don't want Onyx, only set

assessmentplugin.activate=Olat


and let the others properties to their default value. And generally speaking, I would suggest to not copy the whole olat.properties but only cherry pick the properties you want to override. It's a lot more readable and easier to debug.

Best regards
Stéphane


Le dimanche 7 avril 2013 18:20:00 UTC+2, makal...@gmail.com a écrit :
Hi,
now I'm facing how to run openolat (last version). I followed this guide: http://www.openolat.org/fileadmin/adminwiki/SW5zdGFsbGF0aW9u.html .I have tomcat7, mysql with database installed from script in war file (before that i cleaned whole database) and trying to deploy war file. I met very much problems, but somehow I fixed them, but now I'm stuck on this error (log from catalina.log):

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'sslConfigurationModule' defined in file [/home/makalele/mag/apache-tomcat-7.0.39/webapps/openolat_835/WEB-INF/classes/de/bps/security/_spring/sslContext.xml]: Could not resolve placeholder 'onyx.ssl' in string value [${onyx.ssl}]
at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:209)
at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:220)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:84)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:661)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4887)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5381)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1256)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:714)
at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:219)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)

Here's my olat.local.properties file:

########################################################################
#
# 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=/opt/openolat

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=50
folder.quotamb=100
folder.sendDocumentToExtern=true
folder.sendDocumentLinkOnly=true
# file size limit for HTML and text editor is 1MB
folder.editFileSizeLimitBytes=1048576

########################################################################
# 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,pl

# determines the character set of files written to the filesystem
# e.g.: US-ASCII, ISO-8859-1, UTF-8
defaultcharset=UTF-8


# global on/off config for back and resume
history.back.enabled=true
history.resume.enabled=true
# default settings for the back function in case feature is available
history.back.enabled.default=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
# 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
# system mails will be sent from this address (from local domain with valid reverse dns):
fromemail=no-r...@your.domain
# 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
# if mail intern is enabled you must make sure, that your mysql-db accepts large packets to also save the attachments:
# set "max_allowed_packet = 134217728" in my.cnf/my.ini see FXOLAT-154
mail.intern=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
# 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
registration.disclaimerAdditionalCheckbox=false
# add a link to the disclaimer with a file download
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 links
login.enableGuestLoginLinks=true
# allow invitation login
login.invitationLogin=true
# Allow users to login using alternatively their email address or username
login.using.username.or.email.enabled=true
# permit users to change their own passwords
# (if you set this to false, nobody can can change their pws!)
password.change.allowed=true
# default deletion behavior is to retain details (marked as deleted) and
# ensure they cannot be used, otherwise (if false) values will be replaced
# by yyyyMMddHHss_bkp_<originalValue>
keepUserEmailAfterDeletion=false
keepUserLoginAfterDeletion=false

#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
#notification cron job
notification.cronjob.expression=0 10 */2 * * ?

####################################################
# 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.groupmanagers=false
group.mandatory.enrolment.email.administrators=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.groupmanagers=false
group.accept.membership.administrators=false

####################################################
# assessmentplugin config
####################################################
# 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 sup...@bps-system.de
####
assessmentplugin.activate=Olat

#####
# Onyx Reporter SSL/TLS communication properties
#####
#onyx.base.dir=${userdata.dir}
#onyx.ssl=false
#if true, overwrite the standard setting sof the JRE with the following values (it can conflict with ldaps or the tunneling course building block)
#onyx.ssl.values=true,false
#onyx.keystore.file=${onyx.base.dir}/jssecacerts.sample
#onyx.keystore.pass=ic9jeiSh
#onyx.keystore.type=JKS
#onyx.truststore.file=${onyx.base.dir}/jssecacerts.sample
#onyx.truststore.pass=ic9jeiSh
#onyx.truststore.type=JKS

#####
# Onyx Reporter Webservice
#####
#onyx.reporter.webservice=http://demo.bps-system.de/onyx/reporterservices
#onyx.reporter.webservice=http://onyx.bps-system.de/plugin/reporterservices
#onyx.update.results.job=disabled

#####
# Onyx Plugin
#####
#onyx.plugin.wslocation=http://demo.bps-system.de/onyx
#onyx.plugin.wslocation=http://onyx.bps-system.de/plugin
# <OLATCE-713>
#onyx.plugin.userviewlocation=${onyx.plugin.wslocation}/onyxrun
#onyx.reporter.userviewlocation=
# <OLATCE-713>
#onyx.plugin.configname=[yourregisteredname]

#####
# Help course and context help
#####
help.course.enabled=true
help.course.softkey=OLAT::help-course_de.zip
help.context.enabled=true
help.context.rating.enabled=true
#Deploy the embbeded courses as the help course
deploy.course.exports=true
deploy.course.exports.values=true,false

########################################################################
# OLAT technical settings
########################################################################
# OLAT instance ID (effects a unqiue namesapce for addressable items)
# ID should be no longer than 10 characters!
instance.id=myopenolat
# 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
layout.theme=openolat
layout.coursetemplates.blacklist=

# 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
#number of elements to cache in course cache
course.cache.elements=500
# required only for performance and functional testing
allow.loadtest.mode=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.teacher.enabled=true
# 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

# 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
site.minimalhome.enabled=true

#enable / disable GAE for HomeMainController (frentixContext.xml)
#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.bookmarks=true
minimalhome.ext.notifications=true
minimalhome.ext.calendar=true
minimalhome.ext.mysettings=true
minimalhome.ext.portal=true

site.home.order=1
site.repository.enable=true
site.groups.enable=true

course.db.enabled=false

########################################################################
# Top navigation configuration
########################################################################
topnav.impressum=false
topnav.search=true

#webdav manager (show or don't webdav links in GIU)
webdav.links.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

########################################################################
# 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
server.modjk.enabled=false
# OLAT JMX server port (must be unique per node in a cluster)
jmx.rmi.port=3000

########################################################################
# 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
db.vendor.values.comment=supported vendors currently include "mysql" and "postgresql", Hsqldb is used for development

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=openolat
db.user=openolat
db.pass=openolat

#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 c3p0 pool with hibernate
db.hibernate.c3p0.minsize=20
db.hibernate.c3p0.maxsize=50

########################################################################
# Fonts for jsMath Formula Editor (part of html editor and wiki)
########################################################################
unpack.fonts.comment=set to false if you do not require special image fonts of to speed up development cycle (unpacking takes some time as the zip contains more than 20'000 files!)
unpack.fonts=false

########################################################################
# Instant Messaging (optional)
########################################################################

# if enabled then the IM Server must be running before OLAT is started!
instantMessaging.enable=false
instantMessaging.server.name=jabber.myolat.com
# permit multiple OLAT instances to use the same IM server
# each instance will append its ID to user-/group name
instantMessaging.multipleInstances=false
# when using multiple OLAT instances if you use email addresses as OLAT
# usernames then the '@' must be replaced !
instantMessaging.replaceStringForEmailAt=_at_
# an "admin" account must be present, do not change this username!
instantMessaging.admin.username=admin
instantMessaging.admin.password=admin
#if true all groups are synchronized with the im server
instantMessaging.sync.groups=true
instantMessaging.sync.groups.values=true,groupconfig,false
#FXOLAT-219 The delay
instantMessaging.sync.learning.groups.start.delay=15000
#Default in Smack is 5000 so set to that here
instantMessaging.packetReplyTimeout=5000

#whether to display current course participant count in the course toolbox
course.display.participants.count=true

instantMessaging.awarenessVisible=false
instantMessaging.hideExternalClientInfo=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
########################################################################
#whic roles see the administrative user properties
usersearch.adminProps.users=disabled
usersearch.adminProps.authors=enabled
usersearch.adminProps.usermanagers=enabled
usersearch.adminProps.groupmanagers=enabled
usersearch.adminProps.administrators=enabled

#which roles see the autocompletion
usersearch.autocomplete.users=enabled
usersearch.autocomplete.authors=enabled
usersearch.autocomplete.usermanagers=enabled
usersearch.autocomplete.groupmanagers=enabled
usersearch.autocomplete.administrators=enabled
#the maximum of identities returned by search (-1 is unlimited)
usersearch.maxResults=-1
usersearch.maxResults.values=-1,20,50

########################################################################
# 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.index.tempIndex=temp_search_index
search.index.tempSpellcheck=temp_spellcheck_index
search.index.pdfBuffer=temp_pdf_text_buf

# 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

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

#enable/disable the rest api
restapi.enable=false
restapi.enable.values=true,values

########################################################################
# Security
########################################################################

shibboleth.enable=false
# set the name of the Shibboleth attribute used to identify authorized users
shibboleth.defaultUID=defaultUID
# the Authentication and Authorization Infrastructure (AAI) is a
# federated identity management system used in Switzerland that
# supports the sending of a locale code within an AAI request using
# a key as named in the language.param setting
language.enable=false
language.param=YOUR_PARAM_NAME

# if you change this all current users will no longer be able to login!
default.auth.provider.identifier=OLAT

#these settings are university of zurich specific
shibboleth.wayfSPEntityID=
shibboleth.wayfSPHandlerURL=
shibboleth.wayfSPSamlDSURL=
shibboleth.wayfReturnUrl=

#you can manuall add additional IDP servers. See org/olat/portal/shiblogin/_content/portlet.html
#for an example
shibboleth.wayf.additionalIDPs=
#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

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

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

########################################################################
# 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
codepoint.jms.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)
#codepoint.jms.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


# enable/disable codepoint/breakpoint framework
codepoint_server.enabled=false

#####
#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.olat.org:389
ldap.ldapUrl.values=ldap://ldap1.olat.org:389/ ldap://ldap2.olat.org:389/ ldap://ldap3.olat.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=olat,DC=ch
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=olat,DC=ch
# SSL configuration for LDAP
ldap.sslEnabled=false
ldap.trustStoreLocation=/usr/lib/j2sdk1.5-sun/jre/lib/security/cacerts
ldap.trustStorePwd=changeit
ldap.trustStoreType=JKS
# 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
# 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
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
# fxdiff: allow to config xml in here:
#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=
#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=

#####
# Build properties
#####
application.name=OpenOLAT
build.version=8.3.5
build.identifier=openolat835-dev
build.repo.revision=local-devel

#####
# OLAT logging
#####
log.anonymous=false

########################################
# 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

########################################
# 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 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.dateenrollment.enabled=false
course.node.basiclti.enabled=true
course.node.portfolio.enabled=true
course.node.infomessage.enabled=true
course.node.members.enabled=true
course.node.vc.enabled=false

########################################
# Options for e-portfolio
########################################
#List of styles avaialbe for the e-portfolio maps. The separator is a ,
portfolio.map.styles=default,comic,leather
portfolio.map.styles.values=default,comic,leather
#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 Virtual Classrooms
########################################

#Adobe connect
vc.adobe.enabled=false
vc.adobe.protocol=http
vc.adobe.port=80
vc.adobe.baseurl=localhost
vc.adobe.adminlogin=login
vc.adobe.adminpassword=pass
#account-id is optional
vc.adobe.accountid=7410
vc.adobe.showoptions=true
#The type of user accounts
vc.adobe.usertype=user
vc.adobe.usertype.values=guest,user

#Winba
vc.wimba.enabled=false
vc.wimba.protocol=http
vc.wimba.port=80
vc.wimba.baseurl=localhost
vc.wimba.adminlogin=admin
vc.wimba.adminpassword=password

#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


########################################
# Options for monitoring
########################################
monitoring.enabled=true
monitoring.instance.description=OpenOLAT instance
monitored.probes=Runtime,System,Database,Memory,OpenOLAT,Release,Environment
monitoring.dependency.server=myserver


as you can see everything with onyx is commented out, but it still wants to use it.
and at least server.xml file:

<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="SHUTDOWN">
<!-- Security listener. Documentation at /docs/config/listeners.html
<Listener className="org.apache.catalina.security.SecurityListener" />
-->
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">

<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="4"/>
-->


<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->

<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
-->
<Engine name="Catalina" defaultHost="localhost">

<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->

<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>
</Engine>
</Service>
</Server>

well this file is default, because file adminwiki doesn't work (bunch of errors).
If I remove comments on lines where onyx is I get so many errors that I can't even copy&paste them. Generally most of them says that there are some missing files in /opt/openolat/ .By the way I created only this folder, but from where should I paste files there?

Hans-Gert Gräbe

unread,
Apr 7, 2013, 4:25:22 AM4/7/13
to open...@googlegroups.com
Hi Florian,

Am 03.04.2013 20:12, schrieb Florian Gn�gi:
> the version you referred from BPS is based on an older code base which
> does not include the last two years of OpenOLAT development.

Do you have more information about that? BPS just released a OLAT Campus
5.0 version <http://www.bps-system.de>, <http://olat-campus.blogspot.de>
that seems to follow completely the other branch of the fork (i.e. the
UZH Z�rich part). At least as far as I've learned from a short tour
through the new OPAL version productive since 2013-03-27.

They claim to have joined forces with Uni Frankfurt and Uni Hamburg, so
they are completely out of the business with OpenOlat now? I have only
minor access to those informations after Uni Leipzig cancelled its
subscription of OPAL a year ago (and the E-Learning head position is
vacant since Michael Gerth left Uni Leipzig completely).

Note that we keep running our local BIS-OLAT portal at Uni Leipzig very
successful and put OpenOlat 8.3.4 productive for the current summer term
after refactoring our Autolat package - warm thanks to J�rg Werner who
now is leaving university. I just published sources and doku of Autolat
at <https://github.com/hg-graebe/autolat.git>.

Be aware that we have no resources to support maintenance of Autolat at
other places.

Best regards,
Hans-Gert Gr�be

--

Dr. Hans-Gert Graebe, apl. Prof., Inst. Informatik, Univ. Leipzig
postal address: Postfach 100920, D-04009 Leipzig
Hausanschrift: Augustusplatz 10-11, 04109 Leipzig, Raum P-633
tel. : +49-341-97-32248
email: gra...@informatik.uni-leipzig.de
Home Page: http://www.informatik.uni-leipzig.de/~graebe

Florian Gnägi

unread,
Apr 9, 2013, 12:56:51 PM4/9/13
to open...@googlegroups.com
Hi Hans-Gert

> Am 03.04.2013 20:12, schrieb Florian Gnägi:
>> the version you referred from BPS is based on an older code base which
>> does not include the last two years of OpenOLAT development.
>
> Do you have more information about that? BPS just released a OLAT Campus 5.0 version <http://www.bps-system.de>, <http://olat-campus.blogspot.de> that seems to follow completely the other branch of the fork (i.e. the UZH Zürich part). At least as far as I've learned from a short tour through the new OPAL version productive since 2013-03-27.

OLAT Campus is a closed source fork based on the OLAT system from UZH in the days before UZH switched to Mercurial in January 2011. I can't tell you the exact fork point. OpenOLAT is based on the OLAT 7.1 Mercurial repository from UZH with backporting of fixes from the 7.2 repository.

Todays OLAT Campus 5 from BPS has nothing in common with OLAT 7.7 from UZH or OpenOLAT 8.3 besides the fact that several years ago they used to be more or less the same systems. Today, all three variants differ greatly. Courses from one system are partly incompatible to run on the others. Unfortunately for the community we did not find a way to merge the activities outside UZH into one fork although this was subject of discussion for several month after we announced OpenOLAT as a separate project.

Since we started OpenOLAT we refactored and changed so much code that now it seems to be virtually impossible to merge the code bases together. However, since OLAT Campus is closed source we can not really say how much the OLAT Campus code based evolved, but from reading the release notes it seems that many things deeper in the code changed on the OLAT Campus code base as well.

> They claim to have joined forces with Uni Frankfurt and Uni Hamburg, so they are completely out of the business with OpenOlat now? I have only minor access to those informations after Uni Leipzig cancelled its subscription of OPAL a year ago (and the E-Learning head position is vacant since Michael Gerth left Uni Leipzig completely).

Yes, there is no collaboration on the OpenOLAT/OLAT Campus codebase. They are separate projects with a different road map, different code, different repositories and different license.

> Note that we keep running our local BIS-OLAT portal at Uni Leipzig very successful and put OpenOlat 8.3.4 productive for the current summer term after refactoring our Autolat package - warm thanks to Jörg Werner who now is leaving university.
> I just published sources and doku of Autolat at <https://github.com/hg-graebe/autolat.git>.

Great to hear, thanks for sharing the link!

OpenOLAT 8.4 is around the corner with a rewritten, integrated chat and instant messaging infrastructure and many improvements on the performance since (We just tuned a system and pushed it up to 10'000 concurrent users using a very large real-world data set on a single node instance, there is really a lot you can get out of OpenOLAT if setup properly). The 9.0 release will be available somewhen in summer and feature a question pool infrastructure to create, maintain, share and reuse question items.

Best regards
Florian

Florian Gnägi

unread,
Apr 10, 2013, 4:06:34 PM4/10/13
to open...@googlegroups.com
check that you don't have any whitespaces in your property configuration. e.g. "localization.cache = " is not the same as "localization.cache="

For production you should use an apache as the gatekeeper and the SSL termination. Then use mod_proxy_ajp to connect to your OpenOLAT server. 

in your olat.properties you should make the following settings: 

server.port=443
server.modjk.enabled=true

Cheers
Florian

Am 10.04.2013 um 21:48 schrieb makal...@gmail.com:

Hi again, I tried to start with blank config file and I'm gettings this excpetion:

21:42:13,581 ERROR ContextLoader:307 - Context initialization failed
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean def
inition with name 'triggerI18nModuleInit' defined in class path resource [org/ol
at/core/util/i18n/_spring/i18nCorecontext.xml]: Could not resolve placeholder 'l
ocalization.cache' in string value [
enabledLanguages=${enabledLanguages}
defaultLanguage=${defaultlang}
fallbackLanguage=${fallbacklang}
applicationFallbackBundle=org.olat
coreFallbackBundle=org.olat.core
overlayName=customizing
overlayEnabled=true
cachingEnabled=${localization.cache}
dropDownListEnabled=true
transToolEnabled=${is.translation.server}
transToolApplicationSrcPath=${i18n.application.src.dir}
transToolApplicationOptSrcPath=${i18n.application.opt.src.dir}
transToolReferenceLanguages=de,en
]

....

I tried to add some properties like enabledLanguages etc, but I'm still getting the same error. 
I just want to run openolat with simple configuration for testing rest api requests.
Only thing I would be more happy is working ssl. Could you provide me some working, most simple configuration file?

Thanks


W dniu środa, 3 kwietnia 2013 18:40:01 UTC+2 użytkownik makal...@gmail.com napisał:
Hi,
I'm using olat rest api, which is on my university server (olat v. 7.2.1.0). I successfully logged in and I can get list of courses, which are visible to me. Now I'm stuck on getting content of any course. I tried many methods described in documentation (http://demo.bps-system.de/olatce/restapibeta/api/doc#d2e2), but none of them gave me content of course. Then I found in this topic: https://groups.google.com/forum/#!msg/openolat/gYnqGaoRy-w/u5IuZKtHCrgJ that I have to use runstructure (/repo/courses/{courseId}/runstructure), but I get 401 (not authorized) error, although when I'm using olat from my browser I can view this course. From the other hand I also tried to download some files from course (/repo/courses/{courseId}/resourcefolders/coursefolder). I can get list of links, but when I'm trying to get some element from this list I get 404 (not found) error.

Any help will be apprenticed,
Best Regards,
Peter

--
--
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google
Groups-Gruppe "OpenOLAT".
Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an open...@googlegroups.com
Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an
openolat+u...@googlegroups.com
Weitere Optionen finden Sie in dieser Gruppe unter
http://groups.google.com/group/openolat?hl=de
-------------------------------------------------------------------------------------------------------------------
OpenOLAT - infinite learning - http://www.openolat.org
 
---
You received this message because you are subscribed to the Google Groups "OpenOLAT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openolat+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Stéphane Rossé

unread,
Apr 11, 2013, 2:21:10 PM4/11/13
to open...@googlegroups.com, makal...@gmail.com
Hi,

I think you have a permission problem on the file system. OpenOLAt cannot write a file in the location: 

/opt/openolat/system

try to fix this issue first. Give the application read write permission on these folders, create the /opt/openolat if needed.

There is a minimal configuration in the OpenOLAT project: olat.local.properties.sample

Best regards
Stéphane

Le jeudi 11 avril 2013 15:21:02 UTC+2, makal...@gmail.com a écrit :
Few hours of trying with config, line by line checking, but it's still huge list of errors. What Am I missing? Is any chance to get minimalistic openolat config file? It's just for me to testing rest apis. 

15:16:07,306 WARN DatabaseUpgradeManager:175 - OLAT::WARN ^%^ N-W4 ^%^ org.olat.upgrade ^%^ n/a ^%^ n/a ^%^ n/a ^%^ n/a ^%^ Error executing alter DB statements:: ^%^ >>>stack of 1.cause::org.olat.core.logging.OLATRuntimeException: Could not write object to file: /opt/openolat/system/installed_database_upgrades.xml -> at org.olat.core.util.xml.XStreamHelper.writeObject(XStreamHelper.java:360) at org.olat.core.util.xml.XStreamHelper.writeObject(XStreamHelper.java:122) at org.olat.upgrade.UpgradeManager.setUpgradesHistory(UpgradeManager.java:171) at org.olat.upgrade.DatabaseUpgradeManager.runAlterDbStatements(DatabaseUpgradeManager.java:112) at org.olat.upgrade.DatabaseUpgradeManager.init(DatabaseUpgradeManager.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1581) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1522)>>>stack of 2.cause::java.io.FileNotFoundException: /opt/openolat/system/installed_database_upgrades.xml (No such file or directory) -> at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:212) at java.io.FileOutputStream.<init>(FileOutputStream.java:165) at org.olat.core.util.xml.XStreamHelper.writeObject(XStreamHelper.java:358) at org.olat.core.util.xml.XStreamHelper.writeObject(XStreamHelper.java:122) at org.olat.upgrade.UpgradeManager.setUpgradesHistory(UpgradeManager.java:171) at org.olat.upgrade.DatabaseUpgradeManager.runAlterDbStatements(DatabaseUpgradeManager.java:112) at org.olat.upgrade.DatabaseUpgradeManager.init(DatabaseUpgradeManager.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Florian Gnägi

unread,
Apr 18, 2013, 9:27:25 AM4/18/13
to open...@googlegroups.com
Sorry, you are doing something wrong. Just checked it, works fine on 8.3.x and 8.4b

/restapi/auth/yourusername?password=xxxx

Then use the X-OLAT-TOKEN you get and add it to the header of the next response: 

/restapi/repo/courses

You will get the course list for this user. Make sure you use the right "Accept" type, e.g. application/xml. 

Cheers
Florian


Am 18.04.2013 um 14:41 schrieb makal...@gmail.com:

I tried to change some settings of created user, even roles and EVEN with administrator role i get 401 error on any other user than default administrator account.

W dniu poniedziałek, 15 kwietnia 2013 17:44:45 UTC+2 użytkownik makal...@gmail.com napisał:
I just wanted to add that when I try to get courses list I get 401 (non authorized error). When I log in in browser I can view list of courses and even enter to them. I also checked the same with administrator acc and it works well. Is it working wrong or I'm missing something?

W dniu piątek, 12 kwietnia 2013 17:45:39 UTC+2 użytkownik makal...@gmail.com napisał:
Thanks, that helped (I also needed to make few additional directories). Everything seems to be working now, I can log in via rest api, but I can't get list of courses (/openolat_835/restapi/repo/courses, the same code worked in olat 7). I remember cookies so session should work after logging in. (it worked in olat 7 :) )

Florian Gnägi

unread,
Apr 25, 2013, 1:05:11 AM4/25/13
to open...@googlegroups.com
Hi

The REST API is just not designed to do that, it needs to be extended. Most course API calls implement only PUT which means it is implemented to remotely create course resource. However, getting the same content is not implemented for most parts. The API is not complete, it is extended whenever we need it. 

What do you want to do? Building an entire new GUI? 

If you want us to implement such functionality, please let me know privately so I can give you a quote. 

Cheers
Florian

Am 25.04.2013 um 01:15 schrieb makal...@gmail.com:

Still can't get through. How to get course content & files using course id? How to do that without administrator?

Hans-Gert Gräbe

unread,
Apr 26, 2013, 1:18:11 AM4/26/13
to open...@googlegroups.com
Hi Florian,

Am 09.04.2013 18:56, schrieb Florian Gn�gi:
> Todays OLAT Campus 5 from BPS has nothing in common with OLAT 7.7 from UZH or OpenOLAT 8.3 besides the fact that several years ago they used to be more or less the same systems. Today, all three variants differ greatly. Courses from one system are partly incompatible to run on the others. Unfortunately for the community we did not find a way to merge the activities outside UZH into one fork although this was subject of discussion for several month after we announced OpenOLAT as a separate project.

I took the opportunity to discuss that matter in more detail with local
people. First, it is hard for me to get reliable information since Uni
Leipzig signed off the treaty with BPS more than a year ago. I met
several people from "AK E-Learning Sachsen"
<https://bildungsportal.sachsen.de/institutionen/arbeitskreis_e_learning/index_ger.html>,
but also they have only a vague understanding of the strategy.

The core of the information is that OLAT Campus is a common project by
BPS, Uni Frankfurt, Uni Hamburg and Virtueller Campus Rheinland-Pfalz to
develop a common e-learning platform as basis for the e-learning
services they offer. I could not really check that, but was wondering
about the role of VCRP, since in my head there is saved a close
connection between VCRP and Holger Strunk, who keeps being active on
this mailing list. And https://olat.vcrp.de runs OpenOlat 8.3.5 (as we
do in Leipzig).

So may be we join forces to collect some crowdsourced information about
that matter?

hgg

Stephan Clemenz

unread,
May 2, 2013, 7:24:11 AM5/2/13
to open...@googlegroups.com
Hi Hans-Gert,
I think it's time to clarify some myths ;-)

At first, we don't know where your information is from ;-) We are not
involved with the project Olat Campus.
The VCRP has financed some developments which were built by BPS, i.e.
some new question types for Onyx and a workflow for online exams. These
developments are certainly parts of Olat Campus, but are also ported to
Openolat. The strategic LMS for the VCRP is Openolat.

Kind regards
Stephan


Am 26.04.2013 07:18, schrieb Hans-Gert Gräbe:
> Hi Florian,
>

Stéphane Rossé

unread,
Jun 6, 2013, 5:03:49 PM6/6/13
to open...@googlegroups.com, makal...@gmail.com
Hi

Never copy back the olat.properties. There are all defaults configurations within. If you copy this file from 8.3 to 8.4, it will miss some new properties and OpenOLAT cannot start.

And most of the time, the first exceptions are meaningful, not the last ones.

Cheers
Stéphane Rossé


Le mercredi 5 juin 2013 16:19:34 UTC+2, makal...@gmail.com a écrit :
Hi again,
I've heard rest api in last version can provide content of courses etc to user so i'm trying to update 8.3.5 to 8.4.2. I've copied configs from 8.3.5 (olat.local.properties, default.properties and olat.properties), but it didn't work. After deleting few values from various xml files I'm stuck on this error:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.util.notifications.NotificationsManager' defined in class path resource [serviceconfig/org/olat/_spring/olatextconfig.xml]: Cannot resolve reference to bean 'userDeletionManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDeletionManager' defined in file [/home/makalele/mag/apache-tomcat-7.0.39/webapps/openolat_841/WEB-INF/classes/org/olat/repository/delete/service/_spring/repoDeletionContext.xml]: Cannot resolve reference to bean 'deletionModule' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.olat.basesecurity.BaseSecurity org.olat.user.UserManagerImpl.securityManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'i18nModule' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Cannot create inner bean 'org.olat.core.configuration.PersistedProperties#1faed15' of type [org.olat.core.configuration.PersistedProperties] while setting bean property 'persistedProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:615)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1049)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:953)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:285)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:285)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
... 119 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDeletionManager' defined in file [/home/makalele/mag/apache-tomcat-7.0.39/webapps/openolat_841/WEB-INF/classes/org/olat/repository/delete/service/_spring/repoDeletionContext.xml]: Cannot resolve reference to bean 'deletionModule' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.olat.basesecurity.BaseSecurity org.olat.user.UserManagerImpl.securityManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'i18nModule' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Cannot create inner bean 'org.olat.core.configuration.PersistedProperties#1faed15' of type [org.olat.core.configuration.PersistedProperties] while setting bean property 'persistedProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:615)
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1049)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:953)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
... 135 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.olat.basesecurity.BaseSecurity org.olat.user.UserManagerImpl.securityManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'i18nModule' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Cannot create inner bean 'org.olat.core.configuration.PersistedProperties#1faed15' of type [org.olat.core.configuration.PersistedProperties] while setting bean property 'persistedProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1120)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:285)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
... 147 more
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.olat.basesecurity.BaseSecurity org.olat.user.UserManagerImpl.securityManager; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'i18nModule' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Cannot create inner bean 'org.olat.core.configuration.PersistedProperties#1faed15' of type [org.olat.core.configuration.PersistedProperties] while setting bean property 'persistedProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285)
... 157 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'i18nModule' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Cannot create inner bean 'org.olat.core.configuration.PersistedProperties#1faed15' of type [org.olat.core.configuration.PersistedProperties] while setting bean property 'persistedProperties'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:121)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1391)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:285)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:891)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:834)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:749)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486)
... 159 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.configuration.PersistedProperties#1faed15' defined in class path resource [org/olat/core/util/i18n/_spring/i18nCorecontext.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:271)
... 174 more
Caused by: java.lang.NullPointerException
at org.olat.core.configuration.PersistedProperties.init(PersistedProperties.java:205)
at sun.reflect.GeneratedMethodAccessor183.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1612)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483)
... 177 more

I didn't even touch this file. Whole error is so long I can't find the beginning.

Please help ;)

makal...@gmail.com

unread,
Jun 17, 2013, 4:49:09 AM6/17/13
to open...@googlegroups.com, makal...@gmail.com
Any chance :) ?


W dniu piątek, 7 czerwca 2013 08:50:37 UTC+2 użytkownik makal...@gmail.com napisał:
Hi,
I reverted default config, after few fixed it's working. Now I can see last resp api documentation. Some methods are new, but still I can't find a method, which can provide me content of course. 

Please help, regards :)

Florian Gnägi

unread,
Jun 17, 2013, 4:05:38 PM6/17/13
to open...@googlegroups.com
Hi 

Did you read this? 


The API can't be used for that. 

Cheers
Florian

Vivek Loke

unread,
Apr 1, 2014, 1:31:53 PM4/1/14
to open...@googlegroups.com, makal...@gmail.com
Reply all
Reply to author
Forward
0 new messages