Feature Wiki

Information about planned and released features

Tabs

Setup - Introduce CLI-Setup

1 Initial Problem

There is a lot of value hidden in the setup that would be uncaged by having a setup that could be completely automated. A completely automated setup will have benefits for testing, whether manual or automated, will simplify the work of developers, old and new, and will also simplify the work of hosting providers when setting up and maintaining their ILIAS instances.

2 Conceptual Summary

A new command line interface (CLI) based setup will be available alongside the current web-based setup. It will allow to setup ILIAS-installations based on a configuration file and parameters to a command-line binary. It will also support updating installations. It will not support multi-clients or populating installations from other installations.

3 User Interface Modifications

3.1 List of Affected Views

-

3.2 User Interface Details

-

3.3 New User Interface Concepts

-

4 Technical Information

The config file will be a json that basically contains the stuff we currently input via the GUI, in a form like this:

{
     "database" : {
         "type" : "innodb",
         "host" : "localhost",
         "database" : "xxxxxx",
         "user" : "xxxxxx",
         "password" : "xxxxx",
         "create_database" : true
     }
}

The command on the CLI will be called as `php setup/cli.php install my.json`. It will be implemented as a symfony/console-app that comes with the attached bells and whistles, like a friendly and colorful output. This app could also become an entry-point for other command-line-worthy functions, e.g. reloading the control-structure.

5 Contact

  • Author of the Request: Richard Klees
  • Maintainer: Richard Klees
  • Implementation of the feature is done by: Richard Klees, Nils Haagen

6 Funding

If you are interest in funding this feature, please add your name and institution to this list.

7 Discussion

JourFixe, ILIAS [jourfixe], 23 SEP 2019 : We highly appreciate this suggestion and schedule the feature for 6. Please add an example for such a config file to setup ILIAS. It will help us to understand the feature better.

Tesche, Uwe [utesche], 04 MAY 2020 : The client.ini.php contains a parameter namend expire in section [session]. This parameter isn't considered by the CLI-driven setup so far, right?
(btw.: the GUI-setup doesn't consider it as well... )

8 Implementation

A detailed explanation of the implementation as of 2019-11-27 can be found in the README.md. The most current explanation of the setup can be found in the most recent README.md

Test Cases

Test cases completed at {date} by {user}

  • C31979 : Installation mit minimaler Konfiguration
  • C31980 : Installation mit maximaler Konfiguration
  • C31981 : Update einer bestehenden Installation
  • C31982 : Statische Artefakt regenerieren

Approval

Approved at 2019-11-27 by Baumgartner, Robin [rbaumgartner].

Last edited: 4. May 2020, 15:48, Tesche, Uwe [utesche]