Feature Wiki

Information about planned and released features

Tabs

Custom Metadata: Array handling

1 Initial Problem

In the context of creating courses from the campus manamgent system via CampusConnect we are dealing with a number (meta)data points that come in the form of arrays (and should remain managable and espially searchable/“filterable” with regard to the Category for Huge Amount of Data)—and right now cannot be sensibly mapped to existing (custom) metadata fields. While single and multiple choice fields exist, they have to be pre-filled. Not a good option for eg. potentially hundreds of degree programms, additions to which will implicit and not communicated to the ILIAS admins (or, another example, for an ever-changing “legion” of courses lecturers).

Example:

{
"lectureID": "xxxxx"
,"title": "Analyse und Optimierung industrieller Energiesysteme"
,"organisationalUnits": [{ "id" : "xxx", "title" : "Energiewirtschaft und Rationelle Energieanwendung" }]
,"number": "xxxxxxxxxxx"
,"term": "Sommer 2018"
,"termID": "199"
,"lectureType": "Seminar"
,"hoursPerWeek": "2"
, "degreeProgrammes": [
{ "title": "Energietechnik" }
,{ "title": "Verfahrenstechnik" }
,{ "title": "Maschinenbau" }
,{ "title": "Erneuerbare Energien" }
,{ "title": "Bauingenieurwesen" }
,{ "title": "Mechanical Engineering / Maschinenbau" }
,{ "title": "Nachhaltige Elektrische Energieversorgung" }
,{ "title": "Elektrotechnik und Informationstechnik" }
,{ "title": "Umweltschutztechnik" }
,{ "title": "Technische Kybernetik" }
,{ "title": "Fahrzeug- und Motorentechnik" }
,{ "title": "Technisch orientierte Betriebswirtschaftslehre" }
,{ "title": "Technologiemanagement" }
,{ "title": "Mechatronik" }
]
,"groupScenario": 0
}

Mapping something like this (ie. the degreeProgrammes in the above example) comma-separated into a text filed does not seem like a good idea, either, especially with regard to using that metadata field als filter criterium in the/a Category for Huge Amount of Data.

2 Conceptual Summary

We propose a (custom) metadata filed that can hold arrays—and can be dynamically filled via CampusConnect. Ideally this would also work with “array groups”, ie. arrays of eg. first and last name fields (compare Custom Metadata: Grouping metadata fields (tuple)).

3 User Interface Modifications

3.1 List of Affected Views

Tbd. with the help of the maintainer.

3.2 User Interface Details

{For each of these views please list all user interface elements that should be modified, added or removed. Please provide the textual appearance of the UI elements and their interactive behaviour.}

3.3 New User Interface Concepts

{If the proposal introduces any completely new user interface elements, you might consult UI Kitchen Sink in order to find the necessary information to propose new UI-Concepts. Note that any maintainer might gladly assist you with this.}

4 Technical Information

{The maintainer has to provide necessary technical information, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues.}

5 Contact

  • Author of the Request: Bogen, Christian [bogen]
  • Maintainer: {Please add your name before applying for an initial workshop or a Jour Fixe meeting.}
  • Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}

6 Funding

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

7 Discussion

8 Implementation

{The maintainer has to give a description of the final implementation and add screenshots if possible.}

Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

Approval

Approved at {date} by {user}.

Last edited: 27. Apr 2018, 10:49, Bogen, Christian [bogen]