Feature Wiki

Information about planned and released features

Tabs

IRSS: Resource-Collection User-Interface

1 Initial Problem

The IRSS allows the creation and management of so-called collections (compilation of several resources into one group). This feature is used wherever users can add several files to an "object", e.g. with ILIAS the instruction files of an exercise unit are transferred to a collection.

Up to now, these have used classes from the now deprecated service "Services/Filesystem". So that the components that are now migrating their file collections to the IRSS do not have to develop their own GUIs, the Storage Service should offer such GUIs.

2 Conceptual Summary

The new views are intended to offer various options that can be used by the components:

  • Views: View of a collection as a Deck of Cards or as a Presentation Table (if necessary also DataTable)
  • Sortings: A set of default sorts to display the collection (e.g. by size, title, creation date). The previous views also offered manual sorting; there is currently an issue with this (see below).
  • Upload new files
  • Delete or download existing files
  • Thumbnails in the Cards

There are two things that should be adjusted or fixed in the existing UI components:

  • Dropzones for files should be supplemented by a bulky variant that is displayed vertically larger.
  • The deck of cards, Data-Table and List of Items should be able to display view controls correctly.

3 User Interface Modifications

3.1 List of Affected Views

  • Existing views that were previously based on the ilFileSystemGUI. However, only those that migrate their components to the IRSS.

3.2 User Interface Details

We propose to use at least one of these implementations for the representation of resource collections. Currently, however, the only view that allows a correct presentation of ViewControls is the Presentation Table view. The only option would be to wrap the respective components in a panel.

Furthermore, the current drop zone is not meaningful enough to be used on the Standaalone page. We would therefore like to hear more about whether a "bulky" drop zone would be a suitable option.

All used UI components currently do not allow manual sorting and saving. Certain views used to have this option, so the question is how to deal with this further.

As List of Items

As Deck of Cards

As Presentation Table

As Data Table

3.3 New User Interface Concepts

No new User Interface Concepts are introduced by this feature.

3.4 Accessibility Implications

In this feature, only existing UI components are used, and the accessibility is derived from them.

4 Technical Information

For the user components can be delegated directly to a new ilResourceCollectionGUI via ilCtrl, this takes a configuration for the features and the view as well as a ResourceCollectionId

5 Privacy

This feature does not collect, store or process any new user-related data. It still applies: PRIVACY.md 

6 Security

This feature does not add any new attack vectors. 

7 Contact

8 Funding

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

9 Discussion

JourFixe, ILIAS [jourfixe], 26 JUN 2023 : We highly appreciate this suggestion and schedule the feature for ILIAS 9.

10 Implementation

The Resource-Collection GUI can be used by components like this:

  • Build a Link to ilResourceCollectionGUI
  • Implement the following case in your executeCmd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
case strtolower(ilResourceCollectionGUI::class):
$collection_id = // get collection ID
$collection = $this->irss->collection()->get($collection_id);
 
$write_permission = $this->access->checkAccess('write', '', $this->ref_id ?? -1);
$overview = new ilResourceCollectionGUI(
new Configuration(
$collection,
new xyStakeholder(),
$this->lng->txt('title_of_collection'),
Mode::DATA_TABLE,
100,
$write_permission,
$write_permission
)
);
 
$this->ctrl->forwardCommand($overview);
 
break;

Depending on Mode::XY, the presentation can look like this:

Test Cases

  • There are no specific Test Cases for this GUI. It is used in the Exercise for Instruction Files as an example

Privacy

Information in privacy.md of component:  no change required

Approval

Approved at 17.10.2023 by Schmid, Fabian [fschmid].

Last edited: 25. Oct 2023, 10:24, Lorenz, Katharina [klorenz]