Feature Wiki

Information about planned and released features

Tabs

Expose LOM keywords in HTML header

This request is part of the project Improving perception of ILIAS content from outside and the parent request SEO for ILIAS.

1 Initial Problem

In the past, LOM keywords were written in the HTML-Header (meta keyword). Since ILIAS 6, the block 'mh_meta_item' does not exist anymore and the feature was removed (https://mantis.ilias.de/view.php?id=26864). This reduces the visibility of ILIAS content in the WWW and it's identification by search engines.

2 Conceptual Summary

  • Extend GlobalScreenService to be able to ouput meta keywords in the HTML header.
  • Pass LOM keywords from the current repository to the Global Screen Service for output as meta keywords.
  • special characters (like quotes and commas) need to be stripped or encoded - in order to not break the HTML syntax

2.1 Example

This example course specifies 3 LOM keywords as shown in the screenshot

Any page of that course (i.e. all tabs and subtabs) should produce the following meta-tag in the HTML header. Note that meta keywords are comma separated:

<meta name="keywords" content="HTML, CSS, JavaScript">

3 User Interface Modifications

3.1 List of Affected Views

  • All views of objects with LOM metadata

3.2 User Interface Details

The change is invisible to the user

3.3 New User Interface Concepts

-

3.4 Accessibility Implications

-

4 Technical Information

From the technical point of view, there are adjustments in three places:

  • GlobalScreen service: In the scope `ILIAS\GlobalScreen\Scope\Layout\MetaContent` a new sub-scope "MetaData" is added. This works similarly to the rest of the sub-areas (CSS, ...) and receives KEY/VALUE pairs for metadata.
  • UI-Component Page: The page needs a new withAdditionalMetaData(string $key, string $value):Page. These are then inserted into the head area of the HTML page during rendering.
  • Service MetaData: New LayoutProvider that offers these metadata via GlobalScreen if metadata of an object is available.

5 Privacy

By implementing the feature, metadata in the form of content (e.g. keywords) is displayed openly depending on the ILIAS configuration. This means that personal data is not affected, unless such data is explicitly entered. Only content-related data is displayed with this feature, not personal data such as the authors.

6 Security

There is no additional security impact to consider. The values entered in the output fields are sanitized, e.g. to prevent Stored XSS.

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], 23 SEP 2021: Great suggestion. Highly appreciated. But should we reduce it only on keywords? Is it a huge effort to extend it to other metadata as well? I think of copyright information when available and language (of content).

JourFixe, ILIAS [jourfixe], 04 OCT 2021: We highly appreciate this suggestion and schedule the feature for ILIAS 8. We would like to support language and licences with ILIAS 8 as well. And please complete the sections Privacy and Security to finalise the feature request.

10 Implementation

GlobalScreen-Service
New section addMetaDatum in MetaContent, documented here: https://github.com/ILIAS-eLearning/ILIAS/pull/4048/files#diff-7b9c08aac24ecfa955433a603f696336856d02cd78a4a21dba06da2efbd11ab2

UI-Page
Two new Methods:

public function withAdditionalMetaDatum(string $key, string $value) : Standard;
public function getMetaData() : array;


MetaData
A new Class which exposes the LOM-Keywords, Language and Copyright-Info if available.

Additionally, the Feature has been implemented as Bugfix in ILIAS 6 and 7.
 
 

Test Cases

Test cases completed at {date} by {user}

  • C49671 : Ausgabe in HTML prüfen

Approval

Approved at Kiegel, Colin [kiegel] by 2022-03-30.

Last edited: 12. Apr 2022, 16:00, Kiegel, Colin [kiegel]