Giter Site home page Giter Site logo

openolat / openolat Goto Github PK

View Code? Open in Web Editor NEW
290.0 24.0 131.0 515.33 MB

Learning Management System OpenOlat

Home Page: https://www.openolat.org

License: Other

Shell 0.01% Java 87.05% HTML 1.81% XSLT 0.12% JavaScript 9.65% CSS 0.19% SCSS 1.17%
elearning lms java education assessment content lecture teaching training responsive-design

openolat's Introduction

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 and rich feature set.

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.

Visit the OpenOlat project homepage and the OpenOlat documentation for more information.

License GitHub commit activity Twitter Follow Mastodon Follow

Table of Contents

  1. Licensing
  2. Installation manual and user documentation
  3. Community
  4. Developers
  5. Supported by

Licensing

With regard to licensing and copyright please refer to the file LICENSE and NOTICE.TXT


Installation manual and user documentation

The documentation can be found at https://docs.openolat.org

User documentation

Technical documentation

Other ressources


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 and PostgreSQL

This is an installation guide for developers.

Preconditions

  • Check that you are using maven 3.8 or higher (mvn -V)
  • Check that you have the git plugin installed in eclipse
  • Check that you have git installed
  • Check that you have Java 17 installed
  • Check that you have Tomcat 10.0 or 10.1 installed

1. In Eclipse

  1. Clone OpenOlat:
    Create a repository location (https://github.com/OpenOLAT/OpenOLAT.git) and clone the repository. Right click to clone the repository into your workspace.

  2. Import OpenOlat as an Eclipse project:
    In Eclipse, use Import -> Git -> Projects from Git (with smart import) and import the local OpenOlat clone created in the previous step.

  3. Disable validators:

    • Right-click on the project and open the project properties. Then search for Validation. Enable the project specific settings and disable all XML, XSLT, HTML and JPA validators.
    • Right-click on the project and select Validate.
  4. Create the OpenOlat configuration:
    Copy the olat.local.properties.sample in the project root folder to src/main/java/olat.local.properties, adjust the file to match your setup. See the comments in the file header for more configuration options.

  5. Refresh the project

  6. Setup the dependencies and compile

    • When running the first time, right-click the project and select Maven -> Select Maven Profiles.... Make sure tomcat and postgresqlunittests are selected.
    • Right-click on the project and run Maven -> Update Project.
    • 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 PostgreSQL database

Create user openolat and a database openolat

CREATE USER openolat WITH PASSWORD 'openolat';
CREATE DATABASE openolat;
GRANT ALL PRIVILEGES on DATABASE openolat to openolat;

Write the OpenOlat database schema to the OpenOlat database:

\c openolat openolat;
\i src/main/resources/database/postgresql/setupDatabase.sql

Set the DB connection port to 5432 (or the port on which your Postgres DB is running) in your olat.local.properties file:

db.host.port=5432

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/postgresql/olat.local.properties.

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 v9.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 generated server.xml file and manually set the following parameters:

  • In the Context element set parameter reloadable="false"
  • Add a child element Resources and set the maximum cache size to 100000:
  <Context docBase="OpenOLAT" path="/olat" reloadable="false" source="org.eclipse.jst.jee.server:OpenOLAT">
    <Resources allowLinking="true" cacheMaxSize="100000" cachingAllowed="true"/>
  </Context>

You can now start the server and open the following URL http://localhost:8080/olat in your favorite browser. You can log in with user administrator and password openolat.

Have fun, give feedback and contribute!

Option: use application server database connection pool

By default and for your convenience the embedded connection pool is used, you don't need to configure anything. This is fine for simple development setups, but not recommended for production. To be as close as possible to a productive environment it is useful to use the application server connection pool also in the development environment:

First: add the following properties to the olat.local.properties file:
db.source=jndi
db.jndi=java:comp/env/jdbc/OpenOLATDS
Second: add the resource descriptor to your tomcat context descriptor:
<Resource auth="Container" driverClassName="org.postgresql.Driver" type="javax.sql.DataSource"
          maxIdle="4" maxTotal="16" maxWaitMillis="-1"
          name="jdbc/OpenOLATPostgresDS"
          username="postgres" password="postgres"
          url="jdbc:postgresql://localhost:5432/olat"
          testOnBorrow="true" testOnReturn="false"
          validationQuery="SELECT 1" validationQueryTimeout="-1"/>

Alternate databases

MySQL

Note that MySQL is still supported but not recommended and support might eventually come to an end. Use Postgres if you can.

Prerequisites
  • MySQL 8.0 or greater
Database setup

Create 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
Tomcat Setup

Open the generated server.xml file and manually set the following parameters:

  • In all Connector elements set parameter URIEncoding="UTF-8"
Option: application server connection pool
<Resource auth="Container" driverClassName="com.mysql.cj.jdbc.Driver" type="javax.sql.DataSource"
          maxIdle="4" maxTotal="16" maxWaitMillis="10000"
          name="jdbc/OpenOLATDS"
          password="olat" username="olat"
          url="jdbc:mysql://localhost:3306/openolat?useUnicode=true&amp;characterEncoding=UTF-8&amp;cachePrepStmts=true&amp;cacheCallableStmts=true&amp;autoReconnectForPools=true"
          testOnBorrow="true" testOnReturn="false"
          validationQuery="SELECT 1" validationQueryTimeout="-1"/>

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.

Troubleshooting

  • OutOfMemoryException: in Eclipse: setup VM arguments by clicking on Run > Run Configurations > Arguments > VM Arguments and pasting: -XX:+UseG1GC -XX:+UseStringDeduplication -Xms256m -Xmx1024m -Djava.awt.headless=true

  • Optional: create an empty olat.local.properties and save it to /yourTomcatDir/lib (OpenOlat searches for this file on the classpath and /tomcat/lib is part of it). But it should start with just the default config!

  • Usually you will get a timeout exception when you start a new OpenOlat. After double clicking on the server entry you can increase the timeout for the startup.

  • If your tomcat starts very quickly but you cannot access OpenOlat it might be that tomcat did not find the OpenOlat context. Right click the server entry and click publish to inform eclipse about a new or updated context.

  • If you run into problems with classes or resources not found e.g. ClassNotFoundException right click your server config and run the "Clean..." Task to republish all resources. Problems comes mostly when switching from eclipse to console and back with command like mvn clean, or eclipse clean and such. You will always get a clean and working environment when you do the following: Eclipse clean, create eclipse settings with launch, Server publish resources and restart OpenOlat.

  • If you have problems with your postgres database regarding the ownership of the content use these:

    • Set owner for tables of your database:
      • for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" <YOURDATABASE>` ; do psql -c "alter table \"$tbl\" owner to <YOURUSERNAME>" <YOURDATABASE> ; done
    • .. for sequences:
      • for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" <YOURDATABASE>` ; do psql -c "alter sequence \"$tbl\" owner to <YOURUSERNAME>" <YOURDATABASE> ; done
    • .. for view:
      • for tbl in `psql -qAt -c "select table_name from information_schema.views where table_schema = 'public';" <YOURDATABASE>` ; do psql -c "alter view \"$tbl\" owner to <YOURUSERNAME>" <YOURDATABASE> ; done

Eclipse Plugins

For a lean and speedy development setup it is recommended to to use a bare-bone Eclipse installation and only install the following plugins:

  • Data Tools Plattform SQL Development Tools
  • Eclipse Java Development Tools
  • Eclipse Java EE Developer Tools
  • Eclipse Plattform
  • Eclipse Web JavaScript Developer Tools
  • Git integration for Eclipse
  • Javadocs Help Feature
  • JavaScript Developement Tools
  • JST Server Adapters Extension for Eclipse
  • M2E - Maven integration for Eclipse
  • m2e-wtp - Maven integration for WTP
  • Mylyn WikiText

Background (optional for further interest)

There is only one spring context for the whole OpenOlat which you can access via CoreSpringFactory. The context is configured with the files serviceconfig/olat.properies and can be overwritten with olat.local.properties. Changes in olat.local.properties are reflected upon each restart of Tomcat. You can further override OpenOlat settings with JVM arguments -Dmy.option=enabled.

Compress JavaScript and CSS

The JavaScript and CSS files are minified and aggregated. If you make some changes, run the following command to compress them (execution time about 1-2 minutes) and refresh your Eclipse project:

mvn clean package -Pcompressjs,tomcat

Themes

Readme

REST API

To read the OpenOlat REST API documentation:

  1. start OpenOlat
  2. go to Administration -> Core configuration -> REST API
  3. Make sure the REST API is enabled
  4. Click the documentation link in the admin panel

Automated tests

Preconditions

  • Make sure the following ports are not in use (Selenium, Tomcat ) 14444 / 8080 / 8009 / 8089

  • Make sure you have PostgreSQL 9.4 or newer. The server must be at localhost. For other databases see Alternative databases

  • Make sure maven has enough memory. E.g execute the following:

export MAVEN_OPTS= -Xms512m -Xmx1024m
mvn compile -Pdocumentation,tomcat
  • Make sure the tmp directory is writable. E.g. execute the following.
ls -la `printenv TMPDIR`

Setup (necessary only once)

Setup database users and tables in the pom.xml. The default settings for PostgreSQL are:

<test.env.db.name>olattest</test.env.db.name>
<test.env.db.postgresql.user>postgres</test.env.db.postgresql.user>
<test.env.db.postgresql.pass>postgres</test.env.db.postgresql.pass>

You can override them with -D in the command line.

You need an empty database named olattest. The maven command will create and drop databases automatically but need an existing database to do that. Here we will explain it with PostgreSQL.

Create user postgres and a database olattest

CREATE USER postgres WITH PASSWORD 'postgres';
CREATE DATABASE olattest;
GRANT ALL PRIVILEGES on DATABASE olattest to postgres;

Write the OpenOlat database schema to the test database:

\c olattest postgres;
\i src/main/resources/database/postgresql/setupDatabase.sql

When using MySQL or Oracle make sure you are using the right db user as configured in the pom.xml or override them in the test properties file.

Execute JUnit tests in Eclipse

Open the class org.olat.test.AllTestsJunit4org.olat.test.AllTestsJunit4.

Righ-click on the class Run as -> Run configuration. Add your database configuration as VM parameters, e.g.

-Ddb.name=olattest
-Ddb.user=postgres
-Ddb.pass=postgres

Run the tests

Execute JUnit tests on the command line

The JUnit tests load the framework to execute (execution time ca. 10m)

For PostgreSQL

mvn clean test -Dwith-postgresql -Ptomcat

with the options (only required if you don't use the standard settigns from above):

-Dtest.env.db.postgresql.user=postgres
-Dtest.env.db.postgresql.pass=serial

To only run the OpenOlat test suite and exclude the unit tests of QtiWorks, add the following option:

-Dtest=org.olat.test.AllTestsJunit4

Example:

mvn clean test -Dwith-postgresql -Dtest.env.db.postgresql.pass=serial -Dtest=org.olat.test.AllTestsJunit4 -Ptomcat

For MySQL

mvn clean test -Dwith-mysql -Ptomcat

The following options are available to configure the database connection:

-Dtest.env.db.user=root
-Dtest.env.db.pass=serial

For Oracle

Setup manually the user and the database schema. Start with a clean setup, drop the user before create a clean new one.

drop user OLATTEST cascade;

Create the user.

create user OLATTEST identified by "olat00002" temporary tablespace temp default tablespace users;
grant connect to OLATTEST;
grant all privileges to OLATTEST;

Setup the schema with setupDatabase.sql for Oracle and run the tests:

mvn clean test -Dwith-oracle -Dtest.env.db.oracle.pass=olat00002 -Dtest=org.olat.test.AllTestsJunit4 -Ptomcat

Problems with JUnit tests

Don't forget to update the test database schema whenever something changes. The DB-alter files are not automatically applied to the test database.

If you encounter strange failures, it is recommended to drop the database and re-initialize it from scratch. This is also the recommended behavior when the test get slower over time.

Execute Selenium functional tests

The Selenium integration tests start the whole web application in Tomcat 10.1. They run with Google Chrome or Firefox and their WebDrivers will be automatically downloaded (internet connection needed). The browsers need to be installed the standard way on Mac or Linux.

Execution time ca. 60 - 90m

For PostgreSQL:

mvn clean verify -DskipTests=true -Dwith-postgresql -Dtest.env.webdriver.browser=chrome -Dtest.env.webdriver.browserVersion=102.0.5005.61 -Dtest.env.webdriver.chrome.version=102.0.5005.61 -Dtest.env.db.postgresql.pass=serial -Ptomcat

Or with Firefox

mvn clean verify -DskipTests=true -Dwith-postgresql -Dtest.env.webdriver.browser=firefox -Dtest.env.webdriver.browserVersion= -Dtest.env.db.postgresql.pass=serial -Ptomcat

For MySQL:

mvn clean verify -DskipTests=true -Dwith-mysql -Ptomcat

Execute a single Selenium functional integration test in Eclipse

First build the application without tests as before

mvn clean verify -DskipTests=true -DskipSeleniumTests=true -Ptomcat

Run single test as JUnit Test in Eclipse

Supported by

This software is developed and maintaned by frentix GmbH, a Switzerland based company specialized in e-learning services:

This software is supported by the following tool vendors:

openolat's People

Contributors

aschne avatar damnmiri avatar gnaegi avatar heooony avatar lainsr avatar lexanred avatar melkor0 avatar moritzjenny avatar pfranger avatar sumitka avatar swissclash79 avatar tomgross avatar uhensler avatar yvmeis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openolat's Issues

Back button not working

There seems to be no consistent behavior of the back button in OpenOlat. Sometimes it works as expected, sometimes the login page is shown and sometimes a browser error occurs. I have nt added any plugin in my browset

What I did:
Do some various actions in OpenOlat
Click Browser "Back" from time to time.
What I expect to happen:
Always go to recent page.

What actually happened:
Sometimes it works as expected, sometimes the login page is shown and sometimes a browser error occurs

REST API endpoint for fetching course elements

Hi,
I created a structure course element on repo/courses/:courseId/elements/structure
But it seems there is no endpoint to get a list of elements for a course.

Am I missing something? Kindly help.

LDAP users sync user status

How to sincronize user status from LDAP to OpenOlat, which atributes we must match in configuration file?
LDAP user status atribute is "useraccountcontrol"

The goal is if a user is disable in LDAP it should have the status "Disable" in OpenOlat.

Usability issue: Too much validation on preview form

BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)

In preview mode test elements are validated unnecessarily. If you try the element you have to "save" it first in order to continue.

What I did:

  1. Create a QTI 2.1 Test with a single choice question
  2. Go to "Preview" tab
  3. Click one option.
  4. Click another tab.

What I expect to happen:

Tab is switched immediately.

What actually happened:

Form validation is triggered and a warning appears.
oo_form_preview

What version of OpenOlat I am using:

OpenOlat 13.0.0b8 (master)

How to setup openolat with oracle db

I have created all the tables and view in my oracle db for olat and also added db credentials in the olat.properties file. I am getting the error "Could not load JDBC driver class [oracle.jdbc.driver.OracleDriver"
What all files we need to change to make it work with oracle db

Keycloak configuration in tomcat/lib/olat.local.properties is not used

Hello,
we try to configure Keycloak oAuth using olat.local.properties file. We copy and set some of the options from openolat_1624/WEB-INF/classes/serviceconfig/olat.properties to tomcat/lib/olat.local.properties

oauth.keycloak.enabled=true
oauth.keycloak.root=true
oauth.keycloak.client.id=OIDC-CLIENT-ID
oauth.keycloak.client.secret=OIDC-CLIENT-SECRET
oauth.keycloak.endpoint=https://OIDC-SERVER/
oauth.keycloak.realm=OIDC-REALM

After tomcat restart, there is still native OLAT login without cloud login.

If we insert the

oauth.default=true

option, then even native OLAT does not work, the login window show no username and passwort inputs and no login button. Only one white line (see the screenshot olat-no-login ).

If we configure Keycloak in the admin webgui, it works perfect.

The configuration from webgui is probably saved in olatdata/system/configuration/org.olat.login.oauth.OAuthLoginModule.properties. We wanted to compare the configuration in org.olat.login.oauth.OAuthLoginModule.properties with our our configuration in olat.local.properties and verify if our manuall configuration is correct, but the file org.olat.login.oauth.OAuthLoginModule.properties is encrypted.

Could you please give us any hint, what is incorrect with our configuration in olat.local.properties file?

Does openolat read and process the file olat.local.properties correctly? Is maybe problem that the olat.local.properties configuration is not encrypted?

Thank you very much.

Regards,

Robert Wolf.

content path of tomcat for Openolat

Hi Team,

I have deployed openolat-lms-15.5-SNAPSHOT.war in external tomcat and set require VM parameter into ~bin/setenv.sh file
but once we start the tomcat server then not able to fetch result from below URL

http://localhost:8088/openolat
or http://localhost:8088
Getting 404 error from tomcat

but I have hit below URL then start working
http://localhost:8080/openolat-lms-15.5-SNAPSHOT/

Is there any property we are missing if yes please suggest

One more issue getting after deployment , please suggest if any things have to add.

19:21:32.164 [main] ERROR org.olat.core.util.WebappHelper - Path to source wrong, debugging may not work as expected:
java.lang.Exception: getSourcePath
at org.olat.core.util.WebappHelper.getSourcePath(WebappHelper.java:242) ~[classes/:15.5-SNAPSHOT]
at org.olat.core.gui.render.velocity.VelocityHelper.init(VelocityHelper.java:88) ~[classes/:15.5-SNAPSHOT]
at org.olat.core.gui.render.velocity.VelocityHelper.(VelocityHelper.java:65) ~[classes/:15.5-SNAPSHOT]
at org.olat.core.gui.render.velocity.VelocityHelper.(VelocityHelper.java:54) ~[classes/:15.5-SNAPSHOT]
at org.olat.core.gui.render.velocity.VelocityModule.init(VelocityModule.java:65) ~[classes/:15.5-SNAPSHOT]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]

Thanks
Punit Porwal

openolat integration with oracle

I have created all the tables in the setupdatabase.sql file. in our case auto db updrade is not possible since db is maintain by seperate team we cannot exceute ddl statements with our user..
what all "alter*." sql files we need to run for proper working of openolat application. configutation wise i have done all the changes.
Please help me on this

how to develop based on openolat???

hi there.
I am a company employee. Recently, we are currently researching openolat. We don't know much about the architecture, and there are very few documents about openolat. I would like to ask, do you have relevant technical documentation about openolat, it will be kind if you send it to my gmail. Here is my email address. Anywany ,thank you a lot!!!!!
[email protected]

Storing data in common storage

we are planning to deploying the application in 2 machines for the fail over purpose.
can we store the userdata.dir path to to common path. I got some issues when we are deploying the application with 2 different user directory path.

Or is there any other way to store the data in aws

Unable to delete the Curriculum

Not able to delete Curriculum. when clicking on the delete button. Its showing "Deleting the curriculum option not implemented"

Solution does not unfold on iPhone

BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)

On iPhone Browsers the folded solution does not unfold if you click/push on the link. It seems to be an IOS specific issue. The unfolding works on a small viewport on a desktop Firefox.

What I did:

  1. Create a QTI 2.1 Test with a single choice question (Test Option "Show solutions" is ON)
  2. Do and finish the test
  3. Push on "Solution"

What I expect to happen:

Solution is folded out.

What actually happened:

Nothing

oo_solution

What version of OpenOlat I am using:

OpenOlat 13.0.0b8 (master)
IOS 12.0.1
Safari / Firefox / Opera Mini (all the same behavior)

Coaching tab not showing any user

When clicking on th coaching section in the navigation panel it's not showing any user. I have enabled coach in the administration. I am using postgres as my db. And also one more issue is in some pages back breadcrumb link is not working.
IMG_20190827_110515

java.lang.ClassNotFoundException: org.olat.restapi.security.RestApiSessionListener

Env:
Device: Windows10
Tomcat: v8.0
JDK: 1.8.0_221

What I did:

  1. Follow the guide finish set-up step1.2.3.
  2. ClassNotFoundException.
  3. Clean the project & tomcat(I also have tired mvn clean)
  4. Re-build this project.
  5. ClassNotFoundException, and I can't see any file in target/classes

What I expect to happen:
Fix the ClassNotFoundException.

What version of OpenOlat I am using:
OpenOlat master

Error in eportfolio link under evidence of achievement link in user profile

When clicking on the eportfolio link under evidence of achievement in profile
Path
Profile-evidence of achievement-eportfolio
It is displaying a pop up window on saving the form I am getting an error.
Error is null constaint error
Cannot insert null into O_PF_MEDIA.P_BUSINESS_PATH. Y it's inserting null values to this column

Unknown CSS properties

User session is not managing properly

After successful login when clicking on the browser back button it's getting redirect to login page. How to restrict this. Even if a valid session exist it should not redirect to login page.

After I imported OpenOLAT into IntelliJ IDEA and configured, bug appeared. The program could not run.

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'noteManager': Unsatisfied dependency expressed through field 'dbInstance'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.olat.core.util.WebappHelper' defined in class path resource [org/olat/core/util/_spring/utilCorecontext.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanInitializationException: System startup aborted to to file system missconfiguration. See previous warnings in logfile and fix your Java environment. This check can be disabled by setting enforce.utf8.filesystem=false, but be aware that the decision to use a certain encoding on the filesystem is a one-time decision. You can not cange to UTF-8 later!

Why is that?

restrict displaying port name in external url

We have deployed the application and have a domain name for the application.
But for some pages port number is appended to the domain name for that external links and the links are not accessible due to the port name
how to remove port number from the domain name

for the external links displaying as below
https://domainname :port no
we have disables server port option in the property file then after the application is not running
Pls help me on this

Browser back button behaves inconsistently

BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)

There seems to be no consistent behavior of the back button in OpenOlat. Sometimes it works as expected, sometimes the login page is shown and sometimes a browser error occurs.

What I did:

  1. Do some various actions in OpenOlat
  2. Click Browser "Back" from time to time.

What I expect to happen:

Always go to recent page.

What actually happened:

Sometimes it works as expected, sometimes the login page is shown and sometimes a browser error occurs.

What version of OpenOlat I am using:

OpenOlat 13.0.0b8 (master)

Browser specifications for running automatic acceptance tests

I've seen failing OpenOlat Selenium acceptance tests with the newest version of Firefox (72.0.2), which pass on the ESR build (68.4.2esr) on my Mac. My geckodriver version is 0.24.0.

  • What are the recommended version of Firefox and Chrome together with geckodriver and chromedriver to run the Selenium acceptance tests?
  • Are there any other browsers the Selenium tests run on?

Set environment instead of local

Hi Team,

I have tried to set env. value from ~/bin/setenv.sh is QA using below spring properties but seems it is still not pick olat.qa.properties file and still taking olat.local.properties file
-Dspring.profiles.active=qa
Could you please suggest any other way we have to set env as qa/prod/uat instead of only local

Let me know if you will require more input.

Thanks
Punit Porwal

Clicking Log Out doesn't log you out

This is happening on olat.zhaw.ch

Steps to reproduce:

  • Log in
  • Click Log out
  • Click log in again

And you are back in. This could be a security issue if used on a publicly accessed computer.

Open olat Video tutorials

Do we have any video tutorials available in any of the sites.
Installation wise i have completed every thing
it would be helpful for us to easily setup application.
need helps on
role management.
curriculam creation
course creation

Javascript files not loadable

Hello,

currently I try to install OpenOlat on my Raspberry Pi and basically it works but when I visit the webinterface I got every time the messages that my browsers (firefox, opera) cannot load the required javascript files. The error messages are 404 but the browser says that the files cannot load because the HTTP Header option "X-Content-Type-Options" is wrong (value: nosciff). Even when I disable this Option the errors are still there.

My installed version is 14.2.8.

Hope for help.

Best Regards,
BlackRose01

Opera error description:
js_error

Firefox error description:
firefox_error

Documentation doesn't match current software

Dear Developers,

I tried to deploy OpenOlat within a tomcat 8 environment. Unfortunately all docs provided refer to OpenOlat version 10.x which seems to be far away from the current 14.1 version.

Can you please provide a more recent documentation with an additional focus on deployment, rather then running OpenOlat within eclipse.

I also really like to contribute to docs, if I'm able to operate and understand the OpenOlat current state of art :-)

Thanks in advance,
a.

openolat_1612 war deployment - Application at context path [/openolat_1612] could not be started

I am trying to deploy the latest openolat_1612.war file using the Apache Tomcat GUI on Parabola GNU/Linux-libre (Arch linux variant), and I am getting the following error:

openolat-deployment-could-not-be-started

Using the following software versions:

  • Apache Tomcat/10.0.15-1
  • OpenJDK 17.0.1+12
  • PostgreSQL 13.4.6

I had updated /var/lib/tomcat10/webapps/manager/WEB-INF/web.xml to allow 200 MB upload file size:

    <multipart-config>
      <max-file-size>209715200</max-file-size>
      <max-request-size>209715200</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
  </servlet>
  1. Please advise on how to resolve the same.
  2. The following instructions, https://www.openolat.com/fileadmin/adminwiki/_START_.html, require to create a separate /home openolat user. I was able to install Tomcat, OpenJDK and PostgreSQL on the test system. If you can provide OpenOLAT instructions to deploy using the system-wide installation instead of /home/openolat, it will be helpful.

Thank you!

Help

Dear Developers,
After openolat is deployed locally, the following error message appears on the orders page in coaching

  >>>>>>>>>>>>>>>>>>>>>>>>>> component segmentCmp could not be found to be rendered!  

  please how can i solve it

Uploading video in podcast course module fails

Trying to upload a video in the podcast course module always results in an error:

Learning resource could not be added. Either its format or its version is not supported by OpenOlat.

Screenshot 2020-06-06 at 08 08 33

Versions I'm using:
OpenOlat 14.1.7 & OpenOlat master
PostgreSQL 11.7
AdoptOpenJDK - build 1.8.0_242-b08

Here is a selenium Test illustrating the issue: tomgross@12d48a3

Error in starting

dear developers:
I downloaded this project today and configured it according to the regulations, but an error was reported after startup:
"Security framework of XStream not explicitly initialized, using predefined black list on your own risk."
and when i visit http://localhost:8080/olat , it was 404 error.
could u help me what should I do?

does openolat support SAML Authentication

Hi Team, could you please confirm if Openolat can able to use SAML Authentication (Security Assertion Markup Language)
if yes, where and what kind of properties have to change.

Usability Issue: Usage of "Save" button is inconsistent

BUG/PROBLEM REPORT (OR OTHER COMMON ISSUE)

The usage of the "Save" button (in administration forms?) is inconsistent. While some option pages have it other lack it.

What I did:

  1. Go to Adminstration -> Login -> SMS (no "Save" button)
  2. Go to Administration -> Login -> Self registration ("Save" button)

What I expect to happen:

The "Save" button is consistently there or not. (I prefer if it is not there and the user is informed that the changes have been saved by a short visible popup which goes away by itself.)

What actually happened:

Some option pages need to be explicitly saved with a "Save" button while others are save transparently (without a notice).

With "Save" button
oo_save_button

Without "Save" button
oo_no_save_button

What version of OpenOlat I am using:

OpenOlat 13.0.0b8 (master)

Bug: bulk assessment does not work with individual feedback files

Dear OpenOLAT devs,

We use OpenOLAT 15.3.3 in german, so the names I use for the buttons might be a bit off. I made a bulk assessment as per this website. After it didn't work the first time, to reproduce my problem I created a new task, had a student upload a dummy submission, started a bulk assessment, entered a table with 0 points and uploaded a zip file with a feedback file for the respective student. After that I clicked "immediately perform assessment".

Assigning points works fine. The feedback files were recognized, namely the # files column shows 1 for the respective students. Also during the step "Check Data / Daten überprüfen" it says "Check successful / Überprüfung erfolgreich". See the screenshot below.
massenbewertung-kaputt

However, when checking the students task pages the feedback files do not appear. Neither myself nor the students can access them. I might have done something wrong, but then I'd expect an error message.
korrektur-nicht-vorhanden

Update: I just double-checked the first task where I tested the bulk assessment several times. There a test file I used for the bulk-assessment appeared. Could it be that the file only appears with a delay?
korrektur-vorhanden

Feature request: Upload corrections for all students at once

Dear Dev team,

I can download submissions of all students for a task at once by clicking on the task and then clicking "Alle abgegebenen Dokumente herunterladen" ("download all submitted documents").

I would like to be able to somehow upload the corrections for all students at once. Off the top of my head I'd suggest the following. When I download the submissions into a folder submission, I see that, for a students student for whom I already uploaded corrections, OpenOLAT creates subfolders submission/student_folder/3_corrections/. I could for example create those subfolders myself, put the corrections in there, and then upload a zip archive of submission.

When I need to upload corrections for, 40 students say, for every single one I have to click through a few dialogues, each time waiting for the next dialogue to load, and at the end wait for the corrections to finish uploading. That easily takes half an hour or longer each week during the teaching term.

REST API call to get access configuration

Hey there,

with Olat v12.5 as an author it is possible to create course elements via REST API, e.g. with
/repo/courses/{courseId}/elements/singlepage
and afterwards you can publish the changes with
/repo/courses/{courseId}/publish?locale&access&membersOnly

My Question is if you can get the access code, the one you send with the publich call, via a GET call?
So before I publish a course again, I want to ask for the access configuration which is set before.

How to map a user to any existing organization?

I don't see any option for the admin to map users to organizations. Once the user is created, it is getting created under default organization - OpenOLAT. I need to create users under various organizations, of different types. Could you please help here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.