OpenOlat
OpenOlat is a web-based e-learning platform for teaching, learning, assessment and communication, an LMS, a learning management system. OpenOlat impresses with its simple and intuitive operation.
A sophisticated modular toolkit provides course authors with a wide range of didactic possibilities. Each OpenOlat installation can be individually extended, adapted to organizational needs, and integrated into existing IT infrastructures. The architecture is designed for minimal resource consumption, scalability and security in order to guarantee high system reliability.
Table of Contents
Licensing
With regard to licensing and copyright please refer to the file LICENSE and NOTICE.TXT
Ressources
- Installation
- About OpenOlat
- Mailing list
- Issues
- OpenOlat for the community An OpenOlat instance dedicated to the community
Being a community member
We strongly suggest to participate in the OpenOlat community membership program. Even though this software is free and open source, the development and management has to be funded by someone. If you like what we do and want the product to be maintained and developed in the long run you should consider purchasing a membership: Partner program.
Developers
Setting up OpenOlat in Eclipse
This is an installation guide for developers.
Preconditions
- Check that you are using maven 3.1 or higher (mvn -V)
- Check that you have the git plugin installed in eclipse
- Check that you have git installed
- MySQL 5.6 or greater or PostreSQL 9.4
1. In Eclipse
Create a repository location (https://github.com/OpenOLAT/OpenOLAT.git) and clone the repo. Right click to clone the repository into your workspace.
If M2_REPO Eclipse variable is missing in Eclipse then execute in terminal:
mvn -Declipse.workspace=<location of your workspace> eclipse:configure-workspace
In a terminal, create the eclipse project and classpath settings by running:
mvn eclipse:clean eclipse:eclipse
Refresh the project.
You need now to create an olat.local.properties file somewhere. Copy the
olat.local.properties.sample
to olat.local.properties
in the project root folder, adjust
the file to match your setup. See the comments in the file header for more configuration
options. Right click on the file src/main/java/olat.local.properties
in our eclipse
project to open the file properties and link it to your own olat.local.properties
you created before.
Make sure the project compiled without errors. Warnings are ok. If the project did not compile, you have to fix the problems before you proceed. See Troubleshooting section below.
2. Setting up the database
Prepare database permissions and initialize the database.
For PostgreSQL: please check their PostgreSQL manual how to create a user and database.
For MySQL: create a user 'openolat' and a database 'openolat'
CREATE DATABASE IF NOT EXISTS openolat;
GRANT ALL PRIVILEGES ON openolat.* TO 'openolat' IDENTIFIED BY 'openolat';
UPDATE mysql.user SET HOST='localhost' WHERE USER='openolat' AND HOST='%';
FLUSH PRIVILEGES;
The time zone needs to be set if you don't already defined it.
SET GLOBAL time_zone = 'Europe/Zurich';
Write the OpenOlat database schema to the OpenOlat database. Example for MySQL:
mysql -u openolat -p openolat < src/main/resources/database/mysql/setupDatabase.sql
Optional: if you want to run the jUnit tests, make sure you also create and initialize the
test database that you configured in src/test/profile/mysql/olat.local.properties
for
MySQL or src/test/profile/postgresql/olat.local.properties
for PostgreSQL.
For Oracle:
Oracle support is experimental. The database schema is available and updated for historic reason, however running OpenOlat with Oracle is largely untested. Do not use it for production before you tested the entire application. We are interested in adding Oracle to our list of fully supported and recommended database, contact us if you want to sponsor this compatibility.
3. Setting up the Tomcat server in Eclipse
Setup a tomcat server by clicking on OpenOlat -> Run As -> "Run on Server". The "Run on Server" wizard will pop up and you define define a new server. Look for Apache -> Tomcat v8.0.
Add openolat as web application in the step "Add and remove" and click finish.
Double click the newly created server and increase the timeout to something like 180s.
Open the launch configuration of the server, select the tab Arguments and add these arguments to the VM arguments:
-XX:+UseG1GC -XX:+UseStringDeduplication -Xms256m -Xmx1024m -Djava.awt.headless=true
Open the generated server.xml file and manually set the following parameters:
- In the "Context" element set parameter reloadable="false"
- In all "Connector" elements set parameter URIEncoding="UTF-8"
Option: to use the application server database connection pool configure a jdbc data resource in the "Context" element, set db.source=jndi in the olat.local.properties with db.jndi to the name of the data source like this:
db.source=jndi
db.jndi=java:comp/env/jdbc/OpenOLATDS
Next add the resource descriptor to your tomcat context descriptor.