Feature Wiki

Information about planned and released features

Tabs

Study Programme: Automatically add courses from category

1 Initial Problem

Study Programmes are supposed to represent and support educational programmes within an organisation that might span some extended period and many courses, as well as many learners and administrators. To make the ILIAS-object Study Programme work properly in supporting that scenario, it is required to add all Courses in the correct locations within the Programme over some, potentially long, period of time. This will have to be done by potentially many administrators, that might have more or less insight into the inner structure of the study programme. If we have scenarios where courses are created on the fly or very often, the work to add Courses to the Study Programme will become tedious and error prone. If courses are only created seldomly, administrators might forget to add them to according study programmes.

2 Conceptual Summary

To ease the creation of Course Links within Study Programmes, the Study Programme should gain the possibility to automatically add Links to Courses. To do this, it should be possible to define one or many Categories at the settings of a Study Programme. Whenever a Course is added beneath one of the defined Categories, the Study Programme should automatically add a Link to the new Course. Whenever a Course is moved out of the Category, the link should be removed. The setting shall only be available for Study Programmes that already contain a Course Link or do not contain anything. If the setting is used, the Study Programme should behave as if it contains a Course Link, i.e. do not accept Study Programmes as children. The automatism should be effective for Study Programmes in the "Draft" and "Active"-States, but not for Study Programmes in the "Outdated"-State.

During the work on this concept, we explored the idea to automatically add new Course Links whenever a linked Course is copied and is contained in a Study Programme. We would then add a Link to the new Course in the same Study Programme. Although this might work in some or even many scenarios (in fact there are plugins that do exactly this), we do not think that this is a good general solution for the core. The problem here is, that the "copy"-action is very weak semantically and we do not in fact know what a user intends when copying a Course. Does she want to create a copy of that exact course to represent a second execution of the same course? Does she just want to create a similar course that is not considered "equal" to the original course? Does she just want to spare some work on settings when creating a completely new course? These situations can not be distinguished when the very technical "copy"-action is used. We would rather need some notion of "template" or "instantiating a template" for this use case, that might technically be mostly "copy" but communicates a different intent. Until we have something like this we think that the solution proposed here will be sufficient for a lot of scenarios and have a smaller risk to produce unintended consequences.

3 User Interface Modifications

3.1 List of Affected Views

  • The "Settings"-Tab should get a new subtab "Content Automation".
  • New Screen for "Content Automation".

3.2 User Interface Details

  • The user may create new entries in the table by using "Add Category".
    • When clicking the Button she can pick a category in a repository picker in a model. The picker shows all categories visible to the user in a tree.
    • After choosing a category, the page is reload and the category appears in the table.
  • The rows in the table shows the categories that have been added, the user that did the last modification of the entry and the date when this modification has been done. The username is linked to the profile of the user, if available. The username and date are added to allow for requests to the original editor in scenarios where Study Programmes are used for a long time.
  • The table has a multiselect with according checkboxes to allow for the deletion of multiple entries.
  • The entries in the table are ordered by the "Titles"-column. The column shows the title including the complete path to the category.
  • Every row has an Action-menu that allows to delete or edit the row. Edit show the modal to pick (i.e. change here) a category.
  • We chose a table and the possibility to later edit the rows, because we expect that additional settings for this automation will arise.

3.3 New User Interface Concepts

  • none

4 Technical Information

  • none

5 Contact

  • Author of the Request: Richard Klees
  • Maintainer: Richard Klees
  • Implementation of the feature is done by: CaT ILIAS Team

6 Funding

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

7 Discussion

Kunkel, Matthias [mkunkel], 08 APR 2019: Is a course been added to the study programme regardsless of its online status? Or does it need to be 'online' to appear in the study programme automatically?

Kiegel, Colin [kiegel] 2019-04-11

  • According to the proposal, the automatism seems to be "event"-driven and is supposed to be disabled for Study Programmes in the "Outdated"-State.
If a study programme is resurrected from "outdated"-state the automatism might have missed some "events". I think the automatism should then repair any of these inconsistencies upon resurrection.

Klees, Richard [rklees], 2019-04-23:

Hi Colin, hi Matthias,

thanks for your questions!

> Is a course been added to the study programme regardsless of its online status? Or does it need to be 'online' to appear in the study programme automatically?

I would not care about the online-status of a course but add it to the programme regardless. For one, the course does not "appear" in the study programme in some sense, users are expected to find and see the course by other means. Also, in my experience the "online"-status is part of some lifecycle of a course that would make it hard for the study programme to derive the correct action when the status is switched. Are we supposed to add a course once it goes online? Are we supposed to remove it when it goes offline again?

> If a study programme is resurrected from "outdated"-state the automatism might have missed some "events". I think the automatism should then repair any of these inconsistencies upon resurrection.

I would not do this, although I see that inconsistencies may arise. These inconsistencies are similar to those  that will arise in the individual plans of members that were added when the programme was outdated, so the behaviour is consistent in this regard: The study programme cares about the state at the moment something happened and does not attempt to fix stuff retroactively. I also do (intentionally so!) not propose to add all courses that are already contained in a given category when it is added to the programme but only when new courses are added in the category. So the study programme and a connected category are not expected to contain the same courses anyway. Last but not least, I feel that "resurrecting" a study programme by switching from "outdated" to "active" is a strange move anyway. Do you know use-cases where people do this?

Best regards!

JourFixe, ILIAS [jourfixe], 24 APR 2019 : We highly appreciate this suggestion and schedule the feature for 6.0.

8 Implementation

The feature is implemented as described.

Test Cases

Test cases completed at 2019-11-28 by and Klees, Richard [rklees]

  • C31780 : Einstellung Inhaltautomatisierung aufrufen
  • C31786 : Aufbau Untermenü Inhaltautomatisierung
  • C31787 : Sortierung Untermenü Inhaltautomatisierung
  • C31788 : Inhalt Spalte - Titel
  • C31789 : Inhalt Spalte - Zuletzt bearbeitet von
  • C31790 : Inhalt Spalte - Zuletzt bearbeitet
  • C31781 : Kategorie hinzufügen
  • C31782 : Kategorie bearbeiten
  • C31783 : Kategorie löschen über Aktionsmenü
  • C31784 : Kategorie löschen
  • C31785 : mehrere Kategorien löschen
  • C32006 : Einen Kurs in der Kategorie hinzufügen und entfernen
  • C32008 : Inhaltautomatisierung steht für Knoten im Baum nicht zur Verfügung

Approval

Approved at 19.11.2019 by Vejda, Stefan [stv].

Last edited: 4. Dec 2019, 09:28, Klees, Richard [rklees]