Feature Wiki

Information about planned and released features

Tabs

Abandon Manage System Styles

1 Reasons to Abandon Feature

In recent years, hosting an ILIAS application has become increasingly challenging due to evolving security requirements and heightened demands for hosting and deploying software. ILIAS, being a sophisticated learning management system (LMS), demands a robust infrastructure to ensure its smooth functioning and security integrity. Furthermore, keeping pace with the rapid advancements in technology adds another layer of complexity. ILIAS continually evolves with updates and feature enhancements, necessitating frequent software updates and system upgrades. 

Allowing CSS to be edited through a frontend GUI might seem like a convenient solution at first glance, offering a user-friendly way for non-technical users to customize the appearance of a website. However, this approach comes with several drawbacks that make it a less-than-ideal choice in many cases.

  1. Complexity and Maintainability: CSS files edited through a frontend GUI often result in some complexity on the backend to manage them. It becomes challenging to track down specific styles or identify conflicts between different rules, increasing the likelihood of errors and inconsistencies in the design.
  2. Lack of Version Control: Editing CSS directly through a frontend GUI often bypasses version control systems, making it challenging to track changes and collaborate effectively on the codebase. Without a centralized repository for managing revisions, it becomes difficult to roll back to previous versions or coordinate updates across multiple developers or teams.
  3. Security Risks: Allowing users to edit CSS through a frontend GUI opens up the possibility of security vulnerabilities, especially if proper validation and sanitization measures are not in place. 
  4. Limited Flexibility and Customization: Frontend GUIs for editing CSS typically offer a limited subset of styling options compared to traditional CSS files. This can restrict the ability of developers to implement complex layouts or achieve specific design requirements effectively. 

Overall, while a frontend GUI for editing CSS may offer convenience for non-technical users, it comes with significant trade-offs in terms of code quality, performance, security, and flexibility. In many cases, adopting a more disciplined approach to managing CSS through traditional stylesheets and established development workflows can lead to better long-term outcomes.

We always recommended to only use the option of managing system styles on testing envorionments. However, we know, that this recommendation was not always followed.

The most important reason however is, that the Institution of the current maintainer, is cutting down on contributions to the ILIAS core, due to feedback from the advisory council on the problematic role of the instititution due to the high involvement in the ILIAS Core development. The funding party is therefore no longer able to invest ressources in this specific feature.

2 Technical Information

The Documentation of the KS will not be affected by this change. The activation and deactivation of system styles will also not be affected by this change. It will also still be possible to activate system sub styles for a specific section of the ILIAS Installation. Lastly it will still be possible to re-assign users to specific styles.

However it will no longer be possible to:
- Add/Remove/Import as well as Edit System Styles and Substyles through the Frontend
- Changing Icon Colors through the frontend
- Changing Less Variables through the frontend

The respective GUI Classes will be removed. The System Styles Table and the respective tab will still be there. Note that exporting styles through GUI will also remain possible.

3 Contact

4 Funding

Removing the feature from the ILIAS code base might need funding. If you are interest in funding this request, please add your name and institution to this list.

  • University of Bern

5 Discussion

Use the following discussion section to express your objections against this request or your consent to get rid of this feature.

Zenzen, Enrico [ezenzen], 14 June 2024: I can totally understand why you want to abandon the following features:

- Edit System Styles and Substyles through the Frontend
- Changing Icon Colors through the frontend
- Changing Less Variables through the frontend

However, I do not understand why System Styles can no longer be exported or imported in future releases. Institutions that create their own system style, but do not host ILIAS themselves, must always update the system style via their service provider in case of updates or skin fixes. I would like to avoid this dependency.

Bauser, Nadine [nadine.bauser], 01.09.2024: In my opinion, there should also be a way to export and import system styles. This reduces dependencies.

Amstutz, Timon [amstutz], 10.09.2024: Importing system styles will not be possible via GUI anymore, without giving again write perms to php to the skins location. We should avoid this for the above listed reasons.

However, exporting system styles would be possible without much risks. Thx for the feedback, I will add this change. Note the importing an export would be possible, be directly putting the content of the export in the respective Customizing directory.

JourFixe, ILIAS [jourfixe], 16 SEP 2024 : We highly appreciate this suggestion and abandon the editing of system styles in the ILIAS UI with ILIAS 10. Export will be kept (incl. a new info message about successful download and impossibility to import it).

6 Implementation

Export feature has been kept, as decided. Note that the "Documentation" action was moved up and is now shown as subtab. Keeping this. in the actions was rednundant, since it was the same for all entries in the tables. See screenshot:

Removed Testcases The following testcases have been removed from Testrail or modified because the feature is no longer part of the ILIAS core.

  • 12870 : Add System Style manually
  • 12871 : Import System Style
  • 12872 : Copy System Style
  • 12873 : Call up the settings of your own system style
  • 12874 : Adapt ID and name
  • 12875 : Enable System Style (default)
  • 12876 : Activate System Style (Personal)
  • 12877 : Update LESS variables
  • 12881 : Reset LESS variables
  • 12882 : Editing by colour
  • 12873 : Editing by symbol
  • 12884 : Check preview of symbols
  • 12903 : Merge multiple colors
  • 12883 : Reset all colors
  • 12892 : Add substyle manually
  • 12893 : Set settings of the sub style
  • 12897 : Sub Style LESS Update variables
  • 12898 : Update Sub Style Symbols
  • 12891 : Delete System Style individually
  • 12924 : System Style delete multiple

The following have been changed:

  • 25152: UI Components in der Administration öffnen

Approval

Approved at 22.10.2024 by Seiler, Yvonne [yvseiler] .

Last edited: 26. Oct 2024, 09:11, Samoila, Oliver [oliver.samoila]