Feature Wiki
Tabs
Setup - Refurbish web based GUI
Page Overview
[Hide]- 1 Initial Problem
- 2 Conceptual Summary
- 3 User Interface Modifications
- 3.1 List of Affected Views
- 3.2 User Interface Details
- 3.2.1 Login
- 3.2.2 After Login
- 3.2.3 Invocation of a Command
- 3.2.4 Output of a Command
- 4 Technical Information
- 5 Privacy Information
- 6 Security Implications
- 7 Contact
- 8 Funding
- 9 Discussion
- 10 Implementation
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 upupdate
will update an installationbuild-artifacts
recreates static assets of an installationreload-control-structure
rebuilds structure information of an installation
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.
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
- The command uses the same information that the CLI setup uses.
- 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
- Author of the Request: Klees, Richard [rklees]
- Maintainer: Klees, Richard [rklees]
- Implementation of the feature is done by: CaT ILIAS Team
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]