Feature Wiki
Tabs
Required and Supported Software ILIAS 9
Page Overview
[Hide]- 1 Required Software Versions
- 1.1 PHP
- 1.2 PHPUnit
- 1.3 Composer
- 1.4 DBMS
- 1.5 HTTP Server
- 1.6 Java
- 1.7 npm
- 1.8 NodeJS
- 1.9 Other Software
- 1.10 Browsers
- 2 Contact
- 3 Funding
- 4 Discussion
1 Required Software Versions
The following software versions are required/supported for ILIAS Release 9.
- ILIAS 9 will support PHP 8.1 and 8.2.
- The support for PHP 7.4 and PHP 8.0 will be dropped!
- With ILIAS 9 developers can use PHP 8.0 AND PHP 8.1 features: https://stitcher.io/blog/new-in-php-8 / https://stitcher.io/blog/new-in-php-81.
- The Named Arguments feature MUST NOT be used in the ILIAS core code base.
- The mixed type and Union Types SHOULD NOT be used. There might be reasonable exceptions for particular patterns (e.g. when emulating `Collections`) or if the PHP core defines such types in base classes or interfaces and methods in derived classes or implementations have to adopt this type.
- The object type (which has been introduced in previous PHP versions) MUST NOT be used for new code and SHOULD be removed where already used in existing code.
- never-Types should be used to mark code that already never returns, explicitly or implicitly (e.g. by calling the close() method of the `HTTP` service). New code which terminates a script and never returns MUST NOT be introduced.
- PHP Roadmap: https://www.php.net/supported-versions.php
1.1 PHP
Links for Developers
- PHP 8.1 and PHP 8.2 Backward Incompatible Changes:
- Outlook PHP > 8.2:
- What is deprecated in PHP 8.1 (see: https://www.php.net/manual/en/migration81.deprecated.php), and PHP 8.2 (see: https://www.php.net/manual/en/migration82.deprecated.php), will cause errors in PHP > 8.2!
- Please have a look at usages of the `Serializable` interface (e.g. GlobalScreen, IRSS, BackgroundTasks).
- Please also check return types and type hints of classes implementig the `IteratorAggregate`, `Iterator` and `ArrayAccess` interfaces.
- Please check ${} string interpolations, e.g. "Hello ${world}"; and "Hello ${(world)}";
- Dynamic properties are not supported anymore (this does not affect __set() and __get())
- Such DEPRECATED issues MUST be fixed in ILIAS 9
- What is deprecated in PHP 8.1 (see: https://www.php.net/manual/en/migration81.deprecated.php), and PHP 8.2 (see: https://www.php.net/manual/en/migration82.deprecated.php), will cause errors in PHP > 8.2!
1.2 PHPUnit
- 10.x (Roadmap: https://phpunit.de/supported-versions.html)
1.3 Composer
- Composer 2
1.4 DBMS
- MySQL (We RECOMMEND to use MariaDB)
- MariaDB: 10.3, 10.4, 10.5, 10.6
- MySQL: 8.0
1.5 HTTP Server
- nginx:
- Supported: 1.12.x - 1.18.x
- Recommended: 1.18.x
- Apache >= 2.4.x
1.6 Java
- JAVA 8 when using ilServer.jar
- JAVA 11 when installing Maven (see related feature request Using Maven to manage dependencies)
1.7 npm
To be specified ...
1.8 NodeJS
- Supported: 20 (LTS), 21
- Recommended: 20 (LTS)
1.9 Other Software
- Ghostscript:
- Supported/recommended: 9.51
- MathJax (optional):
- Support:2.7 and ≧ 3.2, recommended: 2.7
- MathJax3 still does not include all features of MathJax 2 . You can use Mathjax 3 in a new ILIAS 9 installation if you know it well. When you upgrade to ILIAS 9 with existing LaTeX content, please stay with MathJax 2.
- ImageMagick (optional):
- Support/Recommended: 6.9.x / 6.9.11-60 Q16
- Only needed for Portfolio, LTI & T&A (Matching/Ordering questions and thumbnails)
1.10 Browsers
- We recommend contemporary browsers (supporting ES6, CSS3, HTML5).
2 Contact
- Author of the Request: Jansen, Michael [mjansen] on behalf of the ILIAS e.V. and the Technical Board ( tb [at] lists [dot] ilias [dot] de)
3 Funding
Currently no indication that funding will be needed.
- If you are a maintainer and see a need for funding, please adress the Technical Board.
- If you are a user/decision maker and interested in a particular software or software version being supported, please contact the Technical Board as well.
4 Discussion
MJ 21 SEP, 2022, on behalf of the ILIAS e.V. Technical Board: Due to the change of the ILIAS 9 release schedule, the Technical Board decided that ILIAS 9 will support PHP 8.1 and PHP 8.2. The support for PHP 8.0 will be dropped. This allows our developers to write modern and sustainable code and to stay current with the accelerated release policy of the PHP project.
We are aware that changing PHP versions at such a pace is a new and exciting development and imposing challenges for many developers (and administrators), but in order to keep the code of ILIAS in a state, where it does not silently degrade, we see no other option but following the lead of the programming language.
MJ 15 FEB, 2023: The PHPUnit version has been updated to 10.x
MJ 08 MAR, 2023: npm has been added as dependency
Kunkel, Matthias [mkunkel], 26 JUN 2023: Removed information about zip, unzip and ImageMagick because this software is no longer needed for ILIAS 9.user], 04 SEP 2023: Wi
Klees, Richard [rklees], 04 SEP 2023: AFAIK we would need to remove wkhtmltopdf here, right?
Kruse, Fabian [Fabian], 18.10.2023: For testing purposes, I kindly ask to specify which browser versions will be supported by ILIAS 9 at least for for Firefox, Chrome and Safari.
Bogen, Christian [bogen] 2024-08-02: “npm – To be specified ...”
Last edited: 20. Aug 2024, 18:00, Wolf, Fabian [fwolf]