# OpenOLAT

OpenOLAT is a web-based learning management system for teaching, education, assessment and communication. The name OpenOLAT stands for Open Online Learning And Training, highlighting its open source and online nature. OpenOLAT is open source software and is being developed by frentix GmbH starting in 2011. OpenOLAT is based on the LMS OLAT developed by the University of Zurich.

## History

OpenOLAT originated from the open source project OLAT. In 2011, the University of Zurich initiated a massive refactoring project with the goal of redesigning the complete code base and switching to the Mercurial version control system. With the start of the refactoring, repository access for contributors from the OLAT community was revoked, making further contributions impossible. Since then, the OLAT developers practice open source only in the form of publishing finished source code, but lack any kind of community involvement. Because of these changes to OLAT, the OpenOLAT fork was initiated in 2011. OpenOLAT is an alternative to OLAT that follows an open development process and encourages community involvement. The initiator of this new project is frentix GmbH, a spin-off of the University of Zurich, which was founded by one of the founders of OLAT and which provided commercial services for OLAT up to 2011. Since frentix was founded in 2006, the company has contributed major features to the OLAT code base and was responsible for a large part of the bug fixing.
For commercial customers, frentix provided OLATpro until the end of 2011, which contained features that were not a part of the public release. With the inception of OpenOLAT, many of the frentix features from the pro OLATpro release were ported to the public OpenOLAT open source release.
In 2020, OpenOlat integrated open source editors from OnlyOffice to allow members to collaboratively edit text documents, spreadsheets, and presentations online.

## Releases

Updates are released regularly, which not only improve the interface, but also introduce new features.
In release 8.2, the group management system was significantly improved. Release 8.3 added the OpenMeetings integration, and release 8.4 brought major changes to the chat infrastructure while also improving the performance and stability of the whole system.
Release 9.0 replaced the JavaScript framework ExtJS with the more light-weight jQuery, for which the whole JavaScript layer was refactored. In addition, the question pool was introduced, which allows collaborative creation and sharing of test questions.
Version 10.0, includes a complete redesign of all visual aspects of OpenOLAT. The introduction of a responsive design paradigm based on Bootstrap makes OpenOLAT ready for mobile devices and small screen sizes. Also, the learning resources were divided into separate areas for learners and authors, making them more intuitive and easier to use.
Release 11.0 has completely revised the test infrastructure and changed to the IMS QTI 2.1 format. Furthermore, the eAssessment was expanded on various levels. In addition, a new portfolio was implemented.
OpenOlat Release 14.0 brought changes to the file system, which allowed the integration of different document editors, as well as enhancements to the administration. A new course element "Livestream" was implemented, and older course elements were also improved.
Release 15.0 introduced an easier way to learn through the new "Learning Path"; one of several improvements that enhanced the interface. In addition, new course elements were added, such as "BigBlueButton". For more privacy, the option to activate a privacy policy, as well as terms of use, is now available.
Release 16.0 brought the 3G Covid certificate, as well as several revisions, such as a display of test durations in the eAssessment section. A new copy wizard for learning path courses was implemented. There have also been added personalization options, as well as usability and interface enhancements.
Release 17.0 brings with it the new course element "Practice", as well as further revisions to task elements and folder components. With Catalog 2.0, "Search and Filter" is now improved as well. For certain organizations, the revised sharing and posting configuration might be exciting. Since this release, new OAuth login providers are supported and Zoom has also been added to the list of video conferencing tools.
The 18.0 release introduces the "Projects" section as well as the Media Center and Badges. Old course elements have been improved and new ones have been added, such as "JupyterHub". The quality management module was also improved. In the UX / Usability section, many updates were implemented, as well as accessibility improvements making the orientation more coherent. Thanks to "Passkey", logging in has become even more uncomplicated.

## Features

OpenOLAT offers a lot of features for learners and teachers. A set of building blocks allow teachers to create courses using a variety of didactic methods while incorporating communication, collaboration and assessment. More learning resources and tools are available outside of the course system. Learning resources can also be made available to non-registered users, so-called guests. Using different booking methods, courses can also be made available at a cost.
OpenOLAT contains many elements typical for learning management systems:
* Learning Content Management System: Create and manage learning content using integrated editors for HTML, IMS CP and IMS QTI
* Courseware: Course system providing a variety of building blocks and fine-grained rules for visibility and access
* Personal Learning Environment: Learning, assessment including evidence of achievement, personal notes
* Groupware: Work in learning groups, using collaboration tools like a wiki, a forum, shared folders, and more
* Course catalog
* Resource folder with document versioning
* Coaching feature with logs
* Assessments and self-tests with different question types, surveys
* Task module and topic assignment
* WYSIWYG HTML editor
* Internationalization: OpenOLAT is translated to more than 15 languages
* User management, with import features
* Role and rights management
* Supports most browsers (Firefox, Chrome, Safari, Internet Explorer)
* Integrates with existing systems, via REST API, LDAP, oAuth, Shibboleth, BigBlueButton and Zoom

### Courses and learning resources

The course system is the central element in OpenOLAT. It is separated into areas for learners and authors. Users with author roles can create and manage courses and learning resources in the authoring environment. Using the various learning resources, many different learning scenarios can be represented in the integrated course editor, including areas for cooperation and collaboration. Learning resources can be created or imported, and can be integrated into one or even multiple courses by creating a reference. Changing a referenced learning resource changes it in all places where is used.
The following learning resources are available in OpenOlat:
* Courses: The OpenOlat course is a container format and OpenOlat's own document type. The course allows to map different didactic scenarios through the course editor, in which any number of course elements and learning resources can be integrated.
* CP-Lerninhalt: IMS Content Package, short IMS CP, is a learning content in a standardized e-learning format. An IMS CP can either be created in your own CP editor or imported. OpenOlat supports the IMS CP version 1.1.2.
* SCORM: Sharable Content Object Reference Model, another standardized e-learning format for learning content. Any version 1.2 SCORM modules can be imported into OpenOlat.
* Wiki, Podcasts and Blogs
* Portfolio template: Portfolio templates are integrated into courses as portfolio tasks. Thus, learning outcomes and learning processes are documented.
* IMS-QTI-Tests: Tests can be included in OpenOlat as exam tests or as self-tests. Tests in IMS QTI 2.1 format can either be imported or created in the test editor.
* Ressource folder: Resource folders are used to store documents and files that are either to be available in different courses or to be included as folders in the catalog.
* Glossary: A glossary can be used to display explanations of terms in learning content without including them in the learning content itself.
* Forms: In order to collect data, it is made possible for course owners to create surveys with forms that participants can fill out anonymously.
* Video: Videos can be imported from the Internet through links or as .mp4 files. You can configure them and add quizzes, annotations, jump tags and subtitles to them.
* Others: In OpenOlat there are other file types that can be imported, such as PDF, PowerPoint, Excel and Word files, as well as image, music and animations. Word, Excel or PowerPoint files can be created directly in OpenOlat as a learning resource.

### Tests and assessment (eAssessment)

Tests in OpenOLAT are used to quiz participants and to prepare them for final exams. Tests can be created and managed in the authoring environment or directly in the course editor. They can either be imported or created using the built-in QTI test editor. OpenOLAT supports the IMS-QTI format, version 2.1. Version 1.2 was definitely discontinued with the release of OpenOlat 16.0. The forms learning resource is useful for surveys. With the assessment tool and the test statistics, tests and questionnaires can be evaluated.
* Different types of tests and tasks: Test, Self-test, Survey, Portfolio task, Task, Video task, Group task
* Different question types: Multiple Choice, Single Choice, Gap text (with dropdown), Kprim, Essay, Match, Drag&Drop, Hottext, Hotspot, Upload file and Drawing, True/False
* Test questions: Question pool and randomized order; Feedback options
* Editing options can be set: Time allowed for completion, allowed attempts, note function; allow cancellation or interruption
* Time limit can be set
* Display options in the course: Full screen, menu navigation on/off, question display, result display
* Result evaluation per test and per user including export
* Graphical test evaluation with key figures and bar charts

#### Evaluation mode

The exam mode in OpenOlat is a course functionality that allows to run tests or exams with whole courses in protected mode during a specified time. Exams can be restricted to specific user groups. Exam security can be increased by means of restrictions on IP addresses. The exam can be performed in kiosk mode if it is mandatory to use the Safe Exam Browser for the exam.

#### Question bank

The question pool in OpenOlat is a database of individual test questions, so-called items, usually in QTI format. Each item contains all associated information and metadata captured and compiled according to the Learning Objects Metadata. Items are exported in groups from the question pool and made available as an OpenOlat test learning resource. Each item not only contains the question and the corresponding answers, but also information about e.g. author, date of creation, keywords, but also characteristic values for the item analysis can be added. Items can be imported either as learning resources or external XML files, or created directly in the question pool. Sharing in groups or pools allows test authors to work collaboratively on items and tests.
* Test independent question creation
* Different question types
* Reusability of individual questions
* Import and export of tests

### Coaching, collaboration and communication

Through the role based authorization system in OpenOLAT, coaches can assigned to courses, groups, or individual users. Social tools like blogs, forums, wikis, podcasts, shared folders, mail, and chat enable communication and collaboration between OpenOLAT users. Groups can be used for projects independently from courses, and can be created by learners themselves, depending on the system configuration.

#### Coaching

Role assignments in groups and courses allow participants to be assigned to owners (course) or coaches (group and course), giving them access to the assessment tool and track records. While owners always have full access to all administrative tools of the resource including member management, coaches have somewhat limited access only after the learning resource has been published.
* Coaching tool: Coaches get an overview of all users assigned to them as well as access to their performance records in one tool.
* Learning resource view: Coached courses
* Assessment tool: With this, course participants are assessed and evaluated. All assessable course elements (Test, SCORM, Task, Assessment, Portfolio task, Check lists) can be assessed manually here
* Enrollment: With the help of the course element enrollment the number of participants of a course can be limited, with and without waiting list
* Subscription function for new posts e.g. in Wikis, ePortfolio, File discussion, Blogs
* Statistics tool

#### Collaboration

In addition to the group system with the optional link to one or more courses, various course elements are available within the courses that allow collaborative work:
* Groups with different tools: Information, E-Mail, Participant calendar, Folder, Participant chat, Wiki, Virtual room and ePortfolio
* Course elements Wiki, Forum, Virtual Rooms (vitero, OpenMeetings, BBB, Zoom and Virtual classroom) and Topic assignment
* Buddy List – Display of online contacts from groups
* File versioning

#### Communication

In addition to the integrated mail system, other communication functions are available for establishing contact:
* Chat – OpenOlat, Course and Group, with Buddy List
* Subscription function for new posts e.g. in Forums, Wikis, Blog, Folder and Calendar
* Course elements vitero virtual team room (commercial add-on software), Virtual classroom, OpenMeetings and list of participants as gallery

### Personal Learning Environment

OpenOLAT supports different visibility and access rules to courses and other learning resources based on user roles and groups, as well as the curricular use of the learning resource catalog, a user-specific representation of courses and the learning platform itself.. The OpenOLAT Portal is the personalizable start page for users.

#### Learning

Courses and assignments can be customized in appearance, content as well as e.g. delivery dates to the individual user. Visibility and access modifiers can be made dependent on time, groups, or previous achievements. So-called expert rules allow fine-grained control over which users have access to which learning resources.

#### Personalization

OpenOLAT has a customizable portal page, that users can personalize and adjust to their liking. Several portlets can be individually displayed and configured. Further personal tools and settings are found in the extendable personal menu.
* Configuration: Edit personal profile and public profile (business card) (incl. picture), set system settings, e.g. language and font size, change password, set chat settings, e.g. visibility
* Personal calendar, into which OpenOlat-internal as well as external calendars like Google or Outlook calendars can be imported
* Subscription management of all OpenOlat subscriptions. Can be displayed as RSS feed in popular newsreaders
* OpenOlat bookmarks
* Collected notes from courses
* Display of all performance records
* Mailbox
* ePortfolio-Module: Portfolio assignments from courses and private portfolio folders are edited and managed here. Shared portfolios of other users are also viewed and commented here.

### Authoring – course editor, CP editor, test editor

OpenOLAT has its own authoring environment, in which courses, learning resources and course elements are combined into e-learning courses. This environment allows easy management of all courses and learning resources. Courses have their own course editor for course-specific resource management and configuration. Courses are shared among OpenOLAT instances in a zip file.
* Course wizard
* Course-specific layout, including preview image
* Supported e-learning standards: IMS Content Packaging, IMS QTI, SCORM
* Links to course elements, library and external sources
* Metadata and versioning
* Finely adjustable visibility and access rules per course element as well as access groups and methods on course level
* Glossaries
* WYSIWYG editor to easily import images, video, and audio
* Editing documents, spreadsheets and presentations in ONLYOFFICE
* Publishing: Changes to a course only become visible once they have been published. Each course element can be published individually as desired
* Course preview: Courses can be previewed before publishing using different user settings

#### Integrated IMS-CP and QTI editors

OpenOLAT contains its own content packaging and test editors, which create IMS content packages and QTI tests. CPs and tests created in OpenOLAT can be easily exported and imported into other LMS, that also support these standardized formats.

#### System administration

System administrators manage OpenOLAT in the administration tab. There, the default language can be set, the layout can be changed, quota and versioning settings can be adjusted, and many other settings can be changed to adapt the system to a variety of use cases.
* Payment with PayPal
* Connection and integration via REST-API
* Authentification options: LDAP and Shibboleth
* Automatic password sending
* Translation tool to translate OpenOlat into new languages or to adapt existing languages
* Self-registration, access control and PayPal configuration
* Table configuration
* User management: Create, import, customize and delete users; customize data of multiple users at the same time with the mass change feature
* Group management: Set up and manage cross-course groups
* Logging: Everything can be logged and checked
* System monitoring: Active monitoring of system availability and measurement of key performance indicators

#### LTI Integration

OpenOlat supports the IMS LTI standard in version 1.1 and since OpenOlat 15.5 also in version 1.3. This allows any external tools to be integrated into OpenOlat. In version 1.3, both the platform and tool aspects have been implemented in OpenOlat. This means that not only can external tools be integrated into an OpenOlat course, but conversely, entire OpenOlat courses or groups can be integrated into other systems.

#### frentix plugins

In addition to the features contained in the public release, frentix offers some custom features to its customers. Some of these have already been discussed in the previous text.
* Payment: Payment options for courses, like PayPal or credit card payment.
* Library: Which is offering document management features that is completely separate from the course system.
* Members page: Which lists all users and has search tools. Can also be used for users who are not user administrators.
* Course database: Extra settings of courses can be edited and saved via REST API.
* Admin consoles: Which simplify the management of admin features and settings.
* QTI test statistics: Which allow tests in courses to be evaluated.

## Awards

* Open Source Award 2011 in the category "Business Case"
* eLearning-Award of the E-Learning-Journal 2012 in the category "Open Source"
* Product test by the E-Learning-Journal 2012 in the category Learning Management System. Grade 1,5
* eLearning-Award of the E-Learning-Journal 2013 in the category "Open Source"
* Innovationspreis-IT 2014 (Innovation price IT 2014) of the Bundesverband IT-Mittelstand e.V in the category "E-Learning"
* Product test by the E-Learning-Journal 2015 in the category Learning Management System. OpenOlat 10.3 achieves the grade "Sehr gut" (Very good)
* "Anbieter des Jahres 2015"-Award ("Service Provider of the year 2015"-Award) of the eLearningCHECK in the category "Learning Management Systems"
* "Anbieter des Jahres 2017"-Award ("Service Provider of the year 2017"-Award) of the eLearningCHECK in the category "Learning Management Systems"
* 22. Comenius-EduMedia-Siegel für digitale Bildungsmedien (22. Comenius-EduMedia-Signet for digital education media) in the category "LMS – Lern- und Lehrmanagementsysteme" (LMS – Learn Management Systems)
* eLearning-Award of the E-Learning-Journal 2018 in the category "Seminar management"
* "Anbieter des Jahres 2018"-Award ("Service Provider of the year 2018"-Award) of the eLearningCHECK in the category "Learning Management Systems"
* eLearning-Award of the E-Learning-Journals 2019 in the category "eTesting"
* eLearning-Award of the E-Learning-Journals 2019 in the category "Erwachsenenbildung" (Adult Eductation)
* Comenius-EduMedia-Siegel 2022 für digitale Bildungsmedien (Comenius-EduMedia-Signet 2022 for digital education media) in the category "Mutter- und fremdsprachliche Bildung" ("Native and foreign language education")

## Technical specifications

OpenOLAT is written in Java on top of the Servlet interfaces and runs on Windows, Mac OS X and Linux environments, typically on a Tomcat installation. It is developed and distributed under an Apache 2.0 open source license. UTF-8 support is built in, and well-known databases like MySQL and PostgreSQL are supported. SSL is used to secure all data transactions with OpenOLAT.
Due to historical reasons, OpenOLAT uses its own component-based MVC application framework. Hibernate is used as a database abstraction layer, Spring is used for configuration, Maven is used to support the build process, and Mercurial is used as revision control system. The user interface is written in HTML, CSS and JavaScript, and the built-in Ajax mechanism allows only those parts of the page that have changed to be refreshed.