Feature Wiki
Tabs
UI Kitchen Sink
Page Overview
[Hide]1 General
Coordinator: Amstutz, Timon [amstutz], Universität Bern, Klees, Richard [rklees]
Summary
The Kitchen Sink (KS) describes the UI-Elements used in ILIAS. Since ILIAS 5.3 the status of the Kitchen Sink can be directly consulted through the openly available documentation of the UI-Elements in the latest ILIAS Version:
- Kitchen Sink Documentation of ILIAS 5.3: KS Documentation
If possible use the KS-Taxonomy of the KS when writing Feature Requests or Bug Reports. Even better, directly link to the entries.
Contribution
A complete documentation of how to contribute to the KS (e.g. adding a new element or changing an existing one) can be found in the corresponding readme.
If you feel overhelmed by this description and need help, do not hesitate to contact the corresponding maintainer of your project or the KS coordinators (see above).
Motivation
The UI-Kitchen-Sink Poject has been initiated due to main issues in the current UI of ILIAS:
- Disparate UI diminishes learnability of the system and the user experience
- Outdated libraries used for some elements, missing or outdated guidelines are used
- UI-Components are barely tested
Goals
The main goal of this project is to have a centralized UI Service serving as home for new UI specific implementations and target place to move all existing ones.
The main goal of the UI-Kitchen-Sink is therefore to establish a tool and workflow to document, demonstrate, test and use UI components used in ILIAS by
- Building the foundation and structure along with guidelines for a centralized UI Service serving as home for new UI-specific implementations
- Moving existing UI-Implementations into this new central service.
- Creating a relevant resource for UI development and a place where it is easily found and consulted
- Documenting the status of the implementation of UI-Components
- Agree upon rules
- Include UI considerations into Jour Fixe on regular basis
- Fix UI elements that do not adhere to rules
- Prepare JS guidelines
2 Projects
The following projects are planned or have been realised for this component:
NEW Projects
- …
Projects On-Hold
Completed Projects
3 Suggested Features
Suggesting Specific UI Elements
Note that KS-Entries are suggested as pull requests. You find all currently KS-related pull requests in the ILIAS repo in git: Open KS-PRs.
A list of all pull requests (open, closed and merged) related to the KS can be accessed here: All KS-PRs.
In the following list you can add a request for a new feature or pick-up an already suggested feature about that should be decided again. The lists after show existing suggestions and scheduled features of this component.
suggested for 11
- …
suggested for 10
- Improve USability of Container Links
- Info Section with Info Item
- Introducing View Control Selection
- Introduction of a new Manage screens
- KS Personal Item
- KS-Entry Deck of Cards Selector
- Rearrange Actions of toolbars in which hamburgers eat all entries
- Revamping Footer with Link-Groups
- Reveal feature for password in Course and Group
- Slate content should always be displayed in mobile view
Already Suggested
- Identicon Generator for Object Lead Images
- Introducing an Object Bar
- KS Internal Link Select Input
- KS Listing Panels with Selection
- KS-Entry: Filter Bar
- KS-Entry: Filter Items
- KS-Entry: Message Box
- KS-Entry: Object Picker Radio
- KS-Entry: Vertical Timeline
- KS: Checklist
- KS: Outlined Icon
- KS: Presentation Table for Plugin Administration
- KS: Presentation Table in Search
- KS: Shy Drop Downs
- KS: Standard Alert
- KS: Sticky Panel
- KS: Typography
- Laundry List ILIAS 5.4
- Make « Add to Favourites » an AJAX Call
- New Table GUI
- Presentation of Items with preconditions
- Progress bar
- Removing Legacy-UI » Toolbar » |Label| + |Input| + |Submit|
- Revision of Less Variables - other
- Revision of Less Variables for Typographical Elements
- Show availability and preconditions in modal
- Show more for Deck of Card
- Show more for ListingPanel
- Template and Organisation of KS-Inventory
- Transfer Repository to KS Tree
- UI Footer: Remove version information
Scheduled and Implemented
- Appointment Modal - Access to other materials
- Bulletin presentation for Survey Results
- Centralizing UI-Components
- Extend System Styles
- Improved presentation of learning objective status
- KS-Entry: Scale Bar
- KS: Disabled Icon
- KS: Integration in Layout and Styles
- Move Full Definitions Presentation to UI Framework
- Page Layout Revision (Desktop)
- Set Containers to Deck of Card Listing
- Streamlining Blocks as Panels
- Templates for Sub Styles
4 History
In the beginning of the KS-Project we proposed KS-Entries as FR. With the Centralizing UI-Components Project we changed to PRs. The now depracated FR can be found here:
UI - Kitchen - Sink (deprecated)
Accepted:
- KS-Entry: Overlay
- KS-Entry: Modal (see accepted entries)
- KS-Entry: Popover
- KS-Entry: Dropdown
- KS-Entry: Toast
- KS-Entry: Tooltip (Coming Soon)
- KS-Entry: Generic Tooltip (Coming Soon)
- KS-Entry: Help Tooltip (Coming Soon)
- KS-Entry: Instructional Overlay
- KS-Entry: Cards
- KS-Entry Deck of Cards
- KS-Entry: Toolbar
Those entries have been proposed but did not find acceptence by the JF:
The following todos have been completed:
- Generate an accepted Template: Template and Organisation of KS-Inventory
- Initiate the 'Centralizing UI-Components' Project by generating FR a for it: Centralizing UI-Components. (amstutz)
- Write FW article for adopting the Kitchesink in "Layout and Styles" in ILIAS Administration panel: KS: Integration in Layout and Styles. (amstutz)
- Generate a Taxonomy of UI-Elements and generate entries for it (see image bellow). This has been done by invastigating ILIAS and collect and order ILIAS UI-Components systematically. See: Pipeline
Entries of the KS can have the following states:
- To be revised: The entry is still being worked on. Most of them are listed in the Pipeline Document.
- Proposed: The entry has been revisited and is proposed to the Jour Fixe, but has not yet been decided upon. To enter this state, create a pull request against the ILIAS trunk containing your proposed component and take it to the Jour Fixe. You need to provide a (mostly) complete definition of the component but an implementation is not required at this point. You will have better chances if you also bring some visual representation of your new component, you may use the ILIAS edge branch for that.
- Accepted: The entry has been accepted by the JF. This, as always, might need some iterations on the component.
- Implemented: The entry has been implemented and is ready to use in the current trunk version of ILIAS. The following image gives an overview of all currently collected entries along with their according states:
Child nodes have a is A relationship to their parents. Meaning a Default Button is A Button which is A Trigger Element. Please be aware that some categorization are still discussable. Also some hard to place item will always remain. E.g. the Rating Popover is placed in the Overlay class which are labaled as Container Collection. Obviously a Rating Popover could also be categorized as Input Collection. However we gave the nature Overlay here a higher priority than the nature Input.
5 Redundant, Outdated and Rejected Feature Requests
Requests that are outdated or redundant (already implemented in other requests)
Rejected Feature Requests
Note that most of those "rejected features" have been replaced by a PR due to the change in the process of proposing new KS-Entries.
Last edited: 15. Aug 2024, 13:45, Gruber, Ann-Christin [acgruber]