Feature Wiki

Information about planned and released features

Tabs

Setup - Refurbish web based GUI

This is the attempt to find out if there is interest in the web based GUI of the setup that could be backed by funding. If this is not the case, we will fall back to Setup - Abandon web based GUI.

1 Initial Problem

The ILIAS Setup is an important but still underdeveloped component of ILIAS. When adopting the maintainership, Klees, Richard [rklees] proposed a plan on how the setup should be made more futureproof. The command line based setup is available with ILIAS 6. Hence, the future of the web based GUI for the setup can be reconsidered now. To have both options available, this entry proposes to refurbisch the web based GUI for the setup. If you need to perform the setup via the web based GUI and can't use the CLI setup, please get in contact with Klees, Richard [rklees]. The web based GUI for the setup will definitely require funding to be kept alive.

2 Conceptual Summary

The web based GUI for the setup is build to mirror the commands that are available on the CLI interface of the setup. Currently (2020-04-22), these commands are:

  • install will set an installation up
  • update will update an installation
  • build-artifacts recreates static assets of an installation
  • reload-control-structure rebuilds structure information of an installation
The general idea is to use standard UI-components for the setup and mirror the commands available on the CLI-Setup. Users will be able to log in via the master password of the installation. After the login, the Main Bar will present the available commands as entries. Upon clicking the commands, the options available for the command will be mirrored as a form input. Upon submission of the form, the command will be executed on the server and the output will be presented to the user. The web based GUI will  be build such that future commands of the CLI-Setup will be integrated just like the existing commands.

We will be looking for a generic and low maintenance approach to build the webbased setup and thus will be looking into how the very same data and definitions, that are used to implement the CLI, can be reused to create the GUI. This will have several implications:
  • There won't be any special pages or special arrangements for any of the commands.
  • Since the inputs will correspond to CLI arguments, they might be named weird or behave weird from a GUI perspective.
  • The webbased GUI will by no means be some magic wizard that guides through the installation process but instead just expose the capabilities of the CLI setup to the web.
We believe this to be the right choice whatsover. Installation by ILIAS is done very rarely compared to other tasks performed with and in the installation. If the setup is done so often that the webbased GUI becomes cumbersome, automation will be the preferred approach. Any wizard will only pay off the effort put into it when it is used often. If we want to help inexperienced users to install ILIAS it be a lot better use of our ressoures to do so via our installation guide.

3 User Interface Modifications

3.1 List of Affected Views

The setup and all sub-pages thereof.

3.2 User Interface Details

3.2.1 Login

3.2.2 After Login

This will use the Standard Panel to display the text.

3.2.3 Invocation of a Command

  1. The command uses the same information that the CLI setup uses.
  2. The arguments and options are the same as for the CLI setup. Not all currently available arguments and options are included in the mockup. Also, some of the options might have a cryptic name, which is just imported by the command line.

This will use the Standard Form Container with a custom "Save"-button. The UI component currently does not allow to set a custom text or button for save, which will be handed in as a separate PR to the UI framework.

3.2.4 Output of a Command

The result will look a little different to the mockup presented here. We will use a Standard Panel to display the detailed results of the invocation and a Message Box to indicate failure or success.

4 Technical Information

After this change the setup will depend on the UI-Framework and the transitive dependencies thereof.

5 Privacy Information

No personal data will be stored when this setup is implemented. However, the mere request and interaction with the web based setup will cause various log entries on the webserver for common server configurations, as it is the case for all other ILIAS pages and all web pages in general. These logs will most likely be usable to obtain personal information such as IPs and timestamps for interactions. This is not deemed to be a specific privacy challenge for the setup, but for a complete installation and thus discarded from consideration here.

6 Security Implications

This feature uses the end-point setup/setup.php that already exists currently. From this perspective, it does not introduce a new attack vector. Since the web based setup will be reimplemented completely, it is still advisable to thoroughly check that endpoint for installations that have special security requirements. The general security of the web based setup is expected to improve because after the change it will reuse common ILIAS components much more than it currently does. In most cases it still is advisable to restrict the access to the web based setup to known IP-ranges (e.g. of internal networks) or use other means to restrict access (e.g. HTTP-Auth).

This proposal implies that the access to the setup only requires the master password and user based access (with credentials of the installation) won't be possible anymore. From a security perspective it often is required to separate access to administrative interfaces from the access to user interfaces completely. From this perspective this change is a security improvement, because credentials from within the installation won't be usable for the setup anymore. This comes at the cost of loosing the possibility to attribute a change in the setup to someone, if the installation is managed by various people in the backend. This could be understood to have negative impact on the security, but since changes in the setup currently are not logged for audit anyway this seems to be acceptable.

7 Contact

8 Funding

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

9 Discussion

JourFixe, ILIAS [jourfixe], 25 MAY 2020 : We highly appreciate this suggestion and schedule the feature for ILIAS 7. In case we have no funding for this feature until July 31, 2020, we will remove this feature request from the list of features for ILIAS 7 and abandon the web based GUI as suggested in Setup - Abandon web based GUI. Anyone interested in funding this feature should get into contact with Richard.

Klees, Richard [rklees], 2020-06-08: Please note, that Include Plugins into composer autoloader would require to add `composer install` to the available commands to update the system for plugins.

JourFixe, ILIAS [jourfixe], 03 AUG 2020 : Until today, no one has declared interest in funding this feature for ILIAS 7. Therefore, we postpone this request to a later ILIAS version. The request to abandon Setup - Abandon web based GUI will be realised for ILIAS 7 instead.

10 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.

Last edited: 3. Aug 2020, 13:59, Kunkel, Matthias [mkunkel]