Feature Wiki
Tabs
Customizable Link-Groups in Footer
Page Overview
[Hide]- 1 Initial Problem
- 2 Conceptual Summary
- 3 User Interface Modifications
- 4 Technical Information
- 5 Privacy
- 6 Security
- 7 Contact
- 8 Funding
- 9 Discussion
- 10 Implementation
- 11 Variant A: Separate Screen with Promt Workflow
- 12 Variant B: Async Workflow using Modal / Prompt
- 13 Variant C: Async Form with Modal (no Language Selection possible)
1 Initial Problem
Together with feature Revamping Footer with Link-Groups, we would like to introduce the possibility to design the footer in the ILIAS administration analogous to the MainMenu. On the one hand, the existing entries - provided by core components - can be re-sorted and moved, but also own link groups and links can be created.
2 Conceptual Summary
For the configuration, a new menu item is introduced in the administration:
- Administration > Layout and Navigation > Footer
This page contains two subtabs:
- Groups
- Entries
Each of these views contains a table (UI\Table\Data), which lists existing and created entries or link groups. The columns to be displayed are analogous to the main menu configuration.
A button can be used to create a group or an entry.
The form for a group contains
- UI\Input\Field\Text: Default title of the group (corresponds to system language)
- UI\Input\Field\Checkbox: Active
The form for an entry contains
- UI\Input\Field\Text: default title of the entry (corresponds to system language)
- UI\Input\Field\Checkbox: Active
- UI\Input\Field\Text: URL
- UI\Input\Field\Checkbox: External link (new tab will open)
Entries and groups can be edited, translated and deleted.
3 User Interface Modifications
3.1 List of Affected Views
- New View in Administration, see above
3.2 User Interface Details
Table View Groups
Add a group
Entries of a group
Add an entry
3.3 New User Interface Concepts
3.4 Accessibility Implications
In this feature, only existing UI components are used, and the accessibility is derived from them.
4 Technical Information
The service delivers the custom entries and groups via the provider collector mechanism proposed in the feature request Revamping Footer with Link-Groups. The service also provides a configuration for the global screen service to activate and translate core entries.
5 Privacy
This feature does not collect, store or process any new user-related data. It still applies: PRIVACY.md. Für the new Service "Footer" a new PRIVACY.md ill be written, but the Service does not store any user related data.
6 Security
The implementation of this feature does not create any new attack vectors.
7 Contact
- Author of the Request: Schmid, Fabian [fschmid]
- Maintainer: Schmid, Fabian [fschmid]
- Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}
8 Funding
If you are interest in funding this feature, please add your name and institution to this list.
9 Discussion
JourFixe, ILIAS [jourfixe], 24 JUL 2023 : We highly appreciate this suggestion and accept the feature request for ILIAS 9. With this feature it will not be possible to place images in the footer. This could be done with the specific tpl file of the upcoming UI Footer component.
JourFixe, ILIAS [jourfixe], 30 SEP 2024: We highly appreciate this suggestion and re-schedule the feature for ILIAS 10.
JourFixe, ILIAS [jourfixe], 11 NOV 2024: We discussed the different options of Dev Issue 1 (see below in chap. 10). We prefer option C (no language selection possible). It makes only sense to translate labels for languages that are activated as possible user languages in an ILIAS installation. Labels in Swahili will never be presented as Swahili is not supported by ILIAS yet.
- In addition, all labels for core functions that come from the language files should not be possible to translate. That means, only custom groups and custom links can be translated.
- The label in the default language that is entered when creating the link or group should already be presented in the translation input form. It is still to decide if the labels of other languages than the default one are already added to the form or if the form is empty. Decision will be prepared in UI Clinic.
Suggestion for Dev Issue 2 is accepted.
10 Implementation
The feature has been implemented as described above, there are some changes in actions while using new UI-Components like `Prompt`.
The comments made during the acceptance were resolved except for one, and some are still being answered.
Development Issue 1:
However, one option has not yet been fully implemented because the feature request for it was not precise enough: the translation of items. Translations are implemented everywhere in ILIAS as legacy tables and legacy forms, and these views usually look the same. However, we cannot use legacy UI components for this new feature. Therefore, I propose the following options, which
- will either only be accepted for this feature
- could also be used for other features that use translations
- will not be accepted at all.
11 Variant A: Separate Screen with Promt Workflow
Advantages:
- Known Pattern with "Sub-Screen"
- Usage of new Promt
- Possibility to select languages
Disadvantages:
- More Clicks (due to Subscreen)
12 Variant B: Async Workflow using Modal / Prompt
Advantages:
- Heavy usage of new Promt and new components
- No Subscreen, less Clicks
- Possibility to select languages
Disadvantages:
- Dialog in Dialog (Antipattern)
13 Variant C: Async Form with Modal (no Language Selection possible)
Advantages:
- Usage of Async-Command in UI Data table with RoundtripModal
- Less CLicks
Disadvantages:
- No Possibility to select Langauges ro Translate, all activated langauges should be displayed
Development Issue 2:
It is currently not possible for the existing core entries “Terms of Service” and “Data Protection” to be moved to the “Legal Information” link group. Although the UI component Footer allows buttons with modals to be added, these are always rendered in a separate section per se.
We therefore propose an adjustment to the footer interface (UI component) that allows buttons with modals to be added as part of a link group as well
Test Cases
Test cases completed at 24/10/2024 by Lorenz, Katharina [klorenz]
- C76985 : Footer zurücksetzen
- C76974: Gruppe hinzufügen
- C76975: Gruppe (de-)aktivieren
- C76976: Sortierung ändern
- C76978: Gruppe löschen
- C76979: Eintrag hinzufügen
- C76980: Eintrag (de-)aktivieren
- C76981: Sortierung ändern
- C76983: Eintrag löschen
- C76984: Eintrag verschieben
Privacy
Information in privacy.md of component: updated on {date} by {user} | no change required
Approval
Approved at 24/10/2024 by Seibt, Alina [alina.seibt].
The following issues were found and are still being fixed:
- die Sprachvariable im Hauptmenü und Breadcrumb wird nicht korrekt dargestellt (-obj_gsfo-)
- das Icon für die neue Footer-Seite wird nicht angezeigt
- wieso wird nicht analog zur Seite "Main Menu" mit Subtabs gearbeitet? Bzw andersrum gefragt: wird die Seite Main Menu, wenn sie zur KS überführt wird ebenso aussehen, dass die Einträge NUR über Aktionen aufrufbar sind? (Stichwort Stringenz)
- man kann "offizielle" Links wie die Legal Notices nicht löschen, was ja korrekt ist. Dennoch habe ich innerhalb einer Gruppe die Option "Delete", wenn ich auf Aktionen bspw. hinter Legal Notice klicke. Er sagt dann "Deleted" in grün; der Eintrag bleibt aber bestehen. Die Aktion im Aktionenmenü sollte nicht angezeigt werden; vlt. sollte auch der Text oben so etwas sagen wie "Kann nicht gelöscht werden, Sie können den Eintrag aber deaktivieren", falls man über die Bulkaction gelöscht hat
- bearbeite/erstelle ich einen fehlerhaften Eintrag (kein vollständiger Link) und speichere, lande ich NICHT auf der Seite wo ich war, sondern das Modal, in dem ich gerade eingetippt habe, wird als neue Seite geladen - Ich bekomme keine Fehlermeldung, dass das Speichern/Anlegen nicht funktioniert hat; die Änderungen werden nicht übernommen. Das führt bspw. auch dazu, dass ich systemgegebene Einträge wie Legal Notice nicht im Modal aktualiseren kann (Titel oder obs im neuen Fenster geöffnet wird), da dort kein Link eingetragen ist, sondern eine 1
- generell stelle ich mir die Frage, ob das Eingeben von Links ohne https zwingend verboten werden sollte? ILIAS-interne Links könnte ich ja auch mit ./goto abkürzen; das kann ich hier aber nicht
- Siehe 2 Punkte zuvor: nach dem Speichern fehlerhafter Einträge befinde ich mich also auf einer neuen Seite zum Bearbeiten des EINTRAGS. Hier kann ich auf "< Back" klicken, lande dann aber auf der Übersichtsseite aller Gruppen; nicht auf der Seite der Gruppe, in der der Eintrag ist --> vlt. ist dieser Punkt irrelevant, da ich ja eigentlich sowieso nicht auf der Seite zum Eintrag bearbeiten sein sollte, da es eigentlich nur ein Modal sein sollte
- ich hatte für einen eigenen Eintrag "open in new tab" deaktiviert. Dennoch öffnete sich ein neuer Tab - scheinbar funktioniert das im selben Tab öffnen nur bei den systemgegebenen Einträgen
- mir werden bei den Buttons Add Group und Reset Footer die Sprachvariablen von Tooltips angezeigt - kommen die noch oder gibts die schon? (gsfo_button_add bspw)
- der Button Reset Footer hat keine Sicherheitsnachfrage - einmal aus Versehen klicken und woops - stundenlange Arbeit ist dahin ;)
- im FR steht, dass die Einträge übersetzt werden können - die Funktion gibt es gerade (noch) nicht
Last edited: 11. Nov 2024, 16:16, Kunkel, Matthias [mkunkel]