Feature Wiki

Information about planned and released features

Tabs

Create HTML Media Objects from HTML Snippets

1 Initial Problem

To create an HTML media object, a user currently needs to upload an HTML file (or even more files like CSS and JS). However in many scenarios users start from a small "embed code" provided e.g. by an external video server or similar external sources. The user now has to add a full HTML document around that snippet, store it locally and upload it to ILIAS. These steps should be done automatically by ILIAS.

2 Conceptual Summary

This feature requests assumes that a general permission to "Edit HTML Media Objects" is already existing, see Permission Control for Media Objects.

If the user has the permission "Edit HTML Media Objects", the creation dialog for media objects is extended with an additional option "Create HTML Object from Snippet". This offers a textarea input. ILIAS will create a full HTML document and save this as "index.html" in the media object directory.

3 User Interface Modifications

3.1 List of Affected Views

  • Media Object Creation Dialog

3.2 User Interface Details

Media Object Creation Dialog

  • New Option "Create HTML Object from Snippet"
  • Containing a form with a textarea "HTML Snippet"

After hitting save, ILIAS will create a full HTML document in the background and save it as "index.html".

  • Creating a media object in the page editor.

3.3 New User Interface Concepts

No new user interface concepts.

3.4 Accessibility Implications

No accessibility implications.

4 Technical Information

No rechnical issues.

5 Privacy

Current state of Media Objects: https://github.com/ILIAS-eLearning/ILIAS/blob/trunk/Services/MediaObjects/PRIVACY.md

This feature will not include any privacy implications.

6 Security

The availability of this feature will be controlled by the "Edit HTML Media Objects" permission.

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], 13 NOV 2023: We had a longer discussion about the security problems of supporting HTML files wihtin ILIAS. For current status of handling HTML in media objects see Supported Formats for Media Objects. Therefore, we postpone the decision about this feature request. The TB will first discuss and decide upon a general handling of HTML files in ILIAS and if we still want to support this. Based on the TB decision we will decide on this request.

Killing, Alexander [alex], 20 Feb 2024: Any chances this statement will get published soon? We had one customer interested in funding for this, which now went with a plugin solution. Now we have similar request again, but currently I cannot make any proposals due to the missing strategy.

Kergomard, Stephan [skergomard], 12 MAR 2024: Alex asked us to post the email we sent on 5 MAR 2024 with our statement in here. As we wrote it in German we willl post it in German.

Lieber Alex

Vielen Dank, dass du das Thema nochmals auf die Agenda bringst.

Generell sind wir der Überzeugung, das solche riskanten Aktionen für Nutzer:innen nur dann zulässig sein können, wenn wir dahinter eine gewisse Tiefe an Verteidigungslinen haben ("defence in depth"). Wir sehen dabei Massnahmen, wie

  • Klare Rechtevergabe,
  • Sub-Domain-Isolation,
  • Auszeichnung der Einbindungsmechanismen,
  • Kuratierungs- und Quarantänemassnahmen,
  • Verwendung standardisierter Dateizugriffs und Ablagemechanismen (Stichwort IRSS),
  • und sicher noch viele mehr.

Somit dürfte es klar werden, dass die verschiedenen Stellen in ILIAS, wo das Hochladen von riskanten Inhalten möglich ist, nicht äquivalent sind: Das Einbinden eines Medienelements in eine ILIAS-Seite, wo sich die Nutzer:in beim Aufruf nicht klar sein kann, woher die Inhalte kommen, ist eine strukturell andere Situation als, das Öffnen eines ILIAS-Lernmoduls, was wiederum etwas anderes ist als der Aufruf von LTI-Inhalten. Die Situationen müssen einzeln angeschaut werden.

So wie wir aktuell beim Feature "HTML aus Medienpools einbinden" die Implementierung verstehen, sehen wie in diesem Sinne keine tiefe Absicherung des riskanten Features. Vielleicht übersehen wir etwas. Wir möchten dich daher bitten, die Transparenz mit einer detaillierten Sicherheitsanalyse zu erhöhen und ggf. weitere Verteidigungsmechanismen vorzuschlagen.

Wir verstehen, dass die langjährigen Gepflogenheiten von ILIAS bei er Einbindung von HTML durch Nutzer:innen wenig Sicherheitsvorkehrungen verlangt haben. Auch verstehen wir, dass einige Nutzer:innen sich eine Einbindung von HTML direkt in ILIAS wünschen. Im Sinne des ILIAS Manifests und unserer Strategie wollen wir die Standards hier aber erhöhen, um unseren Nutzer:innen eine gute Mischung aus Funktionalität und Sicherheit in ILIAS zu bieten. Wir bitten dabei um deine Unterstützung.

Sollte es Fragen geben melde dich gerne bei uns, ebenso, wenn wir das Problem gemeinsam diskutieren sollen.

Vielen Dank und Grüsse, 

10 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}

Privacy

Information in privacy.md of component: updated on {date} by {user} | no change required

Approval

Approved at {date} by {user}.

Last edited: 12. Mar 2024, 08:14, Kergomard, Stephan [skergomard]