Feature Wiki

Information about planned and released features

Tabs

Revision of Access to Timings Settings of Objects

Request related to Integration of Preconditions in Settings Tab

1 Initial Problem

  1. Different positions: Settings of timings (part of availability) do not have a streamlined position:
    • In some object types these settings are only a part of the forms in the settings tab.
    • In some object types, the setting of timings are only called upon via the actions menu in the ListGUI In the repository - via "Availability".
    • In some object types, the setting is located in both places. 
  2. Little known reference behavior: If an object can be linked (verknüpfen) then all parts of each reference's settings tab will govern all references - if the title is changed in one reference then all references will change titles. This does NOT apply to timings via Action: The timings setting governs only the actual reference where the settings are made and not other references of the object. This is arcane knowledge, supposedly very few people know this. 
  3. Different labels: In case the availability is present in the form and in the actions, these setting "correspond": Filling in the settings in the one place will fill out the setting in the other place. However the settings in the two places are not labeled consistently. 
    • In the form the setting is labeled "Period" in courses and chats, "Limited Availability Period" in polls or surveys. If set, it will be displayed in the ListGUI as "Availability". Date input is labled "Start" and "End". 
    • In the underworld called upon via the actions menu in the ListGUI, the setting is labled "Temporarily Available" and has the date input "Start Time" and "Finish Time". 

Availability-section in Form in first Settings-subtab
ListGUI
Clicking "Availability"-Action opened via Action-Menu in List GUI opens underworld

2 Conceptual Summary

The general concept of "Timings" won't be changed with this feature request. "Timings" will always be related to a reference of an object but not to the object itself. But access to the settings for Timings will be improved to make the feature easier to use and better to understand.

Advantage of reference-related settings: A glossary shall be offered in three courses. All three courses have the same topic and course schedule but start one month after the other. The glossary should always be available in the third week of the course. Because Timings is a reference-related setting it allows to define the temporal availability for all three references differently. There is no need to copy the glossary or to look for a period of time where the glossary is offered to all three courses at the same time. Same for any new linked reference of the glossary. If I link a glossary with timings, the new reference (in the new context) has no timings set.

Access from manage screen

To make it easier to understand that timings is a reference-related setting within a specific context of presenting content, we want move the access to the Timings settings from the Actions menu (action "Availability") within the ListGUI of the parent container to the Manage screen of this container and give it an easily recognisable button "Set Timings" in the multi action row. This is done for the container objects Category, Course, Group and Folder (where this is already possible). The action "Availability" is removed from the Actions dropdown (provided that the removal of the precondition setting is accepted, too).

Modal for Timings settings

After selecting one or several objects and clicking on "Set Timings", ILIAS opens a modal of type "Interruptive Item" including a form, like example 2 "Show form in modal" of Type "Roundtrip Modal".

The modal consists of the following elements:
(Headline) Timings
(List of selected objects - only title)

  • [Object 1]
  • [Object 2]
  •   …
  •  [Object n]
(Form)
Accessible temporarily [ ☑︎ | ] (default unchecked)
(if checked) ↓
   »   From [dd.mm.yyyy hh:mm]
   »   Until [dd.mm.yyyy hh:mm]
   »   Visible also outside defined period [ ☑︎ | ] (default unchecked)

Timings settings for start and end time as well as for visibility are transferred to all selected items when submitting the form. After the modal has been closed and the page is reloaded, the information about timings is presented in the list entries of the selected items within the ListGUI.

In case, one or more selected items have already timings settings …

  1. … and the settings are identical, these settings are shown in the modal and can be modified (or timings can be deactivated).
  2. … but the settings are different, …
    • … ILIAS shows an info box below the headline saying "You have selected items with different timings settings. Overwrite existing settings below or cancel action to keep existing timings settings."
    • … and the form is presented without settings ("Accessible for a defined period of time" is unchecked).

In case, the checkbox for temporal access to the item is checked but no date and time is entered (neither for start nor end), ILIAS is prompting an error box under the headline saying "Please enter at least a start or end date for the temporal access."

This part of the feature was postponed with the JourFixe decision on the implementation in ILIAS 9. It will be proposed again at a later date with an extended specification.

Timings setting within object

Authors/admins should get an easy overview on the availability settings of an object. Besides object-related settings like online|offline this includes also reference-related settings like timings. Therefore, Timings should always appear in the section "Availability" of the object's settings. Objects that do not yet have a section "Availability" within their settings will get such a section. "Availability" is always the second form section after "[Object Type] Settings" (including Title & Description).

The section "Availability" contains

  • "Online [ ☑︎ ]" (if available for the object),
  • "Accessible temporarily" (Values are show-only and not editable in this form.)
    • If timings settings exist, ILIAS shows:  "From [dd.mm.yyyy hh:mm] until [dd.mm.yyyy hh:mm]" | "From [dd.mm.yyyy hh:mm]" | "Until [dd.mm.yyyy hh:mm]"
    • If no timings settings exist, ILIAS shows: "No limitation is set."
    • Visibility is indicated by labels "Only visible within period" | "Also visible outside period"
  • Shy button with "» Edit Timings" that opens modal (see above)

The modal triggered from the Settings of an object contains the same form as described above. Additionally, it shows an info box with the hint that these setting only affects the reference here (maybe we could show this only if a second reference exists).

"Availability" (aka "Timings") is streamlined: 

  • Position: This functionality is part of the Form "Settings of Object" in the first sub-tab of the Settings-tab, only. The Action "Availability" in the List GUI is to be abandonned.
  • Reference behavior: Users can deceide whether the availability setting should apply to this object only or it should also be applied to all references of this object. Please check the mock-ups for the changes in the form. 
  • Labels: The label of the checkbox in the form should be "Temporarily Available". Date Input should be labled "Start" and "End". The checkbox in the form should be labled "Always visible". Please note: An object can be set "offline" and "always visible", users can then see an offline object. 
The above changes are to be made to the object types below.

Exceptions are
  • the Link-objects which do inherit the setting from the object they link-to.
  • Webfeed, Study Programme and Item Group: These objetcs do not have availability setting. This is ok, userr will have a hard time identifying these objects as the reason of un-availability and thus they are exempt from having "Availability".

Object

Availability-section in
Form in first Settings-subtab

Timings via ListGUI-
Action 'Availability'

Poll

correct position

-

Blog

-

 « « « should move

Booking Tool

-

 « « « should move

Chat

correct position

abandon action

File

-

 « « « should move

Data Collection

-

 « « « should move

Forum

-

 « « « should move

Glossary

-

 « « « should move

Group

-

 « « « should move

Group Link

- (inherits from group)

- (inherits from group)

Individual Assessment

-

 « « « should move

Content Page

-

 « « « should move

Category

-

 « « « should move

Category Link

- (inherits from category)

- (inherits from category)

Course

correct position

abandon action

Course Link

- (inherits from course)

- (inherits from course)

Learning Module HTML

-

 « « « should move

Learning Module ILIAS

-

 « « « should move

Learning Module Scorm

-

 « « « should move

Object

Availability-section in
Form in first Settings-subtab

Timings via ListGUI-
Action 'Availability'

Learing Sequence

correct position

abandon action

Bibliography

-

 « « « should move

Mediacast

-

 « « « should move

Media pool

-

 « « « should move

Folder

-

 « « « should move

Portfolio Template

correct position

abandon action

Session

-

 « « « should move

Test

correct position

abandon action

Question Pool Test

-

 « « « should move

Exercises

correct position

abandon action

Survey

correct position

abandon action

Question Pool Survey

-

 « « « should move

Weblink Collection

-

 « « « should move

Weblink

-

 « « « should move

Wiki

-

 « « « should move

xAPI

-

 « « « should move

Object

Availability-section in
Form in first Settings-subtab

Timings via ListGUI-
Action 'Availability'

3 User Interface Modifications

3.1 List of Affected Views

The following objects get a new button "Set Timings" within the toolbar of the "Manage" view:

  • Category » Content » Manage
  • Course » Content » Manage
  • Group » Content » Manage
  • Folder » Content » Manage

This part of the feature was postponed with the JourFixe decision on the implementation in ILIAS 9. It will be proposed again at a later date with an extended specification.

Modification of all Settings screens for all repository objects (incl. introduction of "Availability" section):

  • {object type} » Settings

Objects that do not have an "Availability" section at the moment are listed in the data table below.

The option "Availability" in the ListGUI-Actions is renamed to "Preconditions" for all objects.

✓  Poll

✓  Category / Category Link (inherits from source)

✓  Portfolio Template

✕  Blog

✓  Course / Course Link (inherits from source)

✕  Session

✓  Booking Tool

✕  LTI

✓  Test

✓  Chat

✕  Learning Module HTML

✕  Question Pool Test

✕  File

✓  Learning Module ILIAS

✓  Exercises

✕  Data Collection

✓  Learning Module Scorm

✓  Survey

✓  Forum

✓  Learning Sequence

✕  Question Pool Survey

✓  Glossary

✓  Bibliography

✕  Weblink Collection

✓  Group / Group Link (inherits from source)

✓  Mediacast

✕  Weblink

✓  Individual Assessment

✓  Media pool

✕  Wiki

✓  Content Page

✕  Folder

✕  xAPI

3.2 User Interface Details

Manage Screen

Manage screen of parent container with option to "Set Timings" of (multiple) selected objects

Modal for Timings Settings

If the modal is opened from the parent container by clicking "Set Timings" it looks like this:

Modal to set the timings of selected items

3.3 New User Interface Concepts

none

3.4 Accessibility Implications

No special accessibility aspects.

4 Technical Information

No special technical changes/introductions planned.

5 Privacy Information

No special privacy aspects.

6 Security Implications

No special security aspects.

7 Contact

8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

9 Discussion

Kunkel, Matthias [mkunkel], 02.02.2020: I fully support a streamlining of the availability 'service'. But IMHO it is not a good idea to abandon the option to set the availablity of a repository object in the ListGUI and allow it only in the settings tab of a selected item. On the contrary, we should improve this option and

  1. … give up the division of the different activities into separate tabs (a lot of users never discover the options in the other tabs, believe me!) .
  2. … include setting online / offline into it (one of the top actions that former Moodle users miss in ILIAS).
  3. … allow to tackle multiple objects via multi-select and make the same availability for all them (would be a vast improvement of usabilty for tutors).
  4. … move the entire interface from a 'full page' to a modal (reduces unnecessary database queries and gives a better UX).
It would a pleasure for me to present you my ideas in more detail in a face2face meeting.

Tödt, Alexandra [atoedt] 2020-02-26: on

  1. "Giving up the dividion of the activities in separate tabs": Would we then put a form (timings) and a table (preconstitions) in one screen? This is bad usability / forbidden.  We can clearly see this from the current implementation ;-) I would need inspiration by mock-ups to see a way forward in this. 
  2. "include online / offline setting" I see the beauty
  3. "Multi-select" I never needed this. 
  4. "Modal" I am not sure whether this is KS compliant, I quote: "Round-Trip modals SHOULD NOT be used to perform complex workflows."

2020-04-08: I dug up some Mock-Ups prepared by Matthias. I wonder if this could serve as a starting point

Meyer, Stefan [smeyer] 2020-04-24: I would not do this. Availability is related to the reference of an object and not an object related setting.
Abandoning this relation would be a fundamental change of behaviour and confuse a lot of users that work with linked objects. Structuring content by availability settings is a valid use case and I would prefer a solution which allows to change the objects at the place where the objects are presented.
If we add the availability settings to the object settings, people won't see that this setting is reference related while online/offline and others
are object related.

Tödt, Alexandra [atoedt] 2020-05-15: After discussing this feature with product manager and maintainer we have adopted their wishes and requirements in full.

Kunkel, Matthias [mkunkel], 31 JUL 2020 : Updated feature request according to final discussion with Oliver Samoila.

JourFixe, ILIAS [jourfixe], 17 AUG 2020 : We highly appreciate this suggestion and schedule the feature for ILIAS 7. We prefer to make the modal available from the Actions dropdown, too. Therefore, we would like to have a distinct "Timings" entry in the Actions dropdown (and make the existing "Availability" entry available for the preconditions - see extra FR).

Seiler, Yvonne [yvseiler], 19 FEB 2021: A small detail: In the modals mockups, the selected objects are always listed first, with the settings below them. In my opinion, it would be more helpful the other way round (the settings at the top, the list of objects at the bottom), as the list of selected objects can be very long and the options to be set would only be accessible by scrolling.

JourFixe, ILIAS [jourfixe], 22 FEB 2021 : We highly appreciate this suggestion and re-schedule the feature for ILIAS 8. We rename the current "Availability" action to "Preconditions" and introduce a distinct "Timings" entry in the Action menu - as already decided in 2020. Note: timings can have an open beginning or an open end as well as start and end date. A list of components that still need a section "Availability" will be added to the FR.

Samoila, Oliver [oliver.samoila], 02 FEB 2023 : As requested by the JourFixe, a list of components was provided showing which still need an Availability section in the Setting. See Chapter 3.1 List of Affected Views. In addition, chapters on privacy and security have been added.

JourFixe, ILIAS [jourfixe], 06 FEB 2023 : While we fully agree with the suggested revision for access settings in parent containers, we prefer to revise the solutions within an object. Therefore, we schedule the feature only for the implementation within the 'Manage' screen of parent containers. The part about implementing these settings within objects should be taken out of the FR and tackled in a separate FR. Revision of access to timings of objects from parent container is scheduled for ILIAS 9.

10 Implementation

The parts accepted by the Jour Fix have been implemented with: https://github.com/ILIAS-eLearning/ILIAS/pull/6440

The Implementation is not done with a Interruptive Modal (it would not be the right modal in this context), but with a Roundtrip Modal. The option to set availability periods is kept in the Action-Menu for the time being.

Shows the current manage screen of ILIAS-Containers with a button to "Edit Availability Period" and two new actions "Edit Availability Period" and "Preconditions" in the Action-Menu of an object.
Edit Availability Period in Action-Menu and as Button in Toolbar
Shows the new modal to edit availability periods showing the affected objects first and then a form containing a checkbox "Limited Availability Period" and three subinputs labeled "start", "end" and "Visibility". The form can be saved or canceled.
Modal to Edit Availability Periods

Test Cases

Test cases completed at 23 OCT 2023 by Kergomard, Stephan [skergomard]

  • C63555 : Edit the Availability Period on Single Object
  • C63556 : Edit the Availability Period on Multiple Objects

Approval

Approved at 2023-10-23 by Fischer, Yvonne [yvonne.fischer] & Samoila, Oliver [oliver.samoila].

Last edited: 25. Oct 2023, 07:43, Samoila, Oliver [oliver.samoila]