Feature Wiki
Tabs
(Project) Removing of Legacy-UIComponents-Service and Table
Page Overview
[Hide]This is a project page that bundles several feature wiki pages which belong to a larger development activity for the ILIAS component User Interface.
1 Aim of Project
The Legacy-UIComponents-Service and the Legacy-Table-Service have been lingering and causing problems for user experience, accessibility, updatability, and consistency for a long while now. They also cause a lot of work as many changes in the UI need to be backported there. To avoid this state going on forever the whole UIComponents- and Table-Services are marked as deprecated and will be removed as quickly as possible, ideally with ILIAS 10. The parts of the UIComponents already marked as deprecated on January 1st 2022 will be removed with ILIAS 9.
General objectives
- Remove Legacy-UIComponents as well as the ilTableGUI and ilTable2GUI Implementations.
- Quality and Compliance Improvements
- better Maintainability
- avoid or reduce unmaintained Code
- Reduction of redundant Code
- Reduce the amount of HTML templates and CSS classes used in them
Relevant documentation of the deprecations: GitHub-Commit (see also chapter four on this site)
2 Timeline
Phase 1 | Inventory, project framework and funding |
Phase 2 | Implementation in ILIAS 9 |
Phase 3 | Preparation of the replacement of the services for ILIAS 10 |
Phase 4 | Project Progress Report and replacement of the services for ILIAS 11 |
Coding Completed ILIAS 9 | October 27, 2023 |
Coding Completed ILIAS 10 | October 25, 2024 |
Coding Completed ILIAS 11 | October 27, 2025 |
3 Involved Maintainers and Stakeholders
- Responsibility for the Project Content:
- Technical Board: Kergomard, Stephan [skergomard], Jansen, Michael [mjansen], Klees, Richard [rklees], Schmid, Fabian [fschmid] & Amstutz, Timon [amstutz]
- Product Manager: Kunkel, Matthias [mkunkel]
- Project Management and Fundraising: Detemple, Konstanze [kdetemple] & Samoila, Oliver [oliver.samoila]
- Maintainer to all Components and Services:
4 Details of Deprecations
4.1 List of Deprecations in ILIAS 9
Deprecation of Legacy-UIComponents-Service | |
---|---|
class ilAdvancedSelectionListGUI implements ilToolbarItem | |
class ilButton extends ilButtonBase | |
class ilImageLinkButton extends ilLinkButton | |
class ilJsLinkButton extends ilButton | |
class ilLinkButton extends ilButtonBase | |
class ilSubmitButton extends ilButtonBase | |
Character Selector »» "Abandon Special Character Selector" |
Remark: There remain a limited number of exceptions that are relevant to usages of other classes that are defined as 'Deprecated' for ILIAS 10.
4.2 List of Deprecations in ILIAS 10
Deprecation of Legacy-UIComponents-Service | |
---|---|
class ilGlyphGUI | |
class ilGroupedListGUI | |
class ilLightboxGUI | |
class ilModalGUI | |
class ilOverlayGUI | |
class ilPanelGUI | |
class ilProgressBar | |
class ilSplitButtonGUI (including [1] ) | |
class ilTooltipGUI |
4.3 List of Deprecations in ILIAS 11
Deprecation of Legacy-UIComponents-Service | |
---|---|
abstract class ilButtonBase implements ilToolbarItem | |
class ilCheckboxListOverlayGUI [2] | |
class ilConfirmationGUI & ilConfirmationTableGUI | |
class ilNestedList [6] | |
class ilSyntaxHighlighter | |
class ilTextHighlighterGUI | |
class ilToolbarGUI | |
class ilTabsGUI |
Deprecation of Services/Table | |
---|---|
class TableGUIRequest | |
class ilTable2GUI extends ilTableGUI | |
class ilTableGUI | |
class ilTableTemplatesStorage | |
interface ilTableFilterItem |
4.4 Exemplary usage of the classes marked as deprecated
Deprecation of Services/Table
Usages:
- almost in every component
class class ilConfirmationGUI is often used to confirm deletion processes
Usages:
- almost in every component
- Move or Merge Threads in Forum
- User Deletion next to withdrawl Terms of Service
- …
- and some more.
class ilExplorer is an often used Tree View
Usages:
- Excercise
- Forum
- Glossary
- Media Pool
- Question Pools
- Page Editor
- and some more.
ilGlyphGUI is used for various Glyphs
Usages:
- '+', '-', '⌃' and '⌄' in Test & Assessment (and other forms)
- Filter in Who-is-online
- Search-Glyoh in Online Help
- Drag-Glyph in Page Editor
- and some more.
class ilGroupedListGUI is used for some more complex sets
Usages:
- "Add-New-Item" Menu (Services Object)
- Test
- Help
- Employee Talk
class ilLightboxGUI is used for presentation of media
Usages:
- Audio Files in a News on Dashboard
class ilModalGUI is used for:
- Long Menu Question in Test & Assessment
- Exercise
- Draft History in Forum
- Notes
- Timeline in Courses : Media in a News of Timeline
class ilNestedList is used for:
- Wiki Navigation
- Evaluation of Survey
- Print View in ILIAS Learning Module
class ilOverlayGUI is used for:
- DataCollection
- Test & Assessment : Definition of randomized Questions and Taxonomy
- Lucene-Search-GUI
- saving individual views on learning porgress
class ilPanelGUI is used for varius informations and actions
Usages:
- Statistics in Wiki
- Users in Repository Chat
- Excercise
- Survey
- Personal Skills
- User Gallary
class ilProgressBar is used for … … …
Usages:
- Copying a course
- Relevance of Search Results
- Results of a Poll
- Progress of answering a survey
- Wiki Exports
5 Compensation patterns to Legacy-UI
- Removing Legacy-UI » Toolbar » ‘Label‘ + ‘Legacy Dropdown‘ + ‘Submit‘ (in ILIAS 9)
- Removing Legacy-UI » Toolbar » ‘Label‘ + ‘Legacy Dropdown‘ + ‘Submit‘ (in ILIAS 10)
- Compensation of Micro forms in Toolbar » |Label| + |Input| + |Legacy Dropdown| + |Submit|
- Compensation of Micro forms in Toolbar » |Label| + |Legacy Dropdown| + |Label| + |Legacy Dropdown| + |Submit|
- Compensation of Micro forms in Toolbar » |Label| + |Input| + |Submit|
- Removing Legacy-UI » ilConfirmationGUI » Interruptive Modal for Confirmation
- …
6 Fundraising & Contributions
We are in the process of fundraising and rely on strong contribution from the whole community
Please contact Detemple, Konstanze [kdetemple] & Samoila, Oliver [oliver.samoila] to get involved.
Many thanks to all the institutions that have already contributed to the project.
Committed contribution
- ILIAS open source e-Learning e.V.
- Katholische Hochschule Nordrhein-Westfalen
- Universität Bern
- Sächsische Informatik Dienste
- Fachhochschule Aachen
- Technische Hochschule Ostwestfalen-Lippe
- Fachhochschule Vorarlberg
- Katholische Hochschule Freiburg
- Pädagogische Hochschule Zürich
- Philipps-Universität Marburg
- Karlsruher Institut für Technologie (KIT)
- Fachhochschule Münster
- Deutsche Lebens-Rettungs-Gesellschaft e.V.
- Duale Hochschule Baden-Württemberg
- Universität Hohenheim
- Universität Basel
- Hochschule Bremen
- Hochschule Bonn-Rhein-Sieg
- Hochschule Bielefeld
- Universität Freiburg
- Universität zu Köln
- Hochschule Luzern
- Fachhochschule Dortmund
7 General Discussion
Please discuss specific questions of feature requests on the related feature wiki pages. This discussion section is only for a general discussion of the project and its realisation.
JourFixe, ILIAS [jourfixe], 27 NOV 2023: Oliver presented the planned steps for the project for ILIAS 10. No additional comments.
The TB considers the "Removal of Legacy UIComponents Service and Table" project to be one of the key projects for ILIAS 10 and of top priority. We expect all maintainers to actively participate in this project so that the goals set for ILIAS 10 can be achieved in full.
The project is pursuing important strategic goals, in particular "Reliable Learning Management" and "Usable for Everyone", as outlined in our "Strategy of the Technical Board - July 2023" → see here.
Statement UX/UI/A11y-Experts, 6 DEC 2023
The following goals can be achieved and help users to operate the system: Same looks the same and works the same, simplify and/or standardize workflows, simplified SCSS customizations and better code base that can be maintained by more people. We therefore welcome this Big Development Project and would give this a prioritization level 1.
08 DEC 2023: The Product Manager considers the removal of LegacyUI from ILIAS as a major project with great significance for accessibility, user-friendliness and reusability of components. Even though we might not be able to remove all the old UI components in the large code base of ILIAS, we should do a big step forward in this project with ILIAS 10. All ILIAS-using institutions and companies are cordially invited to support the realisation of this big project through appropriate funding.
JourFixe, ILIAS [jourfixe], 25 NOV 2024: Oliver gave a short overview on the plans of Removing LUI for 11. Thanks a lot for managing this projects over the years.
Kunkel, Matthias [mkunkel], 27 NOV 2024: For me as product manager of ILIAS, this is probably the most important project for ILIAS 11. Especially because bug fixing of the legacy UI elements in ILIAS is becoming increasingly difficult due to a lack of responsibilities, a rapid migration of all components to the UI Kitchen Sink is important for the use of ILIAS. I hope for broad support for this project from the entire community - not only but also with regard to the financing of the many UI refactorings.
Statement UX/UI/A11y-Experts, 05 DEC 2024
We still welcome this project and consider it very central to the development of ILIAS for the following reasons: As it leads to code reduction, standardisation and a much needed movement forward in bug fixing e.g. of accessibility bugs, the project is able to improve usability and accessibility.
Statement Privacy Clinic, 09 DEC 2024
From the perspective of the Privacy Clinic, we have carefully reviewed the project and found no issues or concerns that would warrant any objections. As such, we fully support the proposed project and have no reservations regarding its implementation.
Last edited: 9. Dec 2024, 11:20, Seidel, Elyesa [seidel]